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.
This class was introduced in Qt 4.2.
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 |
Related Non-Members
typedef | QSpan |
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.
This function was introduced in Qt 4.5.
[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.