- Qt 6.5
- Qt GUI
- C++ Classes
- QRasterPaintEngine
- Qt 6.5.0 Reference Documentation

# QRasterPaintEngine Class

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

Header: | #include <QRasterPaintEngine>
CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: | QT += gui
Inherits: | QPaintEngineEx

This class is under development and is subject to change.

- List of all members, including inherited members

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