summaryrefslogtreecommitdiffstats
path: root/src/datavis3d/engine/abstract3dcontroller_p.h
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@digia.com>2013-09-03 13:26:07 +0300
committerMiikka Heikkinen <miikka.heikkinen@digia.com>2013-09-03 14:06:03 +0300
commit58979c740aa4814692e6555840e2fe4d3913561b (patch)
treeb5b50b44011fa49788d84808c4d4e25db46599c4 /src/datavis3d/engine/abstract3dcontroller_p.h
parent5eedaa018b6a1b1527b523d3018ac026af29eb33 (diff)
Only render the scene when something changes.
This seems to improve frame rate, too. Task-number: QTRD-2179 Change-Id: Icb3ddc5ba651ce0982068bcf7ab09c67be183717 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Diffstat (limited to 'src/datavis3d/engine/abstract3dcontroller_p.h')
-rw-r--r--src/datavis3d/engine/abstract3dcontroller_p.h16
1 files changed, 5 insertions, 11 deletions
diff --git a/src/datavis3d/engine/abstract3dcontroller_p.h b/src/datavis3d/engine/abstract3dcontroller_p.h
index 81775f9d..5225c686 100644
--- a/src/datavis3d/engine/abstract3dcontroller_p.h
+++ b/src/datavis3d/engine/abstract3dcontroller_p.h
@@ -169,6 +169,8 @@ protected:
QAbstractDataProxy *m_data;
QList<QAbstractDataProxy *> m_dataProxies;
+ bool m_renderPending;
+
explicit Abstract3DController(QRect boundRect, QObject *parent = 0);
~Abstract3DController();
@@ -286,23 +288,15 @@ public slots:
void handleAxisLabelFormatChanged(const QString &format);
signals:
- void boundingRectChanged(QRect boundingRect);
- void sizeChanged(QRect boundingRect);
- void positionChanged(QRect boundingRect);
- void zoomLevelChanged(int zoomLevel);
- void themeChanged(Theme theme);
- void fontChanged(QFont font); // TODO should be handled via axis?? What about font for selection label?
void shadowQualityChanged(QDataVis::ShadowQuality quality);
- void labelTransparencyChanged(QDataVis::LabelTransparency transparency);
- void selectionModeChanged(QDataVis::SelectionMode mode);
- void backgroundEnabledChanged(bool enable);
- void gridEnabledChanged(bool enable); // TODO: Should be handled via axes?
- void meshFileNameChanged(QString fileName);
+
+ void needRender();
protected:
virtual QAbstractAxis *createDefaultAxis(QAbstractAxis::AxisOrientation orientation);
QValueAxis *createDefaultValueAxis();
QCategoryAxis *createDefaultCategoryAxis();
+ void emitNeedRender();
private:
void setAxisHelper(QAbstractAxis::AxisOrientation orientation, QAbstractAxis *axis,