summaryrefslogtreecommitdiffstats
path: root/src/gui/image
diff options
context:
space:
mode:
authorJulien Brianceau <jbrianceau@nds.com>2012-09-11 14:30:11 (GMT)
committerQt by Nokia <qt-info@nokia.com>2012-09-12 05:42:25 (GMT)
commit3dc047a4e11d2b18259d3ee383e81147c9098cb7 (patch)
treec1ad99346019a1c1baf844f0f50e03251729798f /src/gui/image
parent6c564607770479173967b9a74926cbe1c4bc109e (diff)
downloadQt-3dc047a4e11d2b18259d3ee383e81147c9098cb7.zip
Qt-3dc047a4e11d2b18259d3ee383e81147c9098cb7.tar.gz
Qt-3dc047a4e11d2b18259d3ee383e81147c9098cb7.tar.bz2
qpa: add non-opaque fill support
Add non-opaque fill support for qpa through new QBlittable flag "AlphaFillRectCapability" and add related implementation in DirectFB qpa platform. cherry-picked from qt5/qtbase aab15782e21bf0aaea7f2211278e9aa9fc78c6d7 Change-Id: Ia1c74c2926d2e244290dcb62cbd3b6848ba95707 Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Diffstat (limited to 'src/gui/image')
-rw-r--r--src/gui/image/qpixmap_blitter.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/gui/image/qpixmap_blitter.cpp b/src/gui/image/qpixmap_blitter.cpp
index fd1742c..76a1a7d 100644
--- a/src/gui/image/qpixmap_blitter.cpp
+++ b/src/gui/image/qpixmap_blitter.cpp
@@ -133,8 +133,10 @@ int QBlittablePixmapData::metric(QPaintDevice::PaintDeviceMetric metric) const
void QBlittablePixmapData::fill(const QColor &color)
{
- //jlind: todo: change when blittables can support non opaque fillRects
- if (color.alpha() == 255 && blittable()->capabilities() & QBlittable::SolidRectCapability) {
+ if (blittable()->capabilities() & QBlittable::AlphaFillRectCapability) {
+ blittable()->unlock();
+ blittable()->alphaFillRect(QRectF(0,0,w,h),color,QPainter::CompositionMode_Source);
+ } else if (color.alpha() == 255 && blittable()->capabilities() & QBlittable::SolidRectCapability) {
blittable()->unlock();
blittable()->fillRect(QRectF(0,0,w,h),color);
} else {