diff options
author | Gunnar Sletta <gunnar@trolltech.com> | 2009-10-28 12:49:19 (GMT) |
---|---|---|
committer | Gunnar Sletta <gunnar@trolltech.com> | 2009-10-30 09:22:14 (GMT) |
commit | 79eef278228aac21fbf8b21eaa337f2922bc68c1 (patch) | |
tree | f5dee10e99a57e69713726d7195ccbd2df582677 /src/gui/image/qpixmapdata.cpp | |
parent | 8efb1eb4b112dfe718f47a5b99cd9a839ac62752 (diff) | |
download | Qt-79eef278228aac21fbf8b21eaa337f2922bc68c1.zip Qt-79eef278228aac21fbf8b21eaa337f2922bc68c1.tar.gz Qt-79eef278228aac21fbf8b21eaa337f2922bc68c1.tar.bz2 |
Lazily construct QPixmapData's for null pixmaps
Reviewed-by: Trond
Diffstat (limited to 'src/gui/image/qpixmapdata.cpp')
-rw-r--r-- | src/gui/image/qpixmapdata.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/gui/image/qpixmapdata.cpp b/src/gui/image/qpixmapdata.cpp index 1ad1f02..10194e4 100644 --- a/src/gui/image/qpixmapdata.cpp +++ b/src/gui/image/qpixmapdata.cpp @@ -51,6 +51,19 @@ QT_BEGIN_NAMESPACE const uchar qt_pixmap_bit_mask[] = { 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80 }; +QPixmapData *QPixmapData::create(int w, int h, PixelType type) +{ + QPixmapData *data; + QGraphicsSystem* gs = QApplicationPrivate::graphicsSystem(); + if (gs) + data = gs->createPixmapData(static_cast<QPixmapData::PixelType>(type)); + else + data = QGraphicsSystem::createDefaultPixmapData(static_cast<QPixmapData::PixelType>(type)); + data->resize(w, h); + return data; +} + + QPixmapData::QPixmapData(PixelType pixelType, int objectId) : w(0), h(0), |