From b2e4f1485df801a9e7f3812a66e4e7fc6c578980 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Mon, 3 Mar 2014 13:49:27 +0200 Subject: Enable querying shadow support from graphs Also some example tweaking. Change-Id: If69e9d3617afc37b88fed4fd0e02ae19f0af7f78 Reviewed-by: Mika Salmela --- .../doc/src/qtdatavisualization-qml-abstractdeclarative.qdoc | 6 ++++++ src/datavisualization/engine/abstract3dcontroller.cpp | 9 +++++++++ src/datavisualization/engine/abstract3dcontroller_p.h | 1 + src/datavisualization/engine/qabstract3dgraph.cpp | 9 +++++++++ src/datavisualization/engine/qabstract3dgraph.h | 1 + 5 files changed, 26 insertions(+) (limited to 'src/datavisualization') diff --git a/src/datavisualization/doc/src/qtdatavisualization-qml-abstractdeclarative.qdoc b/src/datavisualization/doc/src/qtdatavisualization-qml-abstractdeclarative.qdoc index 5b251768..891cc5c1 100644 --- a/src/datavisualization/doc/src/qtdatavisualization-qml-abstractdeclarative.qdoc +++ b/src/datavisualization/doc/src/qtdatavisualization-qml-abstractdeclarative.qdoc @@ -44,6 +44,12 @@ Shadow quality. */ +/*! + \qmlproperty bool AbstractGraph3D::shadowsSupported + This read-only property indicates if shadows are supported with the + current configuration or not. OpenGL ES2 configurations do not support shadows. + */ + /*! \qmlproperty Scene3D AbstractGraph3D::scene Read only Q3DScene that can be used to access e.g. camera object. diff --git a/src/datavisualization/engine/abstract3dcontroller.cpp b/src/datavisualization/engine/abstract3dcontroller.cpp index acb63f0a..ec18a850 100644 --- a/src/datavisualization/engine/abstract3dcontroller.cpp +++ b/src/datavisualization/engine/abstract3dcontroller.cpp @@ -730,6 +730,15 @@ QAbstract3DGraph::ShadowQuality Abstract3DController::shadowQuality() const return m_shadowQuality; } +bool Abstract3DController::shadowsSupported() const +{ +#if defined(QT_OPENGL_ES_2) + return false; +#else + return true; +#endif +} + bool Abstract3DController::isSlicingActive() const { return m_scene->isSlicingActive(); diff --git a/src/datavisualization/engine/abstract3dcontroller_p.h b/src/datavisualization/engine/abstract3dcontroller_p.h index 5bae17d6..06be450e 100644 --- a/src/datavisualization/engine/abstract3dcontroller_p.h +++ b/src/datavisualization/engine/abstract3dcontroller_p.h @@ -202,6 +202,7 @@ public: virtual void setShadowQuality(QAbstract3DGraph::ShadowQuality quality); virtual QAbstract3DGraph::ShadowQuality shadowQuality() const; + virtual bool shadowsSupported() const; bool isSlicingActive() const; void setSlicingActive(bool isSlicing); diff --git a/src/datavisualization/engine/qabstract3dgraph.cpp b/src/datavisualization/engine/qabstract3dgraph.cpp index cce2c235..bde5b585 100644 --- a/src/datavisualization/engine/qabstract3dgraph.cpp +++ b/src/datavisualization/engine/qabstract3dgraph.cpp @@ -330,6 +330,15 @@ QAbstract3DGraph::ShadowQuality QAbstract3DGraph::shadowQuality() const return d_ptr->m_visualController->shadowQuality(); } +/*! + * \return true if shadows are supported with the current configuration. + * OpenGL ES2 configurations do not support shadows. + */ +bool QAbstract3DGraph::shadowsSupported() const +{ + return d_ptr->m_visualController->shadowsSupported(); +} + /*! * \property QAbstract3DGraph::scene * diff --git a/src/datavisualization/engine/qabstract3dgraph.h b/src/datavisualization/engine/qabstract3dgraph.h index adf67912..f11bbd90 100644 --- a/src/datavisualization/engine/qabstract3dgraph.h +++ b/src/datavisualization/engine/qabstract3dgraph.h @@ -89,6 +89,7 @@ public: void setShadowQuality(ShadowQuality quality); ShadowQuality shadowQuality() const; + virtual bool shadowsSupported() const; Q3DScene *scene() const; -- cgit v1.2.3