QRasterPaintEngine Class

The QRasterPaintEngine class enables hardware acceleration of painting operations in Qt for Embedded Linux. More...

Header: #include <QRasterPaintEngine>
qmake: QT += gui
Since: Qt 4.2
Inherits: QPaintEngineEx

This class is under development and is subject to change.

Public Functions

QRasterPaintEngine(QPaintDevice *device)
virtual ~QRasterPaintEngine()
void alphaPenBlt(const void *src, int bpl, int depth, int rx, int ry, int w, int h, bool useGammaCorrection)
QRect clipBoundingRect() const
const QClipData *clipData() const
QRasterPaintEngine::ClipType clipType() const
virtual bool drawCachedGlyphs(int numGlyphs, const glyph_t *glyphs, const QFixedPoint *positions, QFontEngine *fontEngine)
virtual void fillPath(const QPainterPath &path, QSpanData *fillData)
virtual void fillPolygon(const QPointF *points, int pointCount, QPaintEngine::PolygonDrawMode mode)
QRasterBuffer *rasterBuffer()
void releaseBuffer()
void saveBuffer(const QString &s) const
QSize size() const
QRasterPaintEngineState *state()
const QRasterPaintEngineState *state() const
void updateBrush(const QBrush &brush)
void updateMatrix(const QTransform &matrix)
void updatePen(const QPen &pen)

Reimplemented Public Functions

virtual bool begin(QPaintDevice *device) override
virtual void brushChanged() override
virtual void brushOriginChanged() override
virtual void clip(const QVectorPath &path, Qt::ClipOperation op) override
virtual void clip(const QRect &rect, Qt::ClipOperation op) override
virtual void clip(const QRegion &region, Qt::ClipOperation op) override
virtual void clipEnabledChanged() override
virtual void compositionModeChanged() override
virtual QPoint coordinateOffset() const override
virtual QPainterState *createState(QPainterState *orig) const override
virtual void drawEllipse(const QRectF &rect) override
virtual void drawImage(const QPointF &p, const QImage &img) override
virtual void drawImage(const QRectF &r, const QImage &pm, const QRectF &sr, Qt::ImageConversionFlags flags = Qt::AutoColor) override
virtual void drawLines(const QLine *line, int lineCount) override
virtual void drawLines(const QLineF *line, int lineCount) override
virtual void drawPixmap(const QPointF &p, const QPixmap &pm) override
virtual void drawPixmap(const QRectF &r, const QPixmap &pm, const QRectF &sr) override
virtual void drawPoints(const QPointF *points, int pointCount) override
virtual void drawPoints(const QPoint *points, int pointCount) override
virtual void drawPolygon(const QPointF *points, int pointCount, QPaintEngine::PolygonDrawMode mode) override
virtual void drawPolygon(const QPoint *points, int pointCount, QPaintEngine::PolygonDrawMode mode) override
virtual void drawRects(const QRect *rects, int rectCount) override
virtual void drawRects(const QRectF *rects, int rectCount) override
virtual void drawStaticTextItem(QStaticTextItem *textItem) override
virtual void drawTextItem(const QPointF &p, const QTextItem &textItem) override
virtual void drawTiledPixmap(const QRectF &r, const QPixmap &pm, const QPointF &sr) override
virtual bool end() override
virtual void fill(const QVectorPath &path, const QBrush &brush) override
virtual void fillRect(const QRectF &rect, const QBrush &brush) override
virtual void fillRect(const QRectF &rect, const QColor &color) override
virtual void opacityChanged() override
virtual void penChanged() override
virtual void renderHintsChanged() override
virtual bool requiresPretransformedGlyphPositions(QFontEngine *fontEngine, const QTransform &m) const override
virtual void setState(QPainterState *s) override
virtual bool shouldDrawCachedGlyphs(QFontEngine *fontEngine, const QTransform &m) const override
virtual void stroke(const QVectorPath &path, const QPen &pen) override
virtual void transformChanged() override
virtual QPaintEngine::Type type() const override

Protected Functions

QRasterPaintEngine(QRasterPaintEnginePrivate &d, QPaintDevice *)
typedef QSpan

Detailed Description

The QRasterPaintEngine class enables hardware acceleration of painting operations in Qt for Embedded Linux.

Note that this functionality is only available in Qt for Embedded Linux.

In Qt for Embedded Linux, painting is a pure software implementation. But starting with Qt 4.2, it is possible to add an accelerated graphics driver to take advantage of available hardware resources.

Hardware acceleration is accomplished by creating a custom screen driver, accelerating the copying from memory to the screen, and implementing a custom paint engine accelerating the various painting operations. Then a custom paint device and a custom window surface must be implemented to make Qt for Embedded Linux aware of the accelerated driver.

Note: The QRasterPaintEngine class does not support 8-bit images. Instead, they need to be converted to a supported format, such as QImage::Format_ARGB32_Premultiplied.

See also QPaintEngine.

Member Function Documentation

QRasterPaintEngine::QRasterPaintEngine(QPaintDevice *device)

Default constructs an instance of QRasterPaintEngine.

[protected] QRasterPaintEngine::QRasterPaintEngine(QRasterPaintEnginePrivate &d, QPaintDevice *)

Default constructs an instance of QRasterPaintEngine.

[virtual] QRasterPaintEngine::~QRasterPaintEngine()

Destroys the instance of QRasterPaintEngine. The destructor is virtual.

void QRasterPaintEngine::alphaPenBlt(const void *src, int bpl, int depth, int rx, int ry, int w, int h, bool useGammaCorrection)

[override virtual] bool QRasterPaintEngine::begin(QPaintDevice *device)

[override virtual] void QRasterPaintEngine::brushChanged()

[override virtual] void QRasterPaintEngine::brushOriginChanged()

[override virtual] void QRasterPaintEngine::clip(const QVectorPath &path, Qt::ClipOperation op)

[override virtual] void QRasterPaintEngine::clip(const QRect &rect, Qt::ClipOperation op)

[override virtual] void QRasterPaintEngine::clip(const QRegion &region, Qt::ClipOperation op)

QRect QRasterPaintEngine::clipBoundingRect() const

const QClipData *QRasterPaintEngine::clipData() const

[override virtual] void QRasterPaintEngine::clipEnabledChanged()

QRasterPaintEngine::ClipType QRasterPaintEngine::clipType() const

[override virtual] void QRasterPaintEngine::compositionModeChanged()

[override virtual] QPoint QRasterPaintEngine::coordinateOffset() const

[override virtual] QPainterState *QRasterPaintEngine::createState(QPainterState *orig) const

[virtual] bool QRasterPaintEngine::drawCachedGlyphs(int numGlyphs, const glyph_t *glyphs, const QFixedPoint *positions, QFontEngine *fontEngine)

[override virtual] void QRasterPaintEngine::drawEllipse(const QRectF &rect)

[override virtual] void QRasterPaintEngine::drawImage(const QPointF &p, const QImage &img)

[override virtual] void QRasterPaintEngine::drawImage(const QRectF &r, const QImage &pm, const QRectF &sr, Qt::ImageConversionFlags flags = Qt::AutoColor)

[override virtual] void QRasterPaintEngine::drawLines(const QLine *line, int lineCount)

[override virtual] void QRasterPaintEngine::drawLines(const QLineF *line, int lineCount)

[override virtual] void QRasterPaintEngine::drawPixmap(const QPointF &p, const QPixmap &pm)

[override virtual] void QRasterPaintEngine::drawPixmap(const QRectF &r, const QPixmap &pm, const QRectF &sr)

[override virtual] void QRasterPaintEngine::drawPoints(const QPointF *points, int pointCount)

[override virtual] void QRasterPaintEngine::drawPoints(const QPoint *points, int pointCount)

[override virtual] void QRasterPaintEngine::drawPolygon(const QPointF *points, int pointCount, QPaintEngine::PolygonDrawMode mode)

[override virtual] void QRasterPaintEngine::drawPolygon(const QPoint *points, int pointCount, QPaintEngine::PolygonDrawMode mode)

[override virtual] void QRasterPaintEngine::drawRects(const QRect *rects, int rectCount)

[override virtual] void QRasterPaintEngine::drawRects(const QRectF *rects, int rectCount)

[override virtual] void QRasterPaintEngine::drawStaticTextItem(QStaticTextItem *textItem)

[override virtual] void QRasterPaintEngine::drawTextItem(const QPointF &p, const QTextItem &textItem)

[override virtual] void QRasterPaintEngine::drawTiledPixmap(const QRectF &r, const QPixmap &pm, const QPointF &sr)

[override virtual] bool QRasterPaintEngine::end()

[override virtual] void QRasterPaintEngine::fill(const QVectorPath &path, const QBrush &brush)

[virtual] void QRasterPaintEngine::fillPath(const QPainterPath &path, QSpanData *fillData)

[virtual] void QRasterPaintEngine::fillPolygon(const QPointF *points, int pointCount, QPaintEngine::PolygonDrawMode mode)

[override virtual] void QRasterPaintEngine::fillRect(const QRectF &rect, const QBrush &brush)

[override virtual] void QRasterPaintEngine::fillRect(const QRectF &rect, const QColor &color)

[override virtual] void QRasterPaintEngine::opacityChanged()

[override virtual] void QRasterPaintEngine::penChanged()

QRasterBuffer *QRasterPaintEngine::rasterBuffer()

void QRasterPaintEngine::releaseBuffer()

[override virtual] void QRasterPaintEngine::renderHintsChanged()

[override virtual] bool QRasterPaintEngine::requiresPretransformedGlyphPositions(QFontEngine *fontEngine, const QTransform &m) const

void QRasterPaintEngine::saveBuffer(const QString &s) const

[override virtual] void QRasterPaintEngine::setState(QPainterState *s)

See also state().

[override virtual] bool QRasterPaintEngine::shouldDrawCachedGlyphs(QFontEngine *fontEngine, const QTransform &m) const

QSize QRasterPaintEngine::size() const

QRasterPaintEngineState *QRasterPaintEngine::state()

See also setState().

const QRasterPaintEngineState *QRasterPaintEngine::state() const

[override virtual] void QRasterPaintEngine::stroke(const QVectorPath &path, const QPen &pen)

[override virtual] void QRasterPaintEngine::transformChanged()

[override virtual] QPaintEngine::Type QRasterPaintEngine::type() const

void QRasterPaintEngine::updateBrush(const QBrush &brush)

void QRasterPaintEngine::updateMatrix(const QTransform &matrix)

void QRasterPaintEngine::updatePen(const QPen &pen)

Related Non-Members

typedef QSpan

A struct equivalent to QT_FT_Span, containing a position (x, y), the span's length in pixels and its color/coverage (a value ranging from 0 to 255).