QRasterPaintEngine Class

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

Header: #include <QRasterPaintEngine>
CMake: find_package(Qt6 COMPONENTS Gui REQUIRED)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui
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 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

Detailed Description

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.

[virtual] QRasterPaintEngine::~QRasterPaintEngine()

Destroys this paint engine.

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

Reimplements: QPaintEngine::begin(QPaintDevice *pdev).

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

Reimplements: QPaintEngine::drawEllipse(const QRectF &rect).

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

Reimplements: QPaintEngine::drawImage(const QRectF &rectangle, const QImage &image, const QRectF &sr, Qt::ImageConversionFlags flags).

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

Reimplements: QPaintEngine::drawLines(const QLine *lines, int lineCount).

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

Reimplements: QPaintEngine::drawLines(const QLineF *lines, int lineCount).

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

Reimplements: QPaintEngine::drawPixmap(const QRectF &r, const QPixmap &pm, const QRectF &sr).

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

Reimplements: QPaintEngine::drawPoints(const QPointF *points, int pointCount).

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

Reimplements: QPaintEngine::drawPolygon(const QPointF *points, int pointCount, QPaintEngine::PolygonDrawMode mode).

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

Reimplements: QPaintEngine::drawPolygon(const QPoint *points, int pointCount, QPaintEngine::PolygonDrawMode mode).

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

Reimplements: QPaintEngine::drawRects(const QRect *rects, int rectCount).

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

Reimplements: QPaintEngine::drawRects(const QRectF *rects, int rectCount).

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

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

Reimplements: QPaintEngine::drawTextItem(const QPointF &p, const QTextItem &textItem).

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

Reimplements: QPaintEngine::drawTiledPixmap(const QRectF &rect, const QPixmap &pixmap, const QPointF &p).

[override virtual] bool QRasterPaintEngine::end()

Reimplements: 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

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

Related Non-Members

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