diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2018-08-02 16:34:43 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2018-08-03 09:36:57 +0000 |
commit | cdf154e65a3137597f62880361c407e368aae0d6 (patch) | |
tree | aedd64b491c8cdef8ba329d81700bf6f2d4273fb /src/gui/painting/qpaintengine_raster_p.h | |
parent | d2d59e77d5e16bc79ddfed37f4f29d1dcd9b92a7 (diff) | |
download | qtbase-cdf154e65a3137597f62880361c407e368aae0d6.tar.gz |
Optimize blits of any compatible formats
The fast image blending is only used for SourceOver composition, but
several of our embedded backends make heavy use of Source composition
which doesn't have a short-cut. This patch adds a blitting short cut
that works in those cases.
Task-number: QTBUG-69724
Change-Id: Icc61a67cc27bc83863153d69cae60dd986d26f69
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'src/gui/painting/qpaintengine_raster_p.h')
-rw-r--r-- | src/gui/painting/qpaintengine_raster_p.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/gui/painting/qpaintengine_raster_p.h b/src/gui/painting/qpaintengine_raster_p.h index 8c6f668d9d..14eddf07b1 100644 --- a/src/gui/painting/qpaintengine_raster_p.h +++ b/src/gui/painting/qpaintengine_raster_p.h @@ -291,6 +291,8 @@ public: void drawImage(const QPointF &pt, const QImage &img, SrcOverBlendFunc func, const QRect &clip, int alpha, const QRect &sr = QRect()); + void blitImage(const QPointF &pt, const QImage &img, + const QRect &clip, const QRect &sr = QRect()); QTransform brushMatrix() const { Q_Q(const QRasterPaintEngine); @@ -313,6 +315,7 @@ public: void recalculateFastImages(); bool canUseFastImageBlending(QPainter::CompositionMode mode, const QImage &image) const; + bool canUseImageBlitting(QPainter::CompositionMode mode, const QImage &image) const; QPaintDevice *device; QScopedPointer<QOutlineMapper> outlineMapper; |