From 1b5d9a30adc0c9ca4f7929c375db008830586516 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Thu, 3 Apr 2014 15:05:27 +0300 Subject: Introduce fps measurement via properties MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Task-number: QTRD-2134 Change-Id: I181ee6c784b998886c2292b7548e16ce75d86458 Reviewed-by: Tomi Korpipää --- src/datavisualizationqml2/abstractdeclarative.cpp | 20 ++++++++++++++++++++ src/datavisualizationqml2/abstractdeclarative_p.h | 8 ++++++++ .../datavisualizationqml2_plugin.cpp | 2 ++ 3 files changed, 30 insertions(+) (limited to 'src/datavisualizationqml2') diff --git a/src/datavisualizationqml2/abstractdeclarative.cpp b/src/datavisualizationqml2/abstractdeclarative.cpp index 65e7c6c3..881a7860 100644 --- a/src/datavisualizationqml2/abstractdeclarative.cpp +++ b/src/datavisualizationqml2/abstractdeclarative.cpp @@ -237,6 +237,11 @@ void AbstractDeclarative::setSharedController(Abstract3DController *controller) &AbstractDeclarative::handleAxisYChanged); QObject::connect(m_controller.data(), &Abstract3DController::axisZChanged, this, &AbstractDeclarative::handleAxisZChanged); + + QObject::connect(m_controller.data(), &Abstract3DController::measureFpsChanged, this, + &AbstractDeclarative::measureFpsChanged); + QObject::connect(m_controller.data(), &Abstract3DController::currentFpsChanged, this, + &AbstractDeclarative::currentFpsChanged); } void AbstractDeclarative::activateOpenGLContext(QQuickWindow *window) @@ -569,6 +574,21 @@ void AbstractDeclarative::checkWindowList(QQuickWindow *window) } } +void AbstractDeclarative::setMeasureFps(bool enable) +{ + m_controller->setMeasureFps(enable); +} + +bool AbstractDeclarative::measureFps() const +{ + return m_controller->measureFps(); +} + +qreal AbstractDeclarative::currentFps() const +{ + return m_controller->currentFps(); +} + void AbstractDeclarative::windowDestroyed(QObject *obj) { // Remove destroyed window from window lists diff --git a/src/datavisualizationqml2/abstractdeclarative_p.h b/src/datavisualizationqml2/abstractdeclarative_p.h index 87b108db..8ba86b11 100644 --- a/src/datavisualizationqml2/abstractdeclarative_p.h +++ b/src/datavisualizationqml2/abstractdeclarative_p.h @@ -66,6 +66,8 @@ class AbstractDeclarative : public QQuickItem Q_PROPERTY(QAbstract3DInputHandler* inputHandler READ inputHandler WRITE setInputHandler NOTIFY inputHandlerChanged) Q_PROPERTY(Q3DTheme* theme READ theme WRITE setTheme NOTIFY themeChanged) Q_PROPERTY(RenderingMode renderingMode READ renderingMode WRITE setRenderingMode NOTIFY renderingModeChanged) + Q_PROPERTY(bool measureFps READ measureFps WRITE setMeasureFps NOTIFY measureFpsChanged REVISION 1) + Q_PROPERTY(qreal currentFps READ currentFps NOTIFY currentFpsChanged REVISION 1) public: enum SelectionFlag { @@ -138,6 +140,10 @@ public: void checkWindowList(QQuickWindow *window); + void setMeasureFps(bool enable); + bool measureFps() const; + qreal currentFps() const; + public slots: virtual void handleAxisXChanged(QAbstract3DAxis *axis) = 0; virtual void handleAxisYChanged(QAbstract3DAxis *axis) = 0; @@ -167,6 +173,8 @@ signals: void inputHandlerChanged(QAbstract3DInputHandler *inputHandler); void themeChanged(Q3DTheme *theme); void renderingModeChanged(AbstractDeclarative::RenderingMode mode); + void measureFpsChanged(bool enabled); + void currentFpsChanged(qreal fps); private: QPointer m_controller; diff --git a/src/datavisualizationqml2/datavisualizationqml2_plugin.cpp b/src/datavisualizationqml2/datavisualizationqml2_plugin.cpp index a9b932b4..71c54265 100644 --- a/src/datavisualizationqml2/datavisualizationqml2_plugin.cpp +++ b/src/datavisualizationqml2/datavisualizationqml2_plugin.cpp @@ -90,6 +90,8 @@ void QtDataVisualizationQml2Plugin::registerTypes(const char *uri) qmlRegisterType(uri, 1, 1, "ValueAxis3D"); qmlRegisterUncreatableType(uri, 1, 1, "Abstract3DSeries", QLatin1String("Trying to create uncreatable: Abstract3DSeries.")); + qmlRegisterUncreatableType(uri, 1, 1, "AbstractGraph3D", + QLatin1String("Trying to create uncreatable: AbstractGraph3D.")); // New types qmlRegisterType(uri, 1, 1, "ValueAxis3DFormatter"); -- cgit v1.2.3