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.
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.
© 2023 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.