aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquickopenglshadereffect_p.h
diff options
context:
space:
mode:
authorLaszlo Agocs <laszlo.agocs@theqtcompany.com>2016-04-12 12:12:30 +0200
committerLaszlo Agocs <laszlo.agocs@theqtcompany.com>2016-04-13 09:22:22 +0000
commitb943809c41cda9c01f26ba02ece4b6690b528d48 (patch)
tree575f87d301c4300ed8d06da12f043e9d7749e129 /src/quick/items/qquickopenglshadereffect_p.h
parent3d2b9ef7ecd86db032942cbd68d6b9c610a03d9b (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.h19
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