diff options
author | Julien Brianceau <jbrianceau@nds.com> | 2012-09-11 14:30:11 (GMT) |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-09-12 05:42:25 (GMT) |
commit | 3dc047a4e11d2b18259d3ee383e81147c9098cb7 (patch) | |
tree | c1ad99346019a1c1baf844f0f50e03251729798f /src/gui/image | |
parent | 6c564607770479173967b9a74926cbe1c4bc109e (diff) | |
download | Qt-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.cpp | 6 |
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 { |