aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/util/qquickpixmapcache.cpp
diff options
context:
space:
mode:
authorGunnar Sletta <gunnar.sletta@digia.com>2013-02-11 11:14:04 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-02-12 08:46:36 +0100
commitedb924b93c55dc5576849b2e93ba55fc7ee0df63 (patch)
treedc8bf0f049cef0c11b42781324dcd3656b2c2592 /src/quick/util/qquickpixmapcache.cpp
parentb907a01b467b551756b108f6c9a04d7e7382ae64 (diff)
Do pixel conversion on the pixmap decoder thread when possible
Change-Id: Id991bee5c0a8b260fc1ca4395402970c6a722b5d Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Diffstat (limited to 'src/quick/util/qquickpixmapcache.cpp')
-rw-r--r--src/quick/util/qquickpixmapcache.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/quick/util/qquickpixmapcache.cpp b/src/quick/util/qquickpixmapcache.cpp
index dda2fbe2b0..7a9bea3aa0 100644
--- a/src/quick/util/qquickpixmapcache.cpp
+++ b/src/quick/util/qquickpixmapcache.cpp
@@ -91,6 +91,17 @@ static inline QString imageId(const QUrl &url)
return url.toString(QUrl::RemoveScheme | QUrl::RemoveAuthority).mid(1);
}
+QQuickDefaultTextureFactory::QQuickDefaultTextureFactory(const QImage &image)
+{
+ if (image.format() == QImage::Format_ARGB32_Premultiplied
+ || image.format() == QImage::Format_RGB32) {
+ im = image;
+ } else {
+ im = image.convertToFormat(QImage::Format_ARGB32_Premultiplied);
+ }
+}
+
+
QSGTexture *QQuickDefaultTextureFactory::createTexture(QQuickWindow *) const
{
QSGPlainTexture *t = new QSGPlainTexture();