aboutsummaryrefslogtreecommitdiffstats
path: root/src/declarative/util/qdeclarativepixmapcache_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/declarative/util/qdeclarativepixmapcache_p.h')
-rw-r--r--src/declarative/util/qdeclarativepixmapcache_p.h34
1 files changed, 23 insertions, 11 deletions
diff --git a/src/declarative/util/qdeclarativepixmapcache_p.h b/src/declarative/util/qdeclarativepixmapcache_p.h
index 542ac3e3a4..a0e35aba5d 100644
--- a/src/declarative/util/qdeclarativepixmapcache_p.h
+++ b/src/declarative/util/qdeclarativepixmapcache_p.h
@@ -48,6 +48,7 @@
#include <QtCore/qurl.h>
#include <private/qintrusivelist_p.h>
+#include <qdeclarativeimageprovider.h>
QT_BEGIN_HEADER
@@ -57,8 +58,25 @@ QT_MODULE(Declarative)
class QDeclarativeEngine;
class QDeclarativePixmapData;
-class QSGTexture;
-class QSGContext;
+class QDeclarativeTextureFactory;
+
+class QDeclarativeDefaultTextureFactory : public QDeclarativeTextureFactory
+{
+ Q_OBJECT
+public:
+ QDeclarativeDefaultTextureFactory(const QImage &i)
+ : im(i)
+ {
+ }
+
+ QSGTexture *createTexture() const;
+ QSize textureSize() const { return im.size(); }
+ int textureByteCount() const { return im.byteCount(); }
+ QImage image() const { return im; }
+
+private:
+ QImage im;
+};
class Q_DECLARATIVE_EXPORT QDeclarativePixmap
{
@@ -87,15 +105,14 @@ public:
const QUrl &url() const;
const QSize &implicitSize() const;
const QSize &requestSize() const;
- const QPixmap &pixmap() const;
- void setPixmap(const QPixmap &);
+ const QImage &image() const;
+ void setImage(const QImage &);
- QSGTexture *texture(QSGContext *context) const;
+ QDeclarativeTextureFactory *textureFactory() const;
QRect rect() const;
int width() const;
int height() const;
- inline operator const QPixmap &() const;
void load(QDeclarativeEngine *, const QUrl &);
void load(QDeclarativeEngine *, const QUrl &, QDeclarativePixmap::Options options);
@@ -117,11 +134,6 @@ private:
friend class QDeclarativePixmapData;
};
-inline QDeclarativePixmap::operator const QPixmap &() const
-{
- return pixmap();
-}
-
Q_DECLARE_OPERATORS_FOR_FLAGS(QDeclarativePixmap::Options)
QT_END_NAMESPACE