diff options
author | Holger Hans Peter Freyther <holger@moiji-mobile.com> | 2012-01-01 22:12:34 +0100 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-01-02 10:44:00 +0100 |
commit | 6a1ee9667f42b98bd0a28d4beef8e15adbc241e1 (patch) | |
tree | 385bbfb078432db700e8a710824b36675125de51 /src/gui/image/qpixmap_blitter_p.h | |
parent | ca1921ffe99c95847b810317f9143e27a7cb0967 (diff) |
blitter: Base QBlitterPaintEngine on QRasterPaintEngine
The original intention was to identify a clipping bug, it turns out
that during a ::begin() (and systemChanged) we should forward the
QPaintEnginePrivate state to our proxy engine.
Instead of using the proxy-pattern subclass rasterengine and
specialize the paths we are able to accelerate using the blitter
interface. This will avoid similiar problems in the future. I have
no performance measurement to show which of the two approaches is
faster/slower.
Change-Id: I39bff11b32b1fe20284c7e8df60050de5991bb6e
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Diffstat (limited to 'src/gui/image/qpixmap_blitter_p.h')
-rw-r--r-- | src/gui/image/qpixmap_blitter_p.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/gui/image/qpixmap_blitter_p.h b/src/gui/image/qpixmap_blitter_p.h index b0a9b7f848..50ac16889a 100644 --- a/src/gui/image/qpixmap_blitter_p.h +++ b/src/gui/image/qpixmap_blitter_p.h @@ -72,8 +72,11 @@ public: void markRasterOverlay(const QRectF &); void markRasterOverlay(const QPointF &, const QTextItem &); void markRasterOverlay(const QVectorPath &); + void markRasterOverlay(const QPainterPath &); void markRasterOverlay(const QRect *rects, int rectCount); void markRasterOverlay(const QRectF *rects, int rectCount); + void markRasterOverlay(const QPointF *points, int pointCount); + void markRasterOverlay(const QPoint *points, int pointCount); void unmarkRasterOverlay(const QRectF &); #ifdef QT_BLITTER_RASTEROVERLAY @@ -153,6 +156,35 @@ inline void QBlittablePlatformPixmap::markRasterOverlay(const QRectF *rects, int #endif } +inline void QBlittablePlatformPixmap::markRasterOverlay(const QPointF *points, int pointCount) +{ +#ifdef QT_BLITTER_RASTEROVERLAY +#error "not ported yet" +#else + Q_UNUSED(points); + Q_UNUSED(pointCount); +#endif +} + +inline void QBlittablePlatformPixmap::markRasterOverlay(const QPoint *points, int pointCount) +{ +#ifdef QT_BLITTER_RASTEROVERLAY +#error "not ported yet" +#else + Q_UNUSED(points); + Q_UNUSED(pointCount); +#endif +} + +inline void QBlittablePlatformPixmap::markRasterOverlay(const QPainterPath& path) +{ +#ifdef QT_BLITTER_RASTEROVERLAY +#error "not ported yet" +#else + Q_UNUSED(path); +#endif +} + inline void QBlittablePlatformPixmap::unmarkRasterOverlay(const QRectF &rect) { #ifdef QT_BLITTER_RASTEROVERLAY |