diff options
author | Jason Barron <jbarron@trolltech.com> | 2009-08-21 08:57:24 (GMT) |
---|---|---|
committer | Jason Barron <jbarron@trolltech.com> | 2009-08-21 08:57:24 (GMT) |
commit | 49c5acd406f5d2607b7a66d38d6279aa8c78f7f9 (patch) | |
tree | f45126f94631d128a05817e8179ebbaaa607df60 /src/gui/embedded/qscreen_qws.cpp | |
parent | a44894a39113e0eb9d4f7c912eee4671b3f391c1 (diff) | |
parent | 8280ed177d798aeaf82868ba6c7c8c4250051f1d (diff) | |
download | Qt-49c5acd406f5d2607b7a66d38d6279aa8c78f7f9.zip Qt-49c5acd406f5d2607b7a66d38d6279aa8c78f7f9.tar.gz Qt-49c5acd406f5d2607b7a66d38d6279aa8c78f7f9.tar.bz2 |
Merge commit 'qt/master'
Conflicts:
examples/graphicsview/graphicsview.pro
Diffstat (limited to 'src/gui/embedded/qscreen_qws.cpp')
-rw-r--r-- | src/gui/embedded/qscreen_qws.cpp | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/src/gui/embedded/qscreen_qws.cpp b/src/gui/embedded/qscreen_qws.cpp index 1d49bd1..cee4a21 100644 --- a/src/gui/embedded/qscreen_qws.cpp +++ b/src/gui/embedded/qscreen_qws.cpp @@ -181,7 +181,27 @@ void QScreenCursor::set(const QImage &image, int hotx, int hoty) const QRect r = boundingRect(); hotspot = QPoint(hotx, hoty); - cursor = image; + // These are in almost all cases the fastest formats to blend + QImage::Format f; + switch (qt_screen->depth()) { + case 12: + f = QImage::Format_ARGB4444_Premultiplied; + break; + case 15: + f = QImage::Format_ARGB8555_Premultiplied; + break; + case 16: + f = QImage::Format_ARGB8565_Premultiplied; + break; + case 18: + f = QImage::Format_ARGB6666_Premultiplied; + break; + default: + f = QImage::Format_ARGB32_Premultiplied; + } + + cursor = image.convertToFormat(f); + size = image.size(); if (enable && !hwaccel) |