summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMike Krus <mike.krus@kdab.com>2020-02-10 15:05:47 +0000
committerMike Krus <mike.krus@kdab.com>2020-02-12 10:03:08 +0000
commitb47ab75d17db2be57c941b4b72ec51c926a665d9 (patch)
tree7381d69c06944d1e85ca745206da7a51eebcbf6e /src
parent83d81bc82eb7ca8d2ed113aac14f9a2d0a40a362 (diff)
Hide deprecated functor API
Now private for QTextureGenerator and QGeometryFactory updates. QTextureImageDataGenerator remains for now as it was not previously deprecated and, mainly, it's the only API to get data into an image. Consequently, QAbstractFunctor has been un-deprecated. Change-Id: Ie6691bc402ad603d63abcf1ec9fc3513091f5740 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Diffstat (limited to 'src')
-rw-r--r--src/extras/text/qtextureatlas_p_p.h2
-rw-r--r--src/plugins/renderers/opengl/textures/gltexture_p.h2
-rw-r--r--src/render/frontend/qabstractfunctor.h4
-rw-r--r--src/render/geometry/geometry.pri2
-rw-r--r--src/render/geometry/geometryrenderer.cpp4
-rw-r--r--src/render/geometry/geometryrenderer_p.h2
-rw-r--r--src/render/geometry/qgeometry.cpp2
-rw-r--r--src/render/geometry/qgeometryfactory_p.h (renamed from src/render/geometry/qgeometryfactory.h)11
-rw-r--r--src/render/geometry/qgeometryrenderer.cpp21
-rw-r--r--src/render/geometry/qgeometryrenderer.h6
-rw-r--r--src/render/geometry/qgeometryrenderer_p.h2
-rw-r--r--src/render/geometry/qmesh.cpp3
-rw-r--r--src/render/texture/qabstracttexture.cpp9
-rw-r--r--src/render/texture/qabstracttexture.h3
-rw-r--r--src/render/texture/qabstracttexture_p.h2
-rw-r--r--src/render/texture/qabstracttextureimage.cpp2
-rw-r--r--src/render/texture/qtexture_p.h2
-rw-r--r--src/render/texture/qtexturegenerator.cpp2
-rw-r--r--src/render/texture/qtexturegenerator_p.h (renamed from src/render/texture/qtexturegenerator.h)17
-rw-r--r--src/render/texture/qtextureimagedatagenerator.h2
-rw-r--r--src/render/texture/texture.cpp4
-rw-r--r--src/render/texture/texture.pri2
-rw-r--r--src/render/texture/texture_p.h2
23 files changed, 48 insertions, 60 deletions
diff --git a/src/extras/text/qtextureatlas_p_p.h b/src/extras/text/qtextureatlas_p_p.h
index 5a1021bfa..0763ebd4c 100644
--- a/src/extras/text/qtextureatlas_p_p.h
+++ b/src/extras/text/qtextureatlas_p_p.h
@@ -53,7 +53,7 @@
#include <QtCore/qscopedpointer.h>
#include <Qt3DRender/private/qabstracttexture_p.h>
-#include <Qt3DRender/qtexturegenerator.h>
+#include <Qt3DRender/private/qtexturegenerator_p.h>
#include <Qt3DExtras/private/areaallocator_p.h>
#include <Qt3DExtras/private/qtextureatlas_p.h>
diff --git a/src/plugins/renderers/opengl/textures/gltexture_p.h b/src/plugins/renderers/opengl/textures/gltexture_p.h
index 576ef5001..da85ff386 100644
--- a/src/plugins/renderers/opengl/textures/gltexture_p.h
+++ b/src/plugins/renderers/opengl/textures/gltexture_p.h
@@ -53,7 +53,7 @@
#include <Qt3DRender/qtexture.h>
#include <Qt3DRender/qtextureimagedata.h>
-#include <Qt3DRender/qtexturegenerator.h>
+#include <Qt3DRender/private/qtexturegenerator_p.h>
#include <Qt3DRender/private/backendnode_p.h>
#include <Qt3DRender/private/handle_types_p.h>
#include <Qt3DRender/private/texture_p.h>
diff --git a/src/render/frontend/qabstractfunctor.h b/src/render/frontend/qabstractfunctor.h
index 697b22613..45492e141 100644
--- a/src/render/frontend/qabstractfunctor.h
+++ b/src/render/frontend/qabstractfunctor.h
@@ -62,7 +62,7 @@ struct FunctorType
};
template<class T>
-Q3D_DECL_DEPRECATED qintptr functorTypeId()
+qintptr functorTypeId()
{
return reinterpret_cast<qintptr>(&FunctorType<T>::id);
}
@@ -76,7 +76,7 @@ Q3D_DECL_DEPRECATED qintptr functorTypeId()
class Q_3DRENDERSHARED_EXPORT QAbstractFunctor
{
public:
- Q3D_DECL_DEPRECATED QAbstractFunctor() = default;
+ QAbstractFunctor() = default;
virtual ~QAbstractFunctor();
virtual qintptr id() const = 0;
diff --git a/src/render/geometry/geometry.pri b/src/render/geometry/geometry.pri
index efc245fba..88cc81b51 100644
--- a/src/render/geometry/geometry.pri
+++ b/src/render/geometry/geometry.pri
@@ -11,7 +11,7 @@ HEADERS += \
$$PWD/qbuffer_p.h \
$$PWD/qgeometry.h \
$$PWD/qgeometry_p.h \
- $$PWD/qgeometryfactory.h \
+ $$PWD/qgeometryfactory_p.h \
$$PWD/qgeometryrenderer.h \
$$PWD/qgeometryrenderer_p.h \
$$PWD/qmesh.h \
diff --git a/src/render/geometry/geometryrenderer.cpp b/src/render/geometry/geometryrenderer.cpp
index 65094e071..7a726e03f 100644
--- a/src/render/geometry/geometryrenderer.cpp
+++ b/src/render/geometry/geometryrenderer.cpp
@@ -130,7 +130,9 @@ void GeometryRenderer::syncFromFrontEnd(const QNode *frontEnd, bool firstTime)
m_primitiveType = node->primitiveType();
m_dirty |= (node->geometry() && m_geometryId != node->geometry()->id()) || (!node->geometry() && !m_geometryId.isNull());
m_geometryId = node->geometry() ? node->geometry()->id() : Qt3DCore::QNodeId();
- QGeometryFactoryPtr newFunctor = node->geometryFactory();
+
+ const QGeometryRendererPrivate *dnode = static_cast<const QGeometryRendererPrivate *>(QNodePrivate::get(frontEnd));
+ QGeometryFactoryPtr newFunctor = dnode->m_geometryFactory;
const bool functorDirty = ((m_geometryFactory && !newFunctor)
|| (!m_geometryFactory && newFunctor)
|| (m_geometryFactory && newFunctor && !(*newFunctor == *m_geometryFactory)));
diff --git a/src/render/geometry/geometryrenderer_p.h b/src/render/geometry/geometryrenderer_p.h
index b2ccf17c3..c5908ca01 100644
--- a/src/render/geometry/geometryrenderer_p.h
+++ b/src/render/geometry/geometryrenderer_p.h
@@ -52,8 +52,8 @@
//
#include <Qt3DRender/private/backendnode_p.h>
+#include <Qt3DRender/private/qgeometryfactory_p.h>
#include <Qt3DRender/qgeometryrenderer.h>
-#include <Qt3DRender/qgeometryfactory.h>
#include <Qt3DRender/qmesh.h>
QT_BEGIN_NAMESPACE
diff --git a/src/render/geometry/qgeometry.cpp b/src/render/geometry/qgeometry.cpp
index 5daaf5264..b3992b0aa 100644
--- a/src/render/geometry/qgeometry.cpp
+++ b/src/render/geometry/qgeometry.cpp
@@ -38,7 +38,7 @@
****************************************************************************/
#include "qgeometry.h"
-#include "qgeometryfactory.h"
+#include "qgeometryfactory_p.h"
#include "qgeometry_p.h"
#include <private/qnode_p.h>
#include <Qt3DRender/qattribute.h>
diff --git a/src/render/geometry/qgeometryfactory.h b/src/render/geometry/qgeometryfactory_p.h
index 92acbc67d..ac7900dba 100644
--- a/src/render/geometry/qgeometryfactory.h
+++ b/src/render/geometry/qgeometryfactory_p.h
@@ -40,6 +40,17 @@
#ifndef QT3DRENDER_QGEOMETRYFACTORY
#define QT3DRENDER_QGEOMETRYFACTORY
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists for the convenience
+// of other Qt classes. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
#include <Qt3DRender/qt3drender_global.h>
#include <Qt3DRender/qabstractfunctor.h>
#include <QtCore/QSharedPointer>
diff --git a/src/render/geometry/qgeometryrenderer.cpp b/src/render/geometry/qgeometryrenderer.cpp
index e660d2ff7..75e9b3a6a 100644
--- a/src/render/geometry/qgeometryrenderer.cpp
+++ b/src/render/geometry/qgeometryrenderer.cpp
@@ -339,15 +339,6 @@ QGeometryRenderer::PrimitiveType QGeometryRenderer::primitiveType() const
return d->m_primitiveType;
}
-/*!
- Returns the geometry functor.
- */
-QGeometryFactoryPtr QGeometryRenderer::geometryFactory() const
-{
- Q_D(const QGeometryRenderer);
- return d->m_geometryFactory;
-}
-
void QGeometryRenderer::setInstanceCount(int instanceCount)
{
Q_D(QGeometryRenderer);
@@ -468,18 +459,6 @@ void QGeometryRenderer::setPrimitiveType(QGeometryRenderer::PrimitiveType primit
emit primitiveTypeChanged(primitiveType);
}
-/*!
- Sets the geometry \a factory.
- */
-void QGeometryRenderer::setGeometryFactory(const QGeometryFactoryPtr &factory)
-{
- Q_D(QGeometryRenderer);
- if (factory && d->m_geometryFactory && *factory == *d->m_geometryFactory)
- return;
- d->m_geometryFactory = factory;
- d->update();
-}
-
} // namespace Qt3DRender
QT_END_NAMESPACE
diff --git a/src/render/geometry/qgeometryrenderer.h b/src/render/geometry/qgeometryrenderer.h
index 5466f7800..5a98329f6 100644
--- a/src/render/geometry/qgeometryrenderer.h
+++ b/src/render/geometry/qgeometryrenderer.h
@@ -49,9 +49,6 @@ QT_BEGIN_NAMESPACE
namespace Qt3DRender {
class QGeometryRendererPrivate;
-class QGeometryFactory;
-
-typedef QSharedPointer<QGeometryFactory> QGeometryFactoryPtr;
class Q_3DRENDERSHARED_EXPORT QGeometryRenderer : public Qt3DCore::QComponent
{
@@ -103,9 +100,6 @@ public:
QGeometry *geometry() const;
PrimitiveType primitiveType() const;
- Q3D_DECL_DEPRECATED QGeometryFactoryPtr geometryFactory() const;
- Q3D_DECL_DEPRECATED void setGeometryFactory(const QGeometryFactoryPtr &factory);
-
public Q_SLOTS:
void setInstanceCount(int instanceCount);
void setVertexCount(int vertexCount);
diff --git a/src/render/geometry/qgeometryrenderer_p.h b/src/render/geometry/qgeometryrenderer_p.h
index be5c2bb47..926eb24f7 100644
--- a/src/render/geometry/qgeometryrenderer_p.h
+++ b/src/render/geometry/qgeometryrenderer_p.h
@@ -53,7 +53,7 @@
#include <Qt3DCore/private/qcomponent_p.h>
#include <Qt3DRender/qgeometryrenderer.h>
-#include <Qt3DRender/qgeometryfactory.h>
+#include <Qt3DRender/private/qgeometryfactory_p.h>
#include <Qt3DRender/private/qt3drender_global_p.h>
#include <memory>
diff --git a/src/render/geometry/qmesh.cpp b/src/render/geometry/qmesh.cpp
index a5c5148ae..531312fb1 100644
--- a/src/render/geometry/qmesh.cpp
+++ b/src/render/geometry/qmesh.cpp
@@ -88,7 +88,8 @@ void QMeshPrivate::setScene(Qt3DCore::QScene *scene)
void QMeshPrivate::updateFunctor()
{
Q_Q(QMesh);
- q->setGeometryFactory(QGeometryFactoryPtr(new MeshLoaderFunctor(q)));
+ m_geometryFactory = QGeometryFactoryPtr(new MeshLoaderFunctor(q));
+ update();
}
void QMeshPrivate::setStatus(QMesh::Status status)
diff --git a/src/render/texture/qabstracttexture.cpp b/src/render/texture/qabstracttexture.cpp
index 961c74cfc..c8ed9186e 100644
--- a/src/render/texture/qabstracttexture.cpp
+++ b/src/render/texture/qabstracttexture.cpp
@@ -1037,15 +1037,6 @@ QAbstractTexture::ComparisonMode QAbstractTexture::comparisonMode() const
}
/*!
- * Returns the current data generator.
- */
-QTextureGeneratorPtr QAbstractTexture::dataGenerator() const
-{
- Q_D(const QAbstractTexture);
- return d->m_dataFunctor;
-}
-
-/*!
* \property Qt3DRender::QAbstractTexture::handleType
*
* Holds the current texture handle type.
diff --git a/src/render/texture/qabstracttexture.h b/src/render/texture/qabstracttexture.h
index 3080ec3dc..37329b61a 100644
--- a/src/render/texture/qabstracttexture.h
+++ b/src/render/texture/qabstracttexture.h
@@ -51,9 +51,7 @@ namespace Qt3DRender {
class QAbstractTexturePrivate;
class QTextureWrapMode;
class QAbstractTextureImage;
-class QTextureGenerator;
class QTextureDataUpdate;
-typedef QSharedPointer<QTextureGenerator> QTextureGeneratorPtr;
class Q_3DRENDERSHARED_EXPORT QAbstractTexture : public Qt3DCore::QNode
{
@@ -306,7 +304,6 @@ public:
int depth() const;
int layers() const;
int samples() const;
- Q3D_DECL_DEPRECATED QTextureGeneratorPtr dataGenerator() const;
HandleType handleType() const;
QVariant handle() const;
diff --git a/src/render/texture/qabstracttexture_p.h b/src/render/texture/qabstracttexture_p.h
index 45d6778af..555b45a8e 100644
--- a/src/render/texture/qabstracttexture_p.h
+++ b/src/render/texture/qabstracttexture_p.h
@@ -55,8 +55,8 @@
#include <Qt3DCore/private/qnode_p.h>
#include <Qt3DRender/qabstracttexture.h>
#include <Qt3DRender/qtexturewrapmode.h>
-#include <Qt3DRender/qtexturegenerator.h>
#include <Qt3DRender/qtexturedataupdate.h>
+#include <Qt3DRender/private/qtexturegenerator_p.h>
#include <Qt3DRender/private/qt3drender_global_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/render/texture/qabstracttextureimage.cpp b/src/render/texture/qabstracttextureimage.cpp
index 6ff84a6fc..2d41af8e2 100644
--- a/src/render/texture/qabstracttextureimage.cpp
+++ b/src/render/texture/qabstracttextureimage.cpp
@@ -47,6 +47,8 @@ using namespace Qt3DCore;
namespace Qt3DRender {
+QTextureImageDataGenerator::~QTextureImageDataGenerator() = default;
+
/*!
\class Qt3DRender::QTextureImageDataGenerator
\inmodule Qt3DRender
diff --git a/src/render/texture/qtexture_p.h b/src/render/texture/qtexture_p.h
index 6b06aecd1..731b1e3f2 100644
--- a/src/render/texture/qtexture_p.h
+++ b/src/render/texture/qtexture_p.h
@@ -54,7 +54,7 @@
#include <Qt3DCore/QNodeId>
#include <Qt3DCore/private/qdownloadhelperservice_p.h>
#include <Qt3DRender/private/qabstracttexture_p.h>
-#include <Qt3DRender/qtexturegenerator.h>
+#include <Qt3DRender/private/qtexturegenerator_p.h>
#include <Qt3DRender/qtexture.h>
#include <Qt3DRender/private/qt3drender_global_p.h>
diff --git a/src/render/texture/qtexturegenerator.cpp b/src/render/texture/qtexturegenerator.cpp
index 36b5f6498..69be1c45e 100644
--- a/src/render/texture/qtexturegenerator.cpp
+++ b/src/render/texture/qtexturegenerator.cpp
@@ -37,7 +37,7 @@
**
****************************************************************************/
-#include "qtexturegenerator.h"
+#include "qtexturegenerator_p.h"
QT_BEGIN_NAMESPACE
diff --git a/src/render/texture/qtexturegenerator.h b/src/render/texture/qtexturegenerator_p.h
index 7ae3d3a84..a3b12273b 100644
--- a/src/render/texture/qtexturegenerator.h
+++ b/src/render/texture/qtexturegenerator_p.h
@@ -37,8 +37,19 @@
**
****************************************************************************/
-#ifndef QT3DRENDER_QTEXTUREGENERATOR_H
-#define QT3DRENDER_QTEXTUREGENERATOR_H
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists for the convenience
+// of other Qt classes. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#ifndef QT3DRENDER_QTEXTUREGENERATOR_P_H
+#define QT3DRENDER_QTEXTUREGENERATOR_P_H
#include <Qt3DRender/qabstractfunctor.h>
#include <Qt3DRender/qabstracttexture.h>
@@ -68,4 +79,4 @@ QT_END_NAMESPACE
Q_DECLARE_METATYPE(Qt3DRender::QTextureGeneratorPtr) // LCOV_EXCL_LINE
-#endif // QT3DRENDER_QTEXTUREGENERATOR_H
+#endif // QT3DRENDER_QTEXTUREGENERATOR_P_H
diff --git a/src/render/texture/qtextureimagedatagenerator.h b/src/render/texture/qtextureimagedatagenerator.h
index 7c58b3878..9dc636ea1 100644
--- a/src/render/texture/qtextureimagedatagenerator.h
+++ b/src/render/texture/qtextureimagedatagenerator.h
@@ -58,7 +58,7 @@ typedef QSharedPointer<QTextureImageData> QTextureImageDataPtr;
class Q_3DRENDERSHARED_EXPORT QTextureImageDataGenerator : public QAbstractFunctor
{
public:
- virtual ~QTextureImageDataGenerator() {}
+ virtual ~QTextureImageDataGenerator();
virtual QTextureImageDataPtr operator()() = 0;
virtual bool operator ==(const QTextureImageDataGenerator &other) const = 0;
};
diff --git a/src/render/texture/texture.cpp b/src/render/texture/texture.cpp
index db9758a97..df444b5bd 100644
--- a/src/render/texture/texture.cpp
+++ b/src/render/texture/texture.cpp
@@ -143,14 +143,14 @@ void Texture::syncFromFrontEnd(const QNode *frontEnd, bool firstTime)
addDirtyFlag(DirtyParameters);
}
- auto newGenerator = node->dataGenerator();
+ QAbstractTexturePrivate *dnode = static_cast<QAbstractTexturePrivate *>(QAbstractTexturePrivate::get(const_cast<QAbstractTexture *>(node)));
+ auto newGenerator = dnode->dataFunctor();
if (newGenerator != m_dataFunctor) {
setDataGenerator(newGenerator);
QAbstractTexturePrivate *dTexture = static_cast<QAbstractTexturePrivate *>(QNodePrivate::get(const_cast<QNode *>(frontEnd)));
dTexture->setStatus(QAbstractTexture::Loading);
}
- QAbstractTexturePrivate *dnode = dynamic_cast<QAbstractTexturePrivate *>(QAbstractTexturePrivate::get(const_cast<QAbstractTexture *>(node)));
if (dnode) {
for (const QTextureDataUpdate &pendingUpdate : dnode->m_pendingDataUpdates)
addTextureDataUpdate(pendingUpdate);
diff --git a/src/render/texture/texture.pri b/src/render/texture/texture.pri
index 87c77a2ff..3a81c9c79 100644
--- a/src/render/texture/texture.pri
+++ b/src/render/texture/texture.pri
@@ -16,7 +16,7 @@ HEADERS += \
$$PWD/qtextureimagedata.h \
$$PWD/qtexturedata.h \
$$PWD/qtextureimagedatagenerator.h \
- $$PWD/qtexturegenerator.h \
+ $$PWD/qtexturegenerator_p.h \
$$PWD/qtexture_p.h \
$$PWD/qpaintedtextureimage.h \
$$PWD/qpaintedtextureimage_p.h \
diff --git a/src/render/texture/texture_p.h b/src/render/texture/texture_p.h
index 125b67b83..379b4439c 100644
--- a/src/render/texture/texture_p.h
+++ b/src/render/texture/texture_p.h
@@ -54,9 +54,9 @@
#include <Qt3DRender/private/backendnode_p.h>
#include <Qt3DRender/private/handle_types_p.h>
#include <Qt3DRender/private/qabstracttexture_p.h>
+#include <Qt3DRender/private/qtexturegenerator_p.h>
#include <Qt3DRender/qtexture.h>
#include <Qt3DRender/qtexturedata.h>
-#include <Qt3DRender/qtexturegenerator.h>
#include <QOpenGLContext>
#include <QMutex>