QRasterPaintEngine Class
The QRasterPaintEngine class enables hardware acceleration of painting operations in Qt for Embedded Linux. More...
Header: | #include <QRasterPaintEngine> |
Inherits: | QPaintEngineEx |
Public Types
enum | ClipType { RectClip, ComplexClip } |
Public Functions
QRasterPaintEngine(QPaintDevice *device) | |
virtual | ~QRasterPaintEngine() |
void | alphaPenBlt(const void *src, int bpl, int depth, int rx, int ry, int w, int h, bool useGammaCorrection) |
QRectF | clipBoundingRect() const |
ClipType | clipType() const |
virtual bool | drawCachedGlyphs(int numGlyphs, const glyph_t *glyphs, const QFixedPoint *positions, QFontEngine *fontEngine) |
virtual void | fillPath(const QPainterPath &path, QSpanData *fillData) |
virtual void | fillPolygon(const QPointF *points, int pointCount, PolygonDrawMode mode) |
HDC | getDC() const |
QRasterBuffer * | rasterBuffer() |
void | releaseDC(HDC hdc) const |
void | setDC(HDC hdc) |
void | updateBrush(const QBrush &brush) |
void | updateMatrix(const QTransform &matrix) |
void | updatePen(const QPen &pen) |
Reimplemented Public Functions
virtual bool | begin(QPaintDevice *device) override |
virtual void | brushChanged() override |
virtual void | brushOriginChanged() override |
virtual void | clip(const QVectorPath &path, Qt::ClipOperation op) override |
virtual void | clip(const QRect &rect, Qt::ClipOperation op) override |
virtual void | clip(const QRegion ®ion, Qt::ClipOperation op) override |
virtual void | clipEnabledChanged() override |
virtual void | compositionModeChanged() override |
virtual QPoint | coordinateOffset() const override |
virtual QPainterState * | createState(QPainterState *orig) const override |
virtual void | drawEllipse(const QRectF &rect) override |
virtual void | drawImage(const QPointF &p, const QImage &img) 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 QPointF &pos, const QPixmap &pixmap) 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, PolygonDrawMode mode) override |
virtual void | drawPolygon(const QPoint *points, int pointCount, 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 | fill(const QVectorPath &path, const QBrush &brush) override |
virtual void | fillRect(const QRectF &r, const QBrush &brush) override |
virtual void | fillRect(const QRectF &r, const QColor &color) override |
virtual void | opacityChanged() override |
virtual void | penChanged() override |
virtual void | renderHintsChanged() override |
virtual bool | requiresPretransformedGlyphPositions(QFontEngine *fontEngine, const QTransform &m) const override |
virtual void | setState(QPainterState *s) override |
virtual bool | shouldDrawCachedGlyphs(QFontEngine *fontEngine, const QTransform &m) const override |
virtual void | stroke(const QVectorPath &path, const QPen &pen) override |
virtual void | transformChanged() override |
Static Public Members
bool | clearTypeFontsEnabled() |
Protected Functions
QRasterPaintEngine(QRasterPaintEnginePrivate &dd, QPaintDevice *device) |
Detailed Description
\internal
\inmodule
QtGui \since
4.2
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 Type Documentation
enum QRasterPaintEngine::ClipType
\internal
Constant | Value | Description |
---|---|---|
QRasterPaintEngine::RectClip | 0 | Indicates that the currently set clip is a single rectangle. |
QRasterPaintEngine::ComplexClip | 1 | Indicates that the currently set clip is a combination of several shapes. |
Member Function Documentation
QRasterPaintEngine::QRasterPaintEngine(QPaintDevice *device)
\since
4.5
Creates a raster based paint engine for operating on the given device, with the complete set of paint engine features and capabilities.
[protected]
QRasterPaintEngine::QRasterPaintEngine(QRasterPaintEnginePrivate &dd, QPaintDevice *device)
\internal
[virtual noexcept]
QRasterPaintEngine::~QRasterPaintEngine()
Destroys this paint engine.
void QRasterPaintEngine::alphaPenBlt(const void *src, int bpl, int depth, int rx, int ry, int w, int h, bool useGammaCorrection)
\internal
[override virtual]
bool QRasterPaintEngine::begin(QPaintDevice *device)
Reimplements: QPaintEngine::begin(QPaintDevice *pdev).
[override virtual]
void QRasterPaintEngine::brushChanged()
\internal
[override virtual]
void QRasterPaintEngine::brushOriginChanged()
\internal
[static]
bool QRasterPaintEngine::clearTypeFontsEnabled()
\internal
[override virtual]
void QRasterPaintEngine::clip(const QVectorPath &path, Qt::ClipOperation op)
\internal
[override virtual]
void QRasterPaintEngine::clip(const QRect &rect, Qt::ClipOperation op)
\internal
[override virtual]
void QRasterPaintEngine::clip(const QRegion ®ion, Qt::ClipOperation op)
\internal
QRectF QRasterPaintEngine::clipBoundingRect() const
\internal
Returns the bounding rect of the currently set clip.
[override virtual]
void QRasterPaintEngine::clipEnabledChanged()
\internal
ClipType QRasterPaintEngine::clipType() const
\internal
Returns the type of the clip currently set.
[override virtual]
void QRasterPaintEngine::compositionModeChanged()
\internal
[override virtual]
QPoint QRasterPaintEngine::coordinateOffset() const
Reimplements: QPaintEngine::coordinateOffset() const.
\internal
[override virtual]
QPainterState *QRasterPaintEngine::createState(QPainterState *orig) const
\internal
[virtual]
bool QRasterPaintEngine::drawCachedGlyphs(int numGlyphs, const glyph_t *glyphs, const QFixedPoint *positions, QFontEngine *fontEngine)
\internal
[override virtual]
void QRasterPaintEngine::drawEllipse(const QRectF &rect)
Reimplements: QPaintEngine::drawEllipse(const QRectF &rect).
[override virtual]
void QRasterPaintEngine::drawImage(const QPointF &p, const QImage &img)
\internal
[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 QPointF &pos, const QPixmap &pixmap)
\internal
[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, PolygonDrawMode mode)
Reimplements: QPaintEngine::drawPolygon(const QPointF *points, int pointCount, PolygonDrawMode mode).
[override virtual]
void QRasterPaintEngine::drawPolygon(const QPoint *points, int pointCount, PolygonDrawMode mode)
Reimplements: QPaintEngine::drawPolygon(const QPoint *points, int pointCount, 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::fill(const QVectorPath &path, const QBrush &brush)
\internal
[virtual]
void QRasterPaintEngine::fillPath(const QPainterPath &path, QSpanData *fillData)
\internal
[virtual]
void QRasterPaintEngine::fillPolygon(const QPointF *points, int pointCount, PolygonDrawMode mode)
\internal
[override virtual]
void QRasterPaintEngine::fillRect(const QRectF &r, const QBrush &brush)
[override virtual]
void QRasterPaintEngine::fillRect(const QRectF &r, const QColor &color)
HDC QRasterPaintEngine::getDC() const
\internal
[override virtual]
void QRasterPaintEngine::opacityChanged()
\internal
[override virtual]
void QRasterPaintEngine::penChanged()
\internal
QRasterBuffer *QRasterPaintEngine::rasterBuffer()
\internal
void QRasterPaintEngine::releaseDC(HDC hdc) const
\internal
[override virtual]
void QRasterPaintEngine::renderHintsChanged()
\internal
[override virtual]
bool QRasterPaintEngine::requiresPretransformedGlyphPositions(QFontEngine *fontEngine, const QTransform &m) const
\internal
void QRasterPaintEngine::setDC(HDC hdc)
\internal
[override virtual]
void QRasterPaintEngine::setState(QPainterState *s)
\internal
[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.
[override virtual]
void QRasterPaintEngine::stroke(const QVectorPath &path, const QPen &pen)
\internal
[override virtual]
void QRasterPaintEngine::transformChanged()
\internal
void QRasterPaintEngine::updateBrush(const QBrush &brush)
\internal
void QRasterPaintEngine::updateMatrix(const QTransform &matrix)
\internal
void QRasterPaintEngine::updatePen(const QPen &pen)
\internal