From e79eedcb1eaf56280035550f4c6bb2395a51fd16 Mon Sep 17 00:00:00 2001 From: Kim Motoyoshi Kalland Date: Wed, 11 Jan 2012 17:34:58 +0100 Subject: Added log and status properties to ShaderEffect. Task-number: QTBUG-23531 Change-Id: I136f6d9642ff9d4074fe8dae1f5714a05349107a Reviewed-by: Gunnar Sletta --- src/quick/items/qquickshadereffect_p.h | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src/quick/items/qquickshadereffect_p.h') diff --git a/src/quick/items/qquickshadereffect_p.h b/src/quick/items/qquickshadereffect_p.h index 7536b42a73..4c575d985d 100644 --- a/src/quick/items/qquickshadereffect_p.h +++ b/src/quick/items/qquickshadereffect_p.h @@ -70,7 +70,10 @@ class Q_AUTOTEST_EXPORT QQuickShaderEffect : public QQuickItem Q_PROPERTY(bool blending READ blending WRITE setBlending NOTIFY blendingChanged) Q_PROPERTY(QVariant mesh READ mesh WRITE setMesh NOTIFY meshChanged) Q_PROPERTY(CullMode culling READ cullMode WRITE setCullMode NOTIFY cullModeChanged) + Q_PROPERTY(QString log READ log NOTIFY logChanged) + Q_PROPERTY(Status status READ status NOTIFY statusChanged) Q_ENUMS(CullMode) + Q_ENUMS(Status) public: enum CullMode @@ -80,6 +83,13 @@ public: FrontFaceCulling = QQuickShaderEffectMaterial::FrontFaceCulling }; + enum Status + { + Compiled, + Uncompiled, + Error + }; + QQuickShaderEffect(QQuickItem *parent = 0); ~QQuickShaderEffect(); @@ -98,7 +108,11 @@ public: CullMode cullMode() const { return m_cullMode; } void setCullMode(CullMode face); + QString log() const { return m_log; } + Status status() const { return m_status; } + void ensureCompleted(); + QString parseLog() { return m_parseLog; } Q_SIGNALS: void fragmentShaderChanged(); @@ -106,6 +120,8 @@ Q_SIGNALS: void blendingChanged(); void meshChanged(); void cullModeChanged(); + void logChanged(); + void statusChanged(); protected: virtual void geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry); @@ -116,6 +132,7 @@ private Q_SLOTS: void changeSource(int index); void updateData(); void updateGeometry(); + void updateLogAndStatus(const QString &log, int status); private: friend class QQuickCustomMaterialShader; @@ -133,6 +150,8 @@ private: QQuickShaderEffectMesh *m_mesh; QQuickGridMesh m_defaultMesh; CullMode m_cullMode; + QString m_log; + Status m_status; struct SourceData { @@ -141,6 +160,7 @@ private: QByteArray name; }; QVector m_sources; + QString m_parseLog; uint m_blending : 1; uint m_dirtyData : 1; -- cgit v1.2.3