summaryrefslogtreecommitdiffstats
path: root/src/gui/image/qpixmap_blitter.cpp
diff options
context:
space:
mode:
authorJørgen Lind <jorgen.lind@nokia.com>2010-01-05 12:09:20 +0100
committerJørgen Lind <jorgen.lind@nokia.com>2010-01-05 12:09:20 +0100
commit5e4b2e2591bb1b5897b29c43fa35b0a60fd43d56 (patch)
tree84c3a6c8def77ca0a518a9e9da7a1d52d1fcbc0c /src/gui/image/qpixmap_blitter.cpp
parent781e8b00979f22de15a17510121be1ad20630c7a (diff)
Make sure that premultiplied surfaces are used
and clean up a bit. Also removed alot of unnecessary windowsurface code
Diffstat (limited to 'src/gui/image/qpixmap_blitter.cpp')
-rw-r--r--src/gui/image/qpixmap_blitter.cpp8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/gui/image/qpixmap_blitter.cpp b/src/gui/image/qpixmap_blitter.cpp
index 3b18ca9b65..3613211e9a 100644
--- a/src/gui/image/qpixmap_blitter.cpp
+++ b/src/gui/image/qpixmap_blitter.cpp
@@ -29,15 +29,13 @@ QBlittable *QBlittablePixmapData::blittable() const
void QBlittablePixmapData::setBlittable(QBlittable *blittable)
{
- if (m_blittable)
- delete m_blittable;
+ delete m_blittable;
+ resize(blittable->rect().width(),blittable->rect().height());
m_blittable = blittable;
}
void QBlittablePixmapData::resize(int width, int height)
{
- delete m_blittable;
- m_blittable = 0;
delete m_engine;
m_engine = 0;
d = QApplicationPrivate::graphicsSystem()->screens().at(0)->depth();
@@ -78,7 +76,7 @@ int QBlittablePixmapData::metric(QPaintDevice::PaintDeviceMetric metric) const
void QBlittablePixmapData::fill(const QColor &color)
{
if (blittable()->capabilities() & QBlittable::SolidRectCapability)
- blittable()->fillRect(m_blittable->rect(),color);
+ blittable()->fillRect(QRectF(0,0,w,h),color);
else
blittable()->lock()->fill(color.rgb());
}