From ff57203b57751a38c814419495123d23bb7c3f1e Mon Sep 17 00:00:00 2001 From: Andy Nichols Date: Fri, 12 Aug 2016 10:16:46 +0200 Subject: [PATCH] Move QTriangulator and QTriangulatingStroker classes to painting Previously the private APIs for QTriangulator and QTriangulatingStroker were located in src/gui/opengl because they were used by the OpenGL paint engine. These API's are not actually specific to OpenGL however, and were not being built when QT_NO_OPENGL was defined. It makes more sense for these classes to belong in the painting subgroup. Aside from the OpenGL paint engine, these private APIs are used by QtLocation to triangulate polylines to be rendered by QtQuick. Change-Id: Idb4d1e5b2a51394d4c6bcdf9ab1ece99de23d4de Reviewed-by: Laszlo Agocs --- src/gui/opengl/opengl.pri | 5 ----- src/gui/painting/painting.pri | 5 +++++ src/gui/{opengl => painting}/qrbtree_p.h | 0 .../{opengl => painting}/qtriangulatingstroker.cpp | 0 .../{opengl => painting}/qtriangulatingstroker_p.h | 0 src/gui/{opengl => painting}/qtriangulator.cpp | 11 ++++++++--- src/gui/{opengl => painting}/qtriangulator_p.h | 0 7 files changed, 13 insertions(+), 8 deletions(-) rename src/gui/{opengl => painting}/qrbtree_p.h (100%) rename src/gui/{opengl => painting}/qtriangulatingstroker.cpp (100%) rename src/gui/{opengl => painting}/qtriangulatingstroker_p.h (100%) rename src/gui/{opengl => painting}/qtriangulator.cpp (99%) rename src/gui/{opengl => painting}/qtriangulator_p.h (100%) diff --git a/src/gui/opengl/opengl.pri b/src/gui/opengl/opengl.pri index dfaf3042bc..bdda5381ce 100644 --- a/src/gui/opengl/opengl.pri +++ b/src/gui/opengl/opengl.pri @@ -22,12 +22,9 @@ contains(QT_CONFIG, opengl)|contains(QT_CONFIG, opengles2) { opengl/qopenglpaintengine_p.h \ opengl/qopenglengineshadersource_p.h \ opengl/qopenglcustomshaderstage_p.h \ - opengl/qtriangulatingstroker_p.h \ opengl/qopengltextureglyphcache_p.h \ opengl/qopenglshadercache_p.h \ opengl/qopenglshadercache_meego_p.h \ - opengl/qtriangulator_p.h \ - opengl/qrbtree_p.h \ opengl/qopenglversionfunctions.h \ opengl/qopenglversionfunctionsfactory_p.h \ opengl/qopenglvertexarrayobject.h \ @@ -51,9 +48,7 @@ contains(QT_CONFIG, opengl)|contains(QT_CONFIG, opengles2) { opengl/qopengl2pexvertexarray.cpp \ opengl/qopenglpaintengine.cpp \ opengl/qopenglcustomshaderstage.cpp \ - opengl/qtriangulatingstroker.cpp \ opengl/qopengltextureglyphcache.cpp \ - opengl/qtriangulator.cpp \ opengl/qopenglversionfunctions.cpp \ opengl/qopenglversionfunctionsfactory.cpp \ opengl/qopenglvertexarrayobject.cpp \ diff --git a/src/gui/painting/painting.pri b/src/gui/painting/painting.pri index 2f927aeddb..00f2375923 100644 --- a/src/gui/painting/painting.pri +++ b/src/gui/painting/painting.pri @@ -42,6 +42,7 @@ HEADERS += \ painting/qpolygonclipper_p.h \ painting/qrasterdefs_p.h \ painting/qrasterizer_p.h \ + painting/qrbtree_p.h \ painting/qregion.h \ painting/qrgb.h \ painting/qrgba64.h \ @@ -49,6 +50,8 @@ HEADERS += \ painting/qstroker_p.h \ painting/qtextureglyphcache_p.h \ painting/qtransform.h \ + painting/qtriangulatingstroker_p.h \ + painting/qtriangulator_p.h \ painting/qplatformbackingstore.h \ painting/qpathsimplifier_p.h @@ -92,6 +95,8 @@ SOURCES += \ painting/qstroker.cpp \ painting/qtextureglyphcache.cpp \ painting/qtransform.cpp \ + painting/qtriangulatingstroker.cpp \ + painting/qtriangulator.cpp \ painting/qplatformbackingstore.cpp \ painting/qpathsimplifier.cpp diff --git a/src/gui/opengl/qrbtree_p.h b/src/gui/painting/qrbtree_p.h similarity index 100% rename from src/gui/opengl/qrbtree_p.h rename to src/gui/painting/qrbtree_p.h diff --git a/src/gui/opengl/qtriangulatingstroker.cpp b/src/gui/painting/qtriangulatingstroker.cpp similarity index 100% rename from src/gui/opengl/qtriangulatingstroker.cpp rename to src/gui/painting/qtriangulatingstroker.cpp diff --git a/src/gui/opengl/qtriangulatingstroker_p.h b/src/gui/painting/qtriangulatingstroker_p.h similarity index 100% rename from src/gui/opengl/qtriangulatingstroker_p.h rename to src/gui/painting/qtriangulatingstroker_p.h diff --git a/src/gui/opengl/qtriangulator.cpp b/src/gui/painting/qtriangulator.cpp similarity index 99% rename from src/gui/opengl/qtriangulator.cpp rename to src/gui/painting/qtriangulator.cpp index 601b51a5fb..7906011cd2 100644 --- a/src/gui/opengl/qtriangulator.cpp +++ b/src/gui/painting/qtriangulator.cpp @@ -50,9 +50,10 @@ #include #include #include - -#include -#include +#ifndef QT_NO_OPENGL +# include +# include +#endif #include QT_BEGIN_NAMESPACE @@ -2267,10 +2268,14 @@ void QTriangulator::MonotoneToTriangles::decompose() static bool hasElementIndexUint() { +#ifndef QT_NO_OPENGL QOpenGLContext *context = QOpenGLContext::currentContext(); if (!context) return false; return static_cast(context->functions())->hasOpenGLExtension(QOpenGLExtensions::ElementIndexUint); +#else + return false; +#endif } Q_GUI_EXPORT QTriangleSet qTriangulate(const qreal *polygon, diff --git a/src/gui/opengl/qtriangulator_p.h b/src/gui/painting/qtriangulator_p.h similarity index 100% rename from src/gui/opengl/qtriangulator_p.h rename to src/gui/painting/qtriangulator_p.h