![]() |
Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
|
The QRasterPaintEngine class enables hardware acceleration of painting operations in Qt for Embedded Linux. More...
#include <qpaintengine_raster_p.h>
Public Types | |
enum | ClipType { RectClip , ComplexClip } |
Public Types inherited from QPaintEngineEx | |
enum | Flags { DoNotEmulate = 0x01 , IsEmulationEngine = 0x02 } |
Public Types inherited from QPaintEngine | |
enum | PaintEngineFeature { PrimitiveTransform = 0x00000001 , PatternTransform = 0x00000002 , PixmapTransform = 0x00000004 , PatternBrush = 0x00000008 , LinearGradientFill = 0x00000010 , RadialGradientFill = 0x00000020 , ConicalGradientFill = 0x00000040 , AlphaBlend = 0x00000080 , PorterDuff = 0x00000100 , PainterPaths = 0x00000200 , Antialiasing = 0x00000400 , BrushStroke = 0x00000800 , ConstantOpacity = 0x00001000 , MaskedBrush = 0x00002000 , PerspectiveTransform = 0x00004000 , BlendModes = 0x00008000 , ObjectBoundingModeGradients = 0x00010000 , RasterOpModes = 0x00020000 , PaintOutsidePaintEvent = 0x20000000 , AllFeatures = 0xffffffff } |
This enum is used to describe the features or capabilities that the paint engine has. More... | |
enum | DirtyFlag { DirtyPen = 0x0001 , DirtyBrush = 0x0002 , DirtyBrushOrigin = 0x0004 , DirtyFont = 0x0008 , DirtyBackground = 0x0010 , DirtyBackgroundMode = 0x0020 , DirtyTransform = 0x0040 , DirtyClipRegion = 0x0080 , DirtyClipPath = 0x0100 , DirtyHints = 0x0200 , DirtyCompositionMode = 0x0400 , DirtyClipEnabled = 0x0800 , DirtyOpacity = 0x1000 , AllDirty = 0xffff } |
\value DirtyPen The pen is dirty and needs to be updated. More... | |
enum | PolygonDrawMode { OddEvenMode , WindingMode , ConvexMode , PolylineMode } |
\value OddEvenMode The polygon should be drawn using OddEven fill rule. More... | |
enum | Type { X11 , Windows , QuickDraw , CoreGraphics , MacPrinter , QWindowSystem , OpenGL , Picture , SVG , Raster , Direct3D , Pdf , OpenVG , OpenGL2 , PaintBuffer , Blitter , Direct2D , User = 50 , MaxUser = 100 } |
\value X11 \value Windows \value MacPrinter \value CoreGraphics \macos's Quartz2D (CoreGraphics) \value QuickDraw \macos's QuickDraw \value QWindowSystem Qt for Embedded Linux \value OpenGL \value Picture QPicture format \value SVG Scalable Vector Graphics XML format \value Raster \value Direct3D Windows only, Direct3D based engine \value Pdf Portable Document Format \value OpenVG \value User First user type ID \value MaxUser Last user type ID \value OpenGL2 \value PaintBuffer \value Blitter \value Direct2D Windows only, Direct2D based engine More... |
Public Member Functions | |
QRasterPaintEngine (QPaintDevice *device) | |
~QRasterPaintEngine () | |
Destroys this paint engine. | |
bool | begin (QPaintDevice *device) override |
\reimp | |
bool | end () override |
\reimp | |
void | penChanged () override |
void | brushChanged () override |
void | brushOriginChanged () override |
void | opacityChanged () override |
void | compositionModeChanged () override |
void | renderHintsChanged () override |
void | transformChanged () override |
void | clipEnabledChanged () override |
void | setState (QPainterState *s) override |
QPainterState * | createState (QPainterState *orig) const override |
QRasterPaintEngineState * | state () |
const QRasterPaintEngineState * | state () const |
void | updateBrush (const QBrush &brush) |
void | updatePen (const QPen &pen) |
void | updateMatrix (const QTransform &matrix) |
virtual void | fillPath (const QPainterPath &path, QSpanData *fillData) |
virtual void | fillPolygon (const QPointF *points, int pointCount, PolygonDrawMode mode) |
void | drawPolygon (const QPointF *points, int pointCount, PolygonDrawMode mode) override |
\reimp | |
void | drawPolygon (const QPoint *points, int pointCount, PolygonDrawMode mode) override |
\reimp | |
void | drawEllipse (const QRectF &rect) override |
\reimp | |
void | fillRect (const QRectF &rect, const QBrush &brush) override |
\reimp | |
void | fillRect (const QRectF &rect, const QColor &color) override |
\reimp | |
void | drawRects (const QRect *rects, int rectCount) override |
\reimp | |
void | drawRects (const QRectF *rects, int rectCount) override |
\reimp | |
void | drawPixmap (const QPointF &p, const QPixmap &pm) override |
void | drawPixmap (const QRectF &r, const QPixmap &pm, const QRectF &sr) override |
\reimp | |
void | drawImage (const QPointF &p, const QImage &img) override |
void | drawImage (const QRectF &r, const QImage &pm, const QRectF &sr, Qt::ImageConversionFlags flags=Qt::AutoColor) override |
\reimp | |
void | drawTiledPixmap (const QRectF &r, const QPixmap &pm, const QPointF &sr) override |
\reimp | |
void | drawTextItem (const QPointF &p, const QTextItem &textItem) override |
\reimp | |
void | drawLines (const QLine *line, int lineCount) override |
\reimp | |
void | drawLines (const QLineF *line, int lineCount) override |
\reimp | |
void | drawPoints (const QPointF *points, int pointCount) override |
\reimp | |
void | drawPoints (const QPoint *points, int pointCount) override |
Draws the first pointCount points in the buffer points. | |
void | stroke (const QVectorPath &path, const QPen &pen) override |
void | fill (const QVectorPath &path, const QBrush &brush) override |
void | clip (const QVectorPath &path, Qt::ClipOperation op) override |
void | clip (const QRect &rect, Qt::ClipOperation op) override |
void | clip (const QRegion ®ion, Qt::ClipOperation op) override |
const QClipData * | clipData () const |
void | drawStaticTextItem (QStaticTextItem *textItem) override |
\reimp | |
virtual bool | drawCachedGlyphs (int numGlyphs, const glyph_t *glyphs, const QFixedPoint *positions, QFontEngine *fontEngine) |
ClipType | clipType () const |
QRectF | clipBoundingRect () const |
QRasterBuffer * | rasterBuffer () |
void | alphaPenBlt (const void *src, int bpl, int depth, int rx, int ry, int w, int h, bool useGammaCorrection) |
Type | type () const override |
Reimplement this function to return the paint engine \l{Type}. | |
QPoint | coordinateOffset () const override |
bool | requiresPretransformedGlyphPositions (QFontEngine *fontEngine, const QTransform &m) const override |
bool | shouldDrawCachedGlyphs (QFontEngine *fontEngine, const QTransform &m) const override |
Returns whether glyph caching is supported by the font engine fontEngine with the given transform m applied. | |
Public Member Functions inherited from QPaintEngineEx | |
QPaintEngineEx () | |
virtual void | draw (const QVectorPath &path) |
virtual void | clip (const QPainterPath &path, Qt::ClipOperation op) |
virtual void | drawRoundedRect (const QRectF &rect, qreal xrad, qreal yrad, Qt::SizeMode mode) |
virtual void | drawEllipse (const QRect &r) override |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.The default implementation of this function calls the floating point version of this function. | |
virtual void | drawPath (const QPainterPath &path) override |
The default implementation ignores the path and does nothing. | |
virtual void | drawPixmapFragments (const QPainter::PixmapFragment *fragments, int fragmentCount, const QPixmap &pixmap, QFlags< QPainter::PixmapFragmentHint > hints) |
virtual void | updateState (const QPaintEngineState &state) override |
Reimplement this function to update the state of a paint engine. | |
QPainterState * | state () |
const QPainterState * | state () const |
virtual void | sync () |
virtual void | beginNativePainting () |
virtual void | endNativePainting () |
virtual uint | flags () const |
Public Member Functions inherited from QPaintEngine | |
QPaintEngine (PaintEngineFeatures features=PaintEngineFeatures()) | |
Creates a paint engine with the featureset specified by caps. | |
virtual | ~QPaintEngine () |
Destroys the paint engine. | |
bool | isActive () const |
Returns true if the paint engine is actively drawing; otherwise returns false . | |
void | setActive (bool newState) |
Sets the active state of the paint engine to state. | |
void | setPaintDevice (QPaintDevice *device) |
QPaintDevice * | paintDevice () const |
Returns the device that this engine is painting on, if painting is active; otherwise returns \nullptr. | |
void | setSystemClip (const QRegion &baseClip) |
QRegion | systemClip () const |
void | setSystemRect (const QRect &rect) |
QRect | systemRect () const |
void | fix_neg_rect (int *x, int *y, int *w, int *h) |
bool | testDirty (DirtyFlags df) |
void | setDirty (DirtyFlags df) |
void | clearDirty (DirtyFlags df) |
bool | hasFeature (PaintEngineFeatures feature) const |
Returns true if the paint engine supports the specified feature; otherwise returns false . | |
QPainter * | painter () const |
Returns the paint engine's painter. | |
void | syncState () |
bool | isExtended () const |
virtual QPixmap | createPixmap (QSize size) |
virtual QPixmap | createPixmapFromImage (QImage image, Qt::ImageConversionFlags flags=Qt::AutoColor) |
Protected Member Functions | |
QRasterPaintEngine (QRasterPaintEnginePrivate &d, QPaintDevice *) | |
Protected Member Functions inherited from QPaintEngineEx | |
QPaintEngineEx (QPaintEngineExPrivate &data) | |
Protected Member Functions inherited from QPaintEngine | |
QPaintEngine (QPaintEnginePrivate &data, PaintEngineFeatures devcaps=PaintEngineFeatures()) |
Friends | |
struct | QSpanData |
class | QBlitterPaintEngine |
class | QBlitterPaintEnginePrivate |
Additional Inherited Members | |
Protected Attributes inherited from QPaintEngine | |
QPaintEngineState * | state |
PaintEngineFeatures | gccaps |
uint | active: 1 |
uint | selfDestruct: 1 |
uint | extended: 1 |
QScopedPointer< QPaintEnginePrivate > | d_ptr |
The QRasterPaintEngine class enables hardware acceleration of painting operations in Qt for Embedded Linux.
\inmodule QtGui
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.
Definition at line 94 of file qpaintengine_raster_p.h.
\value RectClip Indicates that the currently set clip is a single rectangle. \value ComplexClip Indicates that the currently set clip is a combination of several shapes.
Enumerator | |
---|---|
RectClip | |
ComplexClip |
Definition at line 167 of file qpaintengine_raster_p.h.
QRasterPaintEngine::QRasterPaintEngine | ( | QPaintDevice * | device | ) |
Creates a raster based paint engine for operating on the given device, with the complete set of \l {QPaintEngine::PaintEngineFeature}{paint engine features and capabilities}.
Definition at line 285 of file qpaintengine_raster.cpp.
QRasterPaintEngine::~QRasterPaintEngine | ( | ) |
Destroys this paint engine.
Definition at line 375 of file qpaintengine_raster.cpp.
|
protected |
Definition at line 295 of file qpaintengine_raster.cpp.
void QRasterPaintEngine::alphaPenBlt | ( | const void * | src, |
int | bpl, | ||
int | depth, | ||
int | rx, | ||
int | ry, | ||
int | w, | ||
int | h, | ||
bool | useGammaCorrection ) |
Definition at line 2530 of file qpaintengine_raster.cpp.
|
overridevirtual |
|
overridevirtual |
Implements QPaintEngineEx.
Definition at line 685 of file qpaintengine_raster.cpp.
|
overridevirtual |
Implements QPaintEngineEx.
Definition at line 671 of file qpaintengine_raster.cpp.
|
overridevirtual |
Reimplemented from QPaintEngineEx.
Definition at line 1194 of file qpaintengine_raster.cpp.
|
overridevirtual |
Reimplemented from QPaintEngineEx.
Definition at line 1270 of file qpaintengine_raster.cpp.
|
overridevirtual |
Implements QPaintEngineEx.
Definition at line 1120 of file qpaintengine_raster.cpp.
QRectF QRasterPaintEngine::clipBoundingRect | ( | ) | const |
Returns the bounding rect of the currently set clip.
Definition at line 3489 of file qpaintengine_raster.cpp.
|
inline |
Definition at line 441 of file qpaintengine_raster_p.h.
|
overridevirtual |
Implements QPaintEngineEx.
Definition at line 840 of file qpaintengine_raster.cpp.
QRasterPaintEngine::ClipType QRasterPaintEngine::clipType | ( | ) | const |
Returns the type of the clip currently set.
Definition at line 3474 of file qpaintengine_raster.cpp.
|
overridevirtual |
Implements QPaintEngineEx.
Definition at line 765 of file qpaintengine_raster.cpp.
|
overridevirtual |
Reimplemented from QPaintEngine.
Definition at line 3369 of file qpaintengine_raster.cpp.
|
overridevirtual |
Reimplemented from QPaintEngineEx.
Definition at line 542 of file qpaintengine_raster.cpp.
|
virtual |
Reimplemented in QBlitterPaintEngine.
Definition at line 2757 of file qpaintengine_raster.cpp.
Reimplemented from QPaintEngineEx.
Definition at line 2093 of file qpaintengine_raster.cpp.
|
overridevirtual |
Reimplemented from QPaintEngineEx.
Definition at line 1985 of file qpaintengine_raster.cpp.
Draws the first pointCount points in the buffer points.
The default implementation converts the first pointCount QPoints in points to QPointFs and calls the floating point version of drawPoints.
Reimplemented from QPaintEngineEx.
Definition at line 3148 of file qpaintengine_raster.cpp.
|
overridevirtual |
|
overridevirtual |
|
overridevirtual |
|
overridevirtual |
|
overridevirtual |
Implements QPaintEngineEx.
Definition at line 1628 of file qpaintengine_raster.cpp.
|
virtual |
Reimplemented in QBlitterPaintEngine.
Definition at line 1331 of file qpaintengine_raster.cpp.
|
virtual |
Reimplemented in QBlitterPaintEngine.
Definition at line 1846 of file qpaintengine_raster.cpp.
|
overridevirtual |
Implements QPaintEngineEx.
Definition at line 747 of file qpaintengine_raster.cpp.
|
overridevirtual |
Implements QPaintEngineEx.
Definition at line 581 of file qpaintengine_raster.cpp.
QRasterBuffer * QRasterPaintEngine::rasterBuffer | ( | ) |
Definition at line 2521 of file qpaintengine_raster.cpp.
|
overridevirtual |
Implements QPaintEngineEx.
Definition at line 786 of file qpaintengine_raster.cpp.
|
overridevirtual |
Reimplemented from QPaintEngineEx.
Definition at line 3332 of file qpaintengine_raster.cpp.
|
overridevirtual |
Reimplemented from QPaintEngineEx.
Definition at line 556 of file qpaintengine_raster.cpp.
|
overridevirtual |
Returns whether glyph caching is supported by the font engine fontEngine with the given transform m applied.
Reimplemented from QPaintEngineEx.
Definition at line 3346 of file qpaintengine_raster.cpp.
|
inline |
Definition at line 115 of file qpaintengine_raster_p.h.
|
inline |
Definition at line 118 of file qpaintengine_raster_p.h.
|
overridevirtual |
Reimplemented from QPaintEngineEx.
Definition at line 1542 of file qpaintengine_raster.cpp.
|
overridevirtual |
Implements QPaintEngineEx.
Definition at line 820 of file qpaintengine_raster.cpp.
|
inlineoverridevirtual |
Reimplement this function to return the paint engine \l{Type}.
Implements QPaintEngine.
Definition at line 184 of file qpaintengine_raster_p.h.
Definition at line 700 of file qpaintengine_raster.cpp.
void QRasterPaintEngine::updateMatrix | ( | const QTransform & | matrix | ) |
Definition at line 471 of file qpaintengine_raster.cpp.
Definition at line 595 of file qpaintengine_raster.cpp.
|
friend |
Definition at line 195 of file qpaintengine_raster_p.h.
|
friend |
Definition at line 196 of file qpaintengine_raster_p.h.
|
friend |
Definition at line 194 of file qpaintengine_raster_p.h.