summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@digia.com>2014-01-09 14:02:34 +0200
committerMiikka Heikkinen <miikka.heikkinen@digia.com>2014-01-09 14:19:04 +0200
commit2a4cff24ce61a830f7a119f33cb94c4eff78772e (patch)
tree36edb625c5fa6119ebba786a9d9353053e3a4435
parent2203491ab2b639f3def805ea9cecbab1add32105 (diff)
Implement public utility function for AA setup
qDefaultSurfaceFormat() can be used to set up antialiasing for QML apps in just two lines: ... viewer.setFormat(QtDataVisualization::qDefaultSurfaceFormat()); Task-number: QTRD-2734 Change-Id: I3f7ba728cef6310d794256e1dc4c28cc33b2f9a3 Reviewed-by: Pasi Keränen <pasi.keranen@digia.com>
-rw-r--r--examples/qmlbars/main.cpp10
-rw-r--r--examples/qmlcustominput/main.cpp10
-rw-r--r--examples/qmlscatter/main.cpp10
-rw-r--r--examples/qmlsurface/main.cpp10
-rw-r--r--src/datavisualization/engine/qabstract3dgraph.cpp17
-rw-r--r--src/datavisualization/global/datavisualizationglobal_p.h2
-rw-r--r--src/datavisualization/global/qdatavisualizationglobal.h2
-rw-r--r--src/datavisualization/utils/qutils.h48
-rw-r--r--src/datavisualization/utils/utils.pri3
-rw-r--r--tests/qmlcamera/main.cpp10
-rw-r--r--tests/qmldynamicdata/main.cpp10
-rw-r--r--tests/qmlmultigraph/main.cpp10
12 files changed, 73 insertions, 69 deletions
diff --git a/examples/qmlbars/main.cpp b/examples/qmlbars/main.cpp
index 889e2fa4..dbf03aff 100644
--- a/examples/qmlbars/main.cpp
+++ b/examples/qmlbars/main.cpp
@@ -16,6 +16,7 @@
**
****************************************************************************/
+#include <QtDataVisualization/qutils.h>
#include <QtGui/QGuiApplication>
#include "qtquick2applicationviewer.h"
#ifdef Q_OS_ANDROID
@@ -30,15 +31,8 @@ int main(int argc, char *argv[])
QtQuick2ApplicationViewer viewer;
-#if !defined(QT_OPENGL_ES_2)
// Enable antialiasing
- QSurfaceFormat surfaceFormat;
- surfaceFormat.setDepthBufferSize(24);
- surfaceFormat.setSamples(8);
- surfaceFormat.setRenderableType(QSurfaceFormat::OpenGL);
- surfaceFormat.setSwapBehavior(QSurfaceFormat::DoubleBuffer);
- viewer.setFormat(surfaceFormat);
-#endif
+ viewer.setFormat(QtDataVisualization::qDefaultSurfaceFormat());
#ifdef Q_OS_ANDROID
viewer.addImportPath(QString::fromLatin1("assets:/qml"));
diff --git a/examples/qmlcustominput/main.cpp b/examples/qmlcustominput/main.cpp
index 8724e511..d4791861 100644
--- a/examples/qmlcustominput/main.cpp
+++ b/examples/qmlcustominput/main.cpp
@@ -16,6 +16,7 @@
**
****************************************************************************/
+#include <QtDataVisualization/qutils.h>
#include <QtGui/QGuiApplication>
#include "qtquick2applicationviewer.h"
#ifdef Q_OS_ANDROID
@@ -30,15 +31,8 @@ int main(int argc, char *argv[])
QtQuick2ApplicationViewer viewer;
-#if !defined(QT_OPENGL_ES_2)
// Enable antialiasing
- QSurfaceFormat surfaceFormat;
- surfaceFormat.setDepthBufferSize(24);
- surfaceFormat.setSamples(8);
- surfaceFormat.setRenderableType(QSurfaceFormat::OpenGL);
- surfaceFormat.setSwapBehavior(QSurfaceFormat::DoubleBuffer);
- viewer.setFormat(surfaceFormat);
-#endif
+ viewer.setFormat(QtDataVisualization::qDefaultSurfaceFormat());
#ifdef Q_OS_ANDROID
viewer.addImportPath(QString::fromLatin1("assets:/qml"));
diff --git a/examples/qmlscatter/main.cpp b/examples/qmlscatter/main.cpp
index 159612e9..2238a50e 100644
--- a/examples/qmlscatter/main.cpp
+++ b/examples/qmlscatter/main.cpp
@@ -16,6 +16,7 @@
**
****************************************************************************/
+#include <QtDataVisualization/qutils.h>
#include <QtGui/QGuiApplication>
#include "qtquick2applicationviewer.h"
#ifdef Q_OS_ANDROID
@@ -30,15 +31,8 @@ int main(int argc, char *argv[])
QtQuick2ApplicationViewer viewer;
-#if !defined(QT_OPENGL_ES_2)
// Enable antialiasing
- QSurfaceFormat surfaceFormat;
- surfaceFormat.setDepthBufferSize(24);
- surfaceFormat.setSamples(8);
- surfaceFormat.setRenderableType(QSurfaceFormat::OpenGL);
- surfaceFormat.setSwapBehavior(QSurfaceFormat::DoubleBuffer);
- viewer.setFormat(surfaceFormat);
-#endif
+ viewer.setFormat(QtDataVisualization::qDefaultSurfaceFormat());
#ifdef Q_OS_ANDROID
viewer.addImportPath(QString::fromLatin1("assets:/qml"));
diff --git a/examples/qmlsurface/main.cpp b/examples/qmlsurface/main.cpp
index 21c987b3..e9ad8bc5 100644
--- a/examples/qmlsurface/main.cpp
+++ b/examples/qmlsurface/main.cpp
@@ -16,6 +16,7 @@
**
****************************************************************************/
+#include <QtDataVisualization/qutils.h>
#include <QtGui/QGuiApplication>
#include "qtquick2applicationviewer.h"
@@ -30,15 +31,8 @@ int main(int argc, char *argv[])
QtQuick2ApplicationViewer viewer;
-#if !defined(QT_OPENGL_ES_2)
// Enable antialiasing
- QSurfaceFormat surfaceFormat;
- surfaceFormat.setDepthBufferSize(24);
- surfaceFormat.setSamples(8);
- surfaceFormat.setRenderableType(QSurfaceFormat::OpenGL);
- surfaceFormat.setSwapBehavior(QSurfaceFormat::DoubleBuffer);
- viewer.setFormat(surfaceFormat);
-#endif
+ viewer.setFormat(QtDataVisualization::qDefaultSurfaceFormat());
#ifdef Q_OS_ANDROID
viewer.addImportPath(QString::fromLatin1("assets:/qml"));
diff --git a/src/datavisualization/engine/qabstract3dgraph.cpp b/src/datavisualization/engine/qabstract3dgraph.cpp
index 3aada9cf..01974e54 100644
--- a/src/datavisualization/engine/qabstract3dgraph.cpp
+++ b/src/datavisualization/engine/qabstract3dgraph.cpp
@@ -21,6 +21,7 @@
#include "abstract3dcontroller_p.h"
#include "qabstract3dinputhandler_p.h"
#include "q3dscene_p.h"
+#include "qutils.h"
#include <QGuiApplication>
#include <QOpenGLContext>
@@ -65,19 +66,15 @@ QAbstract3DGraph::QAbstract3DGraph(QAbstract3DGraphPrivate *d, const QSurfaceFor
QSurfaceFormat surfaceFormat;
if (format) {
surfaceFormat = *format;
- } else {
- surfaceFormat.setDepthBufferSize(24);
+ // Make sure renderable type is correct
#if !defined(QT_OPENGL_ES_2)
- surfaceFormat.setSamples(8);
-#endif
- surfaceFormat.setSwapBehavior(QSurfaceFormat::DoubleBuffer);
- }
-
-#if !defined(QT_OPENGL_ES_2)
- surfaceFormat.setRenderableType(QSurfaceFormat::OpenGL);
+ surfaceFormat.setRenderableType(QSurfaceFormat::OpenGL);
#else
- surfaceFormat.setRenderableType(QSurfaceFormat::OpenGLES);
+ surfaceFormat.setRenderableType(QSurfaceFormat::OpenGLES);
#endif
+ } else {
+ surfaceFormat = qDefaultSurfaceFormat();
+ }
d_ptr->m_context = new QOpenGLContext(this);
setSurfaceType(QWindow::OpenGLSurface);
diff --git a/src/datavisualization/global/datavisualizationglobal_p.h b/src/datavisualization/global/datavisualizationglobal_p.h
index 86b454c9..8ff36a90 100644
--- a/src/datavisualization/global/datavisualizationglobal_p.h
+++ b/src/datavisualization/global/datavisualizationglobal_p.h
@@ -59,4 +59,4 @@ static const GLfloat gradientTextureWidth = 2.0f;
QT_DATAVISUALIZATION_END_NAMESPACE
-#endif // DATAVISUALIZATIONGLOBAL_P_H
+#endif
diff --git a/src/datavisualization/global/qdatavisualizationglobal.h b/src/datavisualization/global/qdatavisualizationglobal.h
index 1c118664..a125e4b2 100644
--- a/src/datavisualization/global/qdatavisualizationglobal.h
+++ b/src/datavisualization/global/qdatavisualizationglobal.h
@@ -64,4 +64,4 @@
# define QT_DATAVISUALIZATION_USE_NAMESPACE
#endif
-#endif // QVIS3DGLOBAL_H
+#endif
diff --git a/src/datavisualization/utils/qutils.h b/src/datavisualization/utils/qutils.h
new file mode 100644
index 00000000..9ae66e6b
--- /dev/null
+++ b/src/datavisualization/utils/qutils.h
@@ -0,0 +1,48 @@
+/****************************************************************************
+**
+** Copyright (C) 2013 Digia Plc
+** All rights reserved.
+** For any questions to Digia, please use contact form at http://qt.digia.com
+**
+** This file is part of the QtDataVisualization module.
+**
+** Licensees holding valid Qt Enterprise licenses may use this file in
+** accordance with the Qt Enterprise License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia.
+**
+** If you have questions regarding the use of this file, please use
+** contact form at http://qt.digia.com
+**
+****************************************************************************/
+
+#ifndef QUTILS_H
+#define QUTILS_H
+
+#include <QtGui/QSurfaceFormat>
+
+namespace QtDataVisualization {
+
+inline static QSurfaceFormat qDefaultSurfaceFormat(bool antialias = true)
+{
+ QSurfaceFormat surfaceFormat;
+
+ surfaceFormat.setDepthBufferSize(24);
+ surfaceFormat.setSwapBehavior(QSurfaceFormat::DoubleBuffer);
+#if !defined(QT_OPENGL_ES_2)
+ surfaceFormat.setRenderableType(QSurfaceFormat::OpenGL);
+#else
+ // Antialias not supported for ES
+ antialias = false;
+ surfaceFormat.setRenderableType(QSurfaceFormat::OpenGLES);
+#endif
+
+ if (antialias)
+ surfaceFormat.setSamples(8);
+
+ return surfaceFormat;
+}
+
+}
+
+#endif
diff --git a/src/datavisualization/utils/utils.pri b/src/datavisualization/utils/utils.pri
index cef5ebf0..8ce8794e 100644
--- a/src/datavisualization/utils/utils.pri
+++ b/src/datavisualization/utils/utils.pri
@@ -6,7 +6,8 @@ HEADERS += $$PWD/meshloader_p.h \
$$PWD/texturehelper_p.h \
$$PWD/utils_p.h \
$$PWD/abstractobjecthelper_p.h \
- $$PWD/surfaceobject_p.h
+ $$PWD/surfaceobject_p.h \
+ $$PWD/qutils.h
SOURCES += $$PWD/meshloader.cpp \
$$PWD/vertexindexer.cpp \
diff --git a/tests/qmlcamera/main.cpp b/tests/qmlcamera/main.cpp
index f35e9fc8..ca5a7088 100644
--- a/tests/qmlcamera/main.cpp
+++ b/tests/qmlcamera/main.cpp
@@ -16,6 +16,7 @@
**
****************************************************************************/
+#include <QtDataVisualization/qutils.h>
#include <QtGui/QGuiApplication>
#include "qtquick2applicationviewer.h"
@@ -25,15 +26,8 @@ int main(int argc, char *argv[])
QtQuick2ApplicationViewer viewer;
-#if !defined(QT_OPENGL_ES_2)
// Enable antialiasing
- QSurfaceFormat surfaceFormat;
- surfaceFormat.setDepthBufferSize(24);
- surfaceFormat.setSamples(8);
- surfaceFormat.setRenderableType(QSurfaceFormat::OpenGL);
- surfaceFormat.setSwapBehavior(QSurfaceFormat::DoubleBuffer);
- viewer.setFormat(surfaceFormat);
-#endif
+ viewer.setFormat(QtDataVisualization::qDefaultSurfaceFormat());
#ifdef Q_OS_ANDROID
viewer.addImportPath(QString::fromLatin1("assets:/qml"));
diff --git a/tests/qmldynamicdata/main.cpp b/tests/qmldynamicdata/main.cpp
index aedc026e..c2f52252 100644
--- a/tests/qmldynamicdata/main.cpp
+++ b/tests/qmldynamicdata/main.cpp
@@ -16,6 +16,7 @@
**
****************************************************************************/
+#include <QtDataVisualization/qutils.h>
#include <QtGui/QGuiApplication>
#include "qtquick2applicationviewer.h"
#ifdef Q_OS_ANDROID
@@ -30,15 +31,8 @@ int main(int argc, char *argv[])
QtQuick2ApplicationViewer viewer;
-#if !defined(QT_OPENGL_ES_2)
// Enable antialiasing
- QSurfaceFormat surfaceFormat;
- surfaceFormat.setDepthBufferSize(24);
- surfaceFormat.setSamples(8);
- surfaceFormat.setRenderableType(QSurfaceFormat::OpenGL);
- surfaceFormat.setSwapBehavior(QSurfaceFormat::DoubleBuffer);
- viewer.setFormat(surfaceFormat);
-#endif
+ viewer.setFormat(QtDataVisualization::qDefaultSurfaceFormat());
#ifdef Q_OS_ANDROID
viewer.addImportPath(QString::fromLatin1("assets:/qml"));
diff --git a/tests/qmlmultigraph/main.cpp b/tests/qmlmultigraph/main.cpp
index d4fb669f..9d9e5d8a 100644
--- a/tests/qmlmultigraph/main.cpp
+++ b/tests/qmlmultigraph/main.cpp
@@ -16,6 +16,7 @@
**
****************************************************************************/
+#include <QtDataVisualization/qutils.h>
#include <QtGui/QGuiApplication>
#include "qtquick2applicationviewer.h"
#ifdef Q_OS_ANDROID
@@ -30,15 +31,8 @@ int main(int argc, char *argv[])
QtQuick2ApplicationViewer viewer;
-#if !defined(QT_OPENGL_ES_2)
// Enable antialiasing
- QSurfaceFormat surfaceFormat;
- surfaceFormat.setDepthBufferSize(24);
- surfaceFormat.setSamples(8);
- surfaceFormat.setRenderableType(QSurfaceFormat::OpenGL);
- surfaceFormat.setSwapBehavior(QSurfaceFormat::DoubleBuffer);
- viewer.setFormat(surfaceFormat);
-#endif
+ viewer.setFormat(QtDataVisualization::qDefaultSurfaceFormat());
#ifdef Q_OS_ANDROID
viewer.addImportPath(QString::fromLatin1("assets:/qml"));