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()

Reimplemented Public Functions

virtual bool begin(QPaintDevice *device) override
virtual void drawEllipse(const QRectF &rect) override
virtual void drawImage(const QRectF &r, const QImage &img, const QRectF &sr, Qt::ImageConversionFlags flags = Qt::AutoColor) override
virtual void drawLines(const QLine *lines, int lineCount) override
virtual void drawLines(const QLineF *lines, int lineCount) override
virtual void drawPixmap(const QRectF &r, const QPixmap &pixmap, 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 &pixmap, const QPointF &sr) override
virtual bool end() override
virtual void fillRect(const QRectF &r, const QBrush &brush) override
virtual void fillRect(const QRectF &r, const QColor &color) override
virtual bool shouldDrawCachedGlyphs(QFontEngine *fontEngine, const QTransform &m) const override
virtual QPaintEngine::Type type() const override
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)

Creates a raster based paint engine for operating on the given device, with the complete set of paint engine features and capabilities.

This function was introduced in Qt 4.5.

[virtual] QRasterPaintEngine::~QRasterPaintEngine()

Destroys this paint engine.

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

Reimplemented from QPaintEngine::begin().

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

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

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

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

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

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

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

This is an overloaded function.

[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)

Reimplemented from QPaintEngine::drawTextItem().

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

[override virtual] bool QRasterPaintEngine::end()

Reimplemented from QPaintEngine::end().

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

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

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

Indicates whether glyph caching is supported by the font engine fontEngine with the given transform m applied.

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

Reimplemented from QPaintEngine::type().

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).