diff options
author | Gunnar Sletta <gunnar.sletta@digia.com> | 2013-02-11 11:14:04 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-02-12 08:46:36 +0100 |
commit | edb924b93c55dc5576849b2e93ba55fc7ee0df63 (patch) | |
tree | dc8bf0f049cef0c11b42781324dcd3656b2c2592 /src/quick/util/qquickpixmapcache.cpp | |
parent | b907a01b467b551756b108f6c9a04d7e7382ae64 (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.cpp | 11 |
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(); |