From a4f849ff8c55146694487d888bfed0bfc7d70e52 Mon Sep 17 00:00:00 2001 From: Louai Al-Khanji Date: Wed, 2 Dec 2015 11:01:36 -0800 Subject: Raster and Blitter engines: method override markups and fixes While investigating a rendering bug I noticed that methods marked in the blitter engine as virtual and intended to override a base implementation where in fact just shadowing a non-virtual method in the raster engine. Fix that and add Q_DECL_OVERRIDE all around to avoid similar breakage in the future. Change-Id: I24c5bb27fb6d3ac57dddb704a14dab7ce153a72a Reviewed-by: Gunnar Sletta --- src/gui/painting/qpaintengine_raster_p.h | 85 ++++++++++++++++---------------- 1 file changed, 43 insertions(+), 42 deletions(-) (limited to 'src/gui/painting/qpaintengine_raster_p.h') diff --git a/src/gui/painting/qpaintengine_raster_p.h b/src/gui/painting/qpaintengine_raster_p.h index 4e6e0b2f73..93b9dfdc9b 100644 --- a/src/gui/painting/qpaintengine_raster_p.h +++ b/src/gui/painting/qpaintengine_raster_p.h @@ -128,20 +128,20 @@ public: QRasterPaintEngine(QPaintDevice *device); ~QRasterPaintEngine(); - bool begin(QPaintDevice *device); - bool end(); - - void penChanged(); - void brushChanged(); - void brushOriginChanged(); - void opacityChanged(); - void compositionModeChanged(); - void renderHintsChanged(); - void transformChanged(); - void clipEnabledChanged(); - - void setState(QPainterState *s); - QPainterState *createState(QPainterState *orig) const; + bool begin(QPaintDevice *device) Q_DECL_OVERRIDE; + bool end() Q_DECL_OVERRIDE; + + void penChanged() Q_DECL_OVERRIDE; + void brushChanged() Q_DECL_OVERRIDE; + void brushOriginChanged() Q_DECL_OVERRIDE; + void opacityChanged() Q_DECL_OVERRIDE; + void compositionModeChanged() Q_DECL_OVERRIDE; + void renderHintsChanged() Q_DECL_OVERRIDE; + void transformChanged() Q_DECL_OVERRIDE; + void clipEnabledChanged() Q_DECL_OVERRIDE; + + void setState(QPainterState *s) Q_DECL_OVERRIDE; + QPainterState *createState(QPainterState *orig) const Q_DECL_OVERRIDE; inline QRasterPaintEngineState *state() { return static_cast(QPaintEngineEx::state()); } @@ -154,42 +154,43 @@ public: void updateMatrix(const QTransform &matrix); - void drawPolygon(const QPointF *points, int pointCount, PolygonDrawMode mode); - void drawPolygon(const QPoint *points, int pointCount, PolygonDrawMode mode); - void fillPath(const QPainterPath &path, QSpanData *fillData); - void fillPolygon(const QPointF *points, int pointCount, PolygonDrawMode mode); + virtual void fillPath(const QPainterPath &path, QSpanData *fillData); + virtual void fillPolygon(const QPointF *points, int pointCount, PolygonDrawMode mode); - void drawEllipse(const QRectF &rect); + void drawPolygon(const QPointF *points, int pointCount, PolygonDrawMode mode) Q_DECL_OVERRIDE; + void drawPolygon(const QPoint *points, int pointCount, PolygonDrawMode mode) Q_DECL_OVERRIDE; - void fillRect(const QRectF &rect, const QBrush &brush); - void fillRect(const QRectF &rect, const QColor &color); + void drawEllipse(const QRectF &rect) Q_DECL_OVERRIDE; - void drawRects(const QRect *rects, int rectCount); - void drawRects(const QRectF *rects, int rectCount); + void fillRect(const QRectF &rect, const QBrush &brush) Q_DECL_OVERRIDE; + void fillRect(const QRectF &rect, const QColor &color) Q_DECL_OVERRIDE; - void drawPixmap(const QPointF &p, const QPixmap &pm); - void drawPixmap(const QRectF &r, const QPixmap &pm, const QRectF &sr); - void drawImage(const QPointF &p, const QImage &img); + void drawRects(const QRect *rects, int rectCount) Q_DECL_OVERRIDE; + void drawRects(const QRectF *rects, int rectCount) Q_DECL_OVERRIDE; + + void drawPixmap(const QPointF &p, const QPixmap &pm) Q_DECL_OVERRIDE; + void drawPixmap(const QRectF &r, const QPixmap &pm, const QRectF &sr) Q_DECL_OVERRIDE; + void drawImage(const QPointF &p, const QImage &img) Q_DECL_OVERRIDE; void drawImage(const QRectF &r, const QImage &pm, const QRectF &sr, - Qt::ImageConversionFlags flags = Qt::AutoColor); - void drawTiledPixmap(const QRectF &r, const QPixmap &pm, const QPointF &sr); - void drawTextItem(const QPointF &p, const QTextItem &textItem); + Qt::ImageConversionFlags flags = Qt::AutoColor) Q_DECL_OVERRIDE; + void drawTiledPixmap(const QRectF &r, const QPixmap &pm, const QPointF &sr) Q_DECL_OVERRIDE; + void drawTextItem(const QPointF &p, const QTextItem &textItem) Q_DECL_OVERRIDE; - void drawLines(const QLine *line, int lineCount); - void drawLines(const QLineF *line, int lineCount); + void drawLines(const QLine *line, int lineCount) Q_DECL_OVERRIDE; + void drawLines(const QLineF *line, int lineCount) Q_DECL_OVERRIDE; - void drawPoints(const QPointF *points, int pointCount); - void drawPoints(const QPoint *points, int pointCount); + void drawPoints(const QPointF *points, int pointCount) Q_DECL_OVERRIDE; + void drawPoints(const QPoint *points, int pointCount) Q_DECL_OVERRIDE; - void stroke(const QVectorPath &path, const QPen &pen); - void fill(const QVectorPath &path, const QBrush &brush); + void stroke(const QVectorPath &path, const QPen &pen) Q_DECL_OVERRIDE; + void fill(const QVectorPath &path, const QBrush &brush) Q_DECL_OVERRIDE; - void clip(const QVectorPath &path, Qt::ClipOperation op); - void clip(const QRect &rect, Qt::ClipOperation op); - void clip(const QRegion ®ion, Qt::ClipOperation op); + void clip(const QVectorPath &path, Qt::ClipOperation op) Q_DECL_OVERRIDE; + void clip(const QRect &rect, Qt::ClipOperation op) Q_DECL_OVERRIDE; + void clip(const QRegion ®ion, Qt::ClipOperation op) Q_DECL_OVERRIDE; inline const QClipData *clipData() const; - void drawStaticTextItem(QStaticTextItem *textItem); + void drawStaticTextItem(QStaticTextItem *textItem) Q_DECL_OVERRIDE; virtual bool drawCachedGlyphs(int numGlyphs, const glyph_t *glyphs, const QFixedPoint *positions, QFontEngine *fontEngine); @@ -219,12 +220,12 @@ public: QRasterBuffer *rasterBuffer(); void alphaPenBlt(const void* src, int bpl, int depth, int rx,int ry,int w,int h); - Type type() const { return Raster; } + Type type() const Q_DECL_OVERRIDE { return Raster; } QPoint coordinateOffset() const; - bool requiresPretransformedGlyphPositions(QFontEngine *fontEngine, const QTransform &m) const; - bool shouldDrawCachedGlyphs(QFontEngine *fontEngine, const QTransform &m) const; + bool requiresPretransformedGlyphPositions(QFontEngine *fontEngine, const QTransform &m) const Q_DECL_OVERRIDE; + bool shouldDrawCachedGlyphs(QFontEngine *fontEngine, const QTransform &m) const Q_DECL_OVERRIDE; protected: QRasterPaintEngine(QRasterPaintEnginePrivate &d, QPaintDevice *); -- cgit v1.2.3