diff options
author | Laszlo Agocs <laszlo.agocs@theqtcompany.com> | 2016-04-12 12:12:30 +0200 |
---|---|---|
committer | Laszlo Agocs <laszlo.agocs@theqtcompany.com> | 2016-04-13 09:22:22 +0000 |
commit | b943809c41cda9c01f26ba02ece4b6690b528d48 (patch) | |
tree | 575f87d301c4300ed8d06da12f043e9d7749e129 /src/quick/items/qquickopenglshadereffect_p.h | |
parent | 3d2b9ef7ecd86db032942cbd68d6b9c610a03d9b (diff) |
Add the skeleton for the new, more generic shader effect impl
which should route and place most of its work into the scenegraph.
And fix a test.
Change-Id: I04f29cba53c2bab62e41b3b524794d3c4d20a472
Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
Diffstat (limited to 'src/quick/items/qquickopenglshadereffect_p.h')
-rw-r--r-- | src/quick/items/qquickopenglshadereffect_p.h | 19 |
1 files changed, 4 insertions, 15 deletions
diff --git a/src/quick/items/qquickopenglshadereffect_p.h b/src/quick/items/qquickopenglshadereffect_p.h index 80e1e5ee8e..0e54813443 100644 --- a/src/quick/items/qquickopenglshadereffect_p.h +++ b/src/quick/items/qquickopenglshadereffect_p.h @@ -74,6 +74,7 @@ struct Q_QUICK_PRIVATE_EXPORT QQuickOpenGLShaderEffectCommon typedef QQuickOpenGLShaderEffectMaterialKey Key; typedef QQuickOpenGLShaderEffectMaterial::UniformData UniformData; + QQuickOpenGLShaderEffectCommon(QObject *host) : host(host) { } ~QQuickOpenGLShaderEffectCommon(); void disconnectPropertySignals(QQuickItem *item, Key::ShaderType shaderType); void connectPropertySignals(QQuickItem *item, Key::ShaderType shaderType); @@ -88,6 +89,7 @@ struct Q_QUICK_PRIVATE_EXPORT QQuickOpenGLShaderEffectCommon void sourceDestroyed(QObject *object); void propertyChanged(QQuickItem *item, int mappedId, bool *textureProviderChanged); + QObject *host; Key source; QVector<QByteArray> attributes; QVector<UniformData> uniformData[Key::ShaderTypeCount]; @@ -127,29 +129,18 @@ public: QString parseLog(); -Q_SIGNALS: - void fragmentShaderChanged(); - void vertexShaderChanged(); - void blendingChanged(); - void meshChanged(); - void cullModeChanged(); - void logChanged(); - void statusChanged(); - void supportsAtlasTexturesChanged(); - -protected: void handleEvent(QEvent *); void handleGeometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry); QSGNode *handleUpdatePaintNode(QSGNode *, QQuickItem::UpdatePaintNodeData *); void handleComponentComplete(); void handleItemChange(QQuickItem::ItemChange change, const QQuickItem::ItemChangeData &value); - void handleSourceDestroyed(QObject *object); - void handlePropertyChanged(int mappedId); private Q_SLOTS: void updateGeometry(); void updateGeometryIfAtlased(); void updateLogAndStatus(const QString &log, int status); + void sourceDestroyed(QObject *object); + void propertyChanged(int mappedId); private: friend class QQuickCustomMaterialShader; @@ -178,8 +169,6 @@ private: uint m_dirtyGeometry : 1; uint m_customVertexShader : 1; uint m_supportsAtlasTextures : 1; - - friend class QQuickShaderEffect; }; QT_END_NAMESPACE |