diff --git a/src/quick/items/qquickframebufferobject.h b/src/quick/items/qquickframebufferobject.h
index 4a0248c..7fb7262 100644
--- a/src/quick/items/qquickframebufferobject.h
+++ b/src/quick/items/qquickframebufferobject.h
@@ -49,6 +49,7 @@ class Q_QUICK_EXPORT QQuickFramebufferObject : public QQuickItem
     Q_DECLARE_PRIVATE(QQuickFramebufferObject)
 
     Q_PROPERTY(bool textureFollowsItemSize READ textureFollowsItemSize WRITE setTextureFollowsItemSize NOTIFY textureFollowsItemSizeChanged)
+    Q_PROPERTY(bool mirrorVertically READ mirrorVertically WRITE setMirrorVertically NOTIFY mirrorVerticallyChanged)
 
 public:
 
@@ -73,6 +74,9 @@ public:
     bool textureFollowsItemSize() const;
     void setTextureFollowsItemSize(bool follows);
 
+    bool mirrorVertically() const;
+    void setMirrorVertically(bool enable);
+
     virtual Renderer *createRenderer() const = 0;
 
     bool isTextureProvider() const Q_DECL_OVERRIDE;
@@ -87,6 +91,7 @@ protected:
 
 Q_SIGNALS:
     void textureFollowsItemSizeChanged(bool);
+    void mirrorVerticallyChanged(bool);
 
 private Q_SLOTS:
     void invalidateSceneGraph();
diff --git a/src/quick/items/qquickitem.h b/src/quick/items/qquickitem.h
index 4631133..d92910c 100644
--- a/src/quick/items/qquickitem.h
+++ b/src/quick/items/qquickitem.h
@@ -141,7 +141,6 @@ class Q_QUICK_EXPORT QQuickItem : public QObject, public QQmlParserStatus
 
     Q_PRIVATE_PROPERTY(QQuickItem::d_func(), QQuickItemLayer *layer READ layer DESIGNABLE false CONSTANT FINAL)
 
-    Q_ENUMS(TransformOrigin)
     Q_CLASSINFO("DefaultProperty", "data")
     Q_CLASSINFO("qt_HasQmlAccessors", "true")
 
@@ -187,6 +186,7 @@ public:
         Left, Center, Right,
         BottomLeft, Bottom, BottomRight
     };
+    Q_ENUM(TransformOrigin)
 
     QQuickItem(QQuickItem *parent = 0);
     virtual ~QQuickItem();
diff --git a/src/quick/items/qquickpainteditem.h b/src/quick/items/qquickpainteditem.h
index 356e4a4..8c9ae2e 100644
--- a/src/quick/items/qquickpainteditem.h
+++ b/src/quick/items/qquickpainteditem.h
@@ -43,12 +43,13 @@ class QQuickPaintedItemPrivate;
 class Q_QUICK_EXPORT QQuickPaintedItem : public QQuickItem
 {
     Q_OBJECT
-    Q_ENUMS(RenderTarget)
 
     Q_PROPERTY(QSize contentsSize READ contentsSize WRITE setContentsSize NOTIFY contentsSizeChanged)
     Q_PROPERTY(QColor fillColor READ fillColor WRITE setFillColor NOTIFY fillColorChanged)
     Q_PROPERTY(qreal contentsScale READ contentsScale WRITE setContentsScale NOTIFY contentsScaleChanged)
     Q_PROPERTY(RenderTarget renderTarget READ renderTarget WRITE setRenderTarget NOTIFY renderTargetChanged)
+    Q_PROPERTY(QSize textureSize READ textureSize WRITE setTextureSize NOTIFY textureSizeChanged)
+
 public:
     QQuickPaintedItem(QQuickItem *parent = 0);
     virtual ~QQuickPaintedItem();
@@ -58,6 +59,7 @@ public:
         FramebufferObject,
         InvertedYFramebufferObject
     };
+    Q_ENUM(RenderTarget)
 
     enum PerformanceHint {
         FastFBOResizing = 0x1
@@ -88,6 +90,9 @@ public:
     qreal contentsScale() const;
     void setContentsScale(qreal);
 
+    QSize textureSize() const;
+    void setTextureSize(const QSize &size);
+
     QColor fillColor() const;
     void setFillColor(const QColor&);
 
@@ -104,6 +109,7 @@ Q_SIGNALS:
     void contentsSizeChanged();
     void contentsScaleChanged();
     void renderTargetChanged();
+    void textureSizeChanged();
 
 protected:
     QQuickPaintedItem(QQuickPaintedItemPrivate &dd, QQuickItem *parent = 0);
diff --git a/src/quick/items/qquickview.h b/src/quick/items/qquickview.h
index f094c5a..80da0ba 100644
--- a/src/quick/items/qquickview.h
+++ b/src/quick/items/qquickview.h
@@ -53,7 +53,6 @@ class Q_QUICK_EXPORT QQuickView : public QQuickWindow
     Q_PROPERTY(ResizeMode resizeMode READ resizeMode WRITE setResizeMode)
     Q_PROPERTY(Status status READ status NOTIFY statusChanged)
     Q_PROPERTY(QUrl source READ source WRITE setSource DESIGNABLE true)
-    Q_ENUMS(ResizeMode Status)
 public:
     explicit QQuickView(QWindow *parent = 0);
     QQuickView(QQmlEngine* engine, QWindow *parent);
@@ -68,10 +67,12 @@ public:
     QQuickItem *rootObject() const;
 
     enum ResizeMode { SizeViewToRootObject, SizeRootObjectToView };
+    Q_ENUM(ResizeMode)
     ResizeMode resizeMode() const;
     void setResizeMode(ResizeMode);
 
     enum Status { Null, Ready, Loading, Error };
+    Q_ENUM(Status)
     Status status() const;
 
     QList<QQmlError> errors() const;
diff --git a/src/quick/items/qquickwindow.h b/src/quick/items/qquickwindow.h
index f7a1956..d5bf9fb 100644
--- a/src/quick/items/qquickwindow.h
+++ b/src/quick/items/qquickwindow.h
@@ -69,7 +69,8 @@ public:
         TextureHasAlphaChannel  = 0x0001,
         TextureHasMipmaps       = 0x0002,
         TextureOwnsGLTexture    = 0x0004,
-        TextureCanUseAtlas      = 0x0008
+        TextureCanUseAtlas      = 0x0008,
+        TextureIsOpaque         = 0x0010
     };
 
     enum RenderStage {
@@ -77,7 +78,8 @@ public:
         AfterSynchronizingStage,
         BeforeRenderingStage,
         AfterRenderingStage,
-        AfterSwapStage
+        AfterSwapStage,
+        NoStage
     };
 
     Q_DECLARE_FLAGS(CreateTextureOptions, CreateTextureOption)
@@ -85,7 +87,7 @@ public:
     enum SceneGraphError {
         ContextNotAvailable = 1
     };
-    Q_ENUMS(SceneGraphError)
+    Q_ENUM(SceneGraphError)
 
     QQuickWindow(QWindow *parent = 0);
     explicit QQuickWindow(QQuickRenderControl *renderControl);
diff --git a/src/quick/scenegraph/util/qsgengine.h b/src/quick/scenegraph/util/qsgengine.h
index 9a74a02..325d3a9 100644
--- a/src/quick/scenegraph/util/qsgengine.h
+++ b/src/quick/scenegraph/util/qsgengine.h
@@ -52,7 +52,8 @@ public:
     enum CreateTextureOption {
         TextureHasAlphaChannel  = 0x0001,
         TextureOwnsGLTexture    = 0x0004,
-        TextureCanUseAtlas      = 0x0008
+        TextureCanUseAtlas      = 0x0008,
+        TextureIsOpaque         = 0x0010
     };
     Q_DECLARE_FLAGS(CreateTextureOptions, CreateTextureOption)
 
diff --git a/src/quick/util/qquickimageprovider.h b/src/quick/util/qquickimageprovider.h
index a2b510f..cc03eb0 100644
--- a/src/quick/util/qquickimageprovider.h
+++ b/src/quick/util/qquickimageprovider.h
@@ -43,6 +43,7 @@ QT_BEGIN_NAMESPACE
 
 
 class QQuickImageProviderPrivate;
+class QQuickAsyncImageProviderPrivate;
 class QSGTexture;
 class QQuickWindow;
 
@@ -56,6 +57,25 @@ public:
     virtual QSize textureSize() const = 0;
     virtual int textureByteCount() const = 0;
     virtual QImage image() const;
+
+    static QQuickTextureFactory *textureFactoryForImage(const QImage &image);
+};
+
+class Q_QUICK_EXPORT QQuickImageResponse : public QObject
+{
+Q_OBJECT
+public:
+    QQuickImageResponse();
+    virtual ~QQuickImageResponse();
+
+    virtual QQuickTextureFactory *textureFactory() const = 0;
+    virtual QString errorString() const;
+
+public Q_SLOTS:
+    virtual void cancel();
+
+Q_SIGNALS:
+    void finished();
 };
 
 class Q_QUICK_EXPORT QQuickImageProvider : public QQmlImageProviderBase
@@ -81,6 +101,18 @@ private:
     QQuickImageProviderPrivate *d;
 };
 
+class Q_QUICK_EXPORT QQuickAsyncImageProvider : public QQuickImageProvider
+{
+public:
+    QQuickAsyncImageProvider();
+    virtual ~QQuickAsyncImageProvider();
+
+    virtual QQuickImageResponse *requestImageResponse(const QString &id, const QSize &requestedSize) = 0;
+
+private:
+    QQuickAsyncImageProviderPrivate *d;
+};
+
 QT_END_NAMESPACE
 
 #endif // QQUICKIMAGEPROVIDER_H
_______________________________________________
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development

Reply via email to