<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <!-- qpaintengine_raster.cpp --> <title>QRasterPaintEngine Class | Qt GUI 5.12.6</title> <link rel="stylesheet" type="text/css" href="style/offline-simple.css" /> <script type="text/javascript"> document.getElementsByTagName("link").item(0).setAttribute("href", "style/offline.css"); // loading style sheet breaks anchors that were jumped to before // so force jumping to anchor again setTimeout(function() { var anchor = location.hash; // need to jump to different anchor first (e.g. none) location.hash = "#"; setTimeout(function() { location.hash = anchor; }, 0); }, 0); </script> </head> <body> <div class="header" id="qtdocheader"> <div class="main"> <div class="main-rounded"> <div class="navigationbar"> <table><tr> <td >Qt 5.12</td><td ><a href="qtgui-index.html">Qt GUI</a></td><td ><a href="qtgui-module.html">C++ Classes</a></td><td >QRasterPaintEngine</td></tr></table><table class="buildversion"><tr> <td id="buildversion" width="100%" align="right"><a href="qtgui-index.html">Qt 5.12.6 Reference Documentation</a></td> </tr></table> </div> </div> <div class="content"> <div class="line"> <div class="content mainContent"> <div class="sidebar"> <div class="toc"> <h3><a name="toc">Contents</a></h3> <ul> <li class="level1"><a href="#public-functions">Public Functions</a></li> <li class="level1"><a href="#reimplemented-public-functions">Reimplemented Public Functions</a></li> <li class="level1"><a href="#related-non-members">Related Non-Members</a></li> <li class="level1"><a href="#details">Detailed Description</a></li> </ul> </div> <div class="sidebar-content" id="sidebar-content"></div></div> <h1 class="title">QRasterPaintEngine Class</h1> <!-- $$$QRasterPaintEngine-brief --> <p>The <a href="qrasterpaintengine.html">QRasterPaintEngine</a> class enables hardware acceleration of painting operations in Qt for Embedded Linux. <a href="#details">More...</a></p> <!-- @@@QRasterPaintEngine --> <div class="table"><table class="alignedsummary"> <tr><td class="memItemLeft rightAlign topAlign"> Header:</td><td class="memItemRight bottomAlign"> <span class="preprocessor">#include <QRasterPaintEngine></span> </td></tr><tr><td class="memItemLeft rightAlign topAlign"> qmake:</td><td class="memItemRight bottomAlign"> QT += gui</td></tr><tr><td class="memItemLeft rightAlign topAlign"> Since:</td><td class="memItemRight bottomAlign"> Qt 4.2</td></tr><tr><td class="memItemLeft rightAlign topAlign"> Inherits:</td><td class="memItemRight bottomAlign"> QPaintEngineEx</td></tr></table></div><p><b>This class is under development and is subject to change.</b></p> <ul> <li><a href="qrasterpaintengine-members.html">List of all members, including inherited members</a></li> </ul> <a name="public-functions"></a> <h2 id="public-functions">Public Functions</h2> <div class="table"><table class="alignedsummary"> <tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qrasterpaintengine.html#QRasterPaintEngine">QRasterPaintEngine</a></b>(QPaintDevice *<i>device</i>)</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> virtual </td><td class="memItemRight bottomAlign"><b><a href="qrasterpaintengine.html#dtor.QRasterPaintEngine">~QRasterPaintEngine</a></b>()</td></tr> </table></div> <a name="reimplemented-public-functions"></a> <h2 id="reimplemented-public-functions">Reimplemented Public Functions</h2> <div class="table"><table class="alignedsummary"> <tr><td class="memItemLeft rightAlign topAlign"> virtual bool </td><td class="memItemRight bottomAlign"><b><a href="qrasterpaintengine.html#begin">begin</a></b>(QPaintDevice *<i>device</i>) override</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> virtual void </td><td class="memItemRight bottomAlign"><b><a href="qrasterpaintengine.html#drawEllipse">drawEllipse</a></b>(const QRectF &<i>rect</i>) override</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> virtual void </td><td class="memItemRight bottomAlign"><b><a href="qrasterpaintengine.html#drawImage">drawImage</a></b>(const QRectF &<i>r</i>, const QImage &<i>img</i>, const QRectF &<i>sr</i>, Qt::ImageConversionFlags <i>flags</i> = Qt::AutoColor) override</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> virtual void </td><td class="memItemRight bottomAlign"><b><a href="qrasterpaintengine.html#drawLines">drawLines</a></b>(const QLine *<i>lines</i>, int <i>lineCount</i>) override</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> virtual void </td><td class="memItemRight bottomAlign"><b><a href="qrasterpaintengine.html#drawLines-1">drawLines</a></b>(const QLineF *<i>lines</i>, int <i>lineCount</i>) override</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> virtual void </td><td class="memItemRight bottomAlign"><b><a href="qrasterpaintengine.html#drawPixmap">drawPixmap</a></b>(const QRectF &<i>r</i>, const QPixmap &<i>pixmap</i>, const QRectF &<i>sr</i>) override</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> virtual void </td><td class="memItemRight bottomAlign"><b><a href="qrasterpaintengine.html#drawPoints">drawPoints</a></b>(const QPointF *<i>points</i>, int <i>pointCount</i>) override</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> virtual void </td><td class="memItemRight bottomAlign"><b><a href="qrasterpaintengine.html#drawPoints-1">drawPoints</a></b>(const QPoint *<i>points</i>, int <i>pointCount</i>) override</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> virtual void </td><td class="memItemRight bottomAlign"><b><a href="qrasterpaintengine.html#drawPolygon">drawPolygon</a></b>(const QPointF *<i>points</i>, int <i>pointCount</i>, QPaintEngine::PolygonDrawMode <i>mode</i>) override</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> virtual void </td><td class="memItemRight bottomAlign"><b><a href="qrasterpaintengine.html#drawPolygon-1">drawPolygon</a></b>(const QPoint *<i>points</i>, int <i>pointCount</i>, QPaintEngine::PolygonDrawMode <i>mode</i>) override</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> virtual void </td><td class="memItemRight bottomAlign"><b><a href="qrasterpaintengine.html#drawRects">drawRects</a></b>(const QRect *<i>rects</i>, int <i>rectCount</i>) override</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> virtual void </td><td class="memItemRight bottomAlign"><b><a href="qrasterpaintengine.html#drawRects-1">drawRects</a></b>(const QRectF *<i>rects</i>, int <i>rectCount</i>) override</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> virtual void </td><td class="memItemRight bottomAlign"><b><a href="qrasterpaintengine.html#drawStaticTextItem">drawStaticTextItem</a></b>(QStaticTextItem *<i>textItem</i>) override</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> virtual void </td><td class="memItemRight bottomAlign"><b><a href="qrasterpaintengine.html#drawTextItem">drawTextItem</a></b>(const QPointF &<i>p</i>, const QTextItem &<i>textItem</i>) override</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> virtual void </td><td class="memItemRight bottomAlign"><b><a href="qrasterpaintengine.html#drawTiledPixmap">drawTiledPixmap</a></b>(const QRectF &<i>r</i>, const QPixmap &<i>pixmap</i>, const QPointF &<i>sr</i>) override</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> virtual bool </td><td class="memItemRight bottomAlign"><b><a href="qrasterpaintengine.html#end">end</a></b>() override</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> virtual void </td><td class="memItemRight bottomAlign"><b><a href="qrasterpaintengine.html#fillRect">fillRect</a></b>(const QRectF &<i>r</i>, const QBrush &<i>brush</i>) override</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> virtual void </td><td class="memItemRight bottomAlign"><b><a href="qrasterpaintengine.html#fillRect-1">fillRect</a></b>(const QRectF &<i>r</i>, const QColor &<i>color</i>) override</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> virtual bool </td><td class="memItemRight bottomAlign"><b><a href="qrasterpaintengine.html#shouldDrawCachedGlyphs">shouldDrawCachedGlyphs</a></b>(QFontEngine *<i>fontEngine</i>, const QTransform &<i>m</i>) const override</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> virtual QPaintEngine::Type </td><td class="memItemRight bottomAlign"><b><a href="qrasterpaintengine.html#type">type</a></b>() const override</td></tr> </table></div> <ul> <li class="fn">24 public functions inherited from <a href="qpaintengine.html#public-functions">QPaintEngine</a></li> </ul> <a name="related-non-members"></a> <h2 id="related-non-members">Related Non-Members</h2> <div class="table"><table class="alignedsummary"> <tr><td class="memItemLeft rightAlign topAlign"> typedef </td><td class="memItemRight bottomAlign"><b><a href="qrasterpaintengine.html#QSpan-typedef">QSpan</a></b></td></tr> </table></div> <a name="details"></a> <!-- $$$QRasterPaintEngine-description --> <div class="descr"> <h2 id="details">Detailed Description</h2> <p>The <a href="qrasterpaintengine.html">QRasterPaintEngine</a> class enables hardware acceleration of painting operations in Qt for Embedded Linux.</p> <p>Note that this functionality is only available in Qt for Embedded Linux.</p> <p>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.</p> <p>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.</p> <p><b>Note: </b>The <a href="qrasterpaintengine.html">QRasterPaintEngine</a> class does not support 8-bit images. Instead, they need to be converted to a supported format, such as <a href="qimage.html#Format-enum">QImage::Format_ARGB32_Premultiplied</a>.</p></div> <p><b>See also </b><a href="qpaintengine.html">QPaintEngine</a>.</p> <!-- @@@QRasterPaintEngine --> <div class="func"> <h2>Member Function Documentation</h2> <!-- $$$QRasterPaintEngine[overload1]$$$QRasterPaintEngineQPaintDevice* --> <h3 class="fn" id="QRasterPaintEngine"><a name="QRasterPaintEngine"></a>QRasterPaintEngine::<span class="name">QRasterPaintEngine</span>(<span class="type"><a href="qpaintdevice.html">QPaintDevice</a></span> *<i>device</i>)</h3> <p>Creates a raster based paint engine for operating on the given <i>device</i>, with the complete set of <a href="qpaintengine.html#PaintEngineFeature-enum">paint engine features and capabilities</a>.</p> <p>This function was introduced in Qt 4.5.</p> <!-- @@@QRasterPaintEngine --> <!-- $$$~QRasterPaintEngine[overload1]$$$~QRasterPaintEngine --> <h3 class="fn" id="dtor.QRasterPaintEngine"><a name="dtor.QRasterPaintEngine"></a><code>[virtual] </code>QRasterPaintEngine::<span class="name">~QRasterPaintEngine</span>()</h3> <p>Destroys this paint engine.</p> <!-- @@@~QRasterPaintEngine --> <!-- $$$begin[overload1]$$$beginQPaintDevice* --> <h3 class="fn" id="begin"><a name="begin"></a><code>[override virtual] </code><span class="type">bool</span> QRasterPaintEngine::<span class="name">begin</span>(<span class="type"><a href="qpaintdevice.html">QPaintDevice</a></span> *<i>device</i>)</h3> <p>Reimplemented from <a href="qpaintengine.html#begin">QPaintEngine::begin</a>().</p> <!-- @@@begin --> <!-- $$$drawEllipse[overload1]$$$drawEllipseconstQRectF& --> <h3 class="fn" id="drawEllipse"><a name="drawEllipse"></a><code>[override virtual] </code><span class="type">void</span> QRasterPaintEngine::<span class="name">drawEllipse</span>(const <span class="type"><a href="../qtcore/qrectf.html">QRectF</a></span> &<i>rect</i>)</h3> <!-- @@@drawEllipse --> <!-- $$$drawImage[overload1]$$$drawImageconstQRectF&constQImage&constQRectF&Qt::ImageConversionFlags --> <h3 class="fn" id="drawImage"><a name="drawImage"></a><code>[override virtual] </code><span class="type">void</span> QRasterPaintEngine::<span class="name">drawImage</span>(const <span class="type"><a href="../qtcore/qrectf.html">QRectF</a></span> &<i>r</i>, const <span class="type"><a href="qimage.html">QImage</a></span> &<i>img</i>, const <span class="type"><a href="../qtcore/qrectf.html">QRectF</a></span> &<i>sr</i>, <span class="type"><a href="../qtcore/qt.html#ImageConversionFlag-enum">Qt::ImageConversionFlags</a></span> <i>flags</i> = Qt::AutoColor)</h3> <!-- @@@drawImage --> <!-- $$$drawLines[overload1]$$$drawLinesconstQLine*int --> <h3 class="fn" id="drawLines"><a name="drawLines"></a><code>[override virtual] </code><span class="type">void</span> QRasterPaintEngine::<span class="name">drawLines</span>(const <span class="type"><a href="../qtcore/qline.html">QLine</a></span> *<i>lines</i>, <span class="type">int</span> <i>lineCount</i>)</h3> <!-- @@@drawLines --> <!-- $$$drawLines$$$drawLinesconstQLineF*int --> <h3 class="fn" id="drawLines-1"><a name="drawLines-1"></a><code>[override virtual] </code><span class="type">void</span> QRasterPaintEngine::<span class="name">drawLines</span>(const <span class="type"><a href="../qtcore/qlinef.html">QLineF</a></span> *<i>lines</i>, <span class="type">int</span> <i>lineCount</i>)</h3> <!-- @@@drawLines --> <!-- $$$drawPixmap[overload1]$$$drawPixmapconstQRectF&constQPixmap&constQRectF& --> <h3 class="fn" id="drawPixmap"><a name="drawPixmap"></a><code>[override virtual] </code><span class="type">void</span> QRasterPaintEngine::<span class="name">drawPixmap</span>(const <span class="type"><a href="../qtcore/qrectf.html">QRectF</a></span> &<i>r</i>, const <span class="type"><a href="qpixmap.html">QPixmap</a></span> &<i>pixmap</i>, const <span class="type"><a href="../qtcore/qrectf.html">QRectF</a></span> &<i>sr</i>)</h3> <!-- @@@drawPixmap --> <!-- $$$drawPoints[overload1]$$$drawPointsconstQPointF*int --> <h3 class="fn" id="drawPoints"><a name="drawPoints"></a><code>[override virtual] </code><span class="type">void</span> QRasterPaintEngine::<span class="name">drawPoints</span>(const <span class="type"><a href="../qtcore/qpointf.html">QPointF</a></span> *<i>points</i>, <span class="type">int</span> <i>pointCount</i>)</h3> <!-- @@@drawPoints --> <!-- $$$drawPoints$$$drawPointsconstQPoint*int --> <h3 class="fn" id="drawPoints-1"><a name="drawPoints-1"></a><code>[override virtual] </code><span class="type">void</span> QRasterPaintEngine::<span class="name">drawPoints</span>(const <span class="type"><a href="../qtcore/qpoint.html">QPoint</a></span> *<i>points</i>, <span class="type">int</span> <i>pointCount</i>)</h3> <p>This is an overloaded function.</p> <!-- @@@drawPoints --> <!-- $$$drawPolygon[overload1]$$$drawPolygonconstQPointF*intQPaintEngine::PolygonDrawMode --> <h3 class="fn" id="drawPolygon"><a name="drawPolygon"></a><code>[override virtual] </code><span class="type">void</span> QRasterPaintEngine::<span class="name">drawPolygon</span>(const <span class="type"><a href="../qtcore/qpointf.html">QPointF</a></span> *<i>points</i>, <span class="type">int</span> <i>pointCount</i>, <span class="type"><a href="qpaintengine.html#PolygonDrawMode-enum">QPaintEngine::PolygonDrawMode</a></span> <i>mode</i>)</h3> <!-- @@@drawPolygon --> <!-- $$$drawPolygon$$$drawPolygonconstQPoint*intQPaintEngine::PolygonDrawMode --> <h3 class="fn" id="drawPolygon-1"><a name="drawPolygon-1"></a><code>[override virtual] </code><span class="type">void</span> QRasterPaintEngine::<span class="name">drawPolygon</span>(const <span class="type"><a href="../qtcore/qpoint.html">QPoint</a></span> *<i>points</i>, <span class="type">int</span> <i>pointCount</i>, <span class="type"><a href="qpaintengine.html#PolygonDrawMode-enum">QPaintEngine::PolygonDrawMode</a></span> <i>mode</i>)</h3> <!-- @@@drawPolygon --> <!-- $$$drawRects[overload1]$$$drawRectsconstQRect*int --> <h3 class="fn" id="drawRects"><a name="drawRects"></a><code>[override virtual] </code><span class="type">void</span> QRasterPaintEngine::<span class="name">drawRects</span>(const <span class="type"><a href="../qtcore/qrect.html">QRect</a></span> *<i>rects</i>, <span class="type">int</span> <i>rectCount</i>)</h3> <!-- @@@drawRects --> <!-- $$$drawRects$$$drawRectsconstQRectF*int --> <h3 class="fn" id="drawRects-1"><a name="drawRects-1"></a><code>[override virtual] </code><span class="type">void</span> QRasterPaintEngine::<span class="name">drawRects</span>(const <span class="type"><a href="../qtcore/qrectf.html">QRectF</a></span> *<i>rects</i>, <span class="type">int</span> <i>rectCount</i>)</h3> <!-- @@@drawRects --> <!-- $$$drawStaticTextItem[overload1]$$$drawStaticTextItemQStaticTextItem* --> <h3 class="fn" id="drawStaticTextItem"><a name="drawStaticTextItem"></a><code>[override virtual] </code><span class="type">void</span> QRasterPaintEngine::<span class="name">drawStaticTextItem</span>(<span class="type">QStaticTextItem</span> *<i>textItem</i>)</h3> <!-- @@@drawStaticTextItem --> <!-- $$$drawTextItem[overload1]$$$drawTextItemconstQPointF&constQTextItem& --> <h3 class="fn" id="drawTextItem"><a name="drawTextItem"></a><code>[override virtual] </code><span class="type">void</span> QRasterPaintEngine::<span class="name">drawTextItem</span>(const <span class="type"><a href="../qtcore/qpointf.html">QPointF</a></span> &<i>p</i>, const <span class="type"><a href="qtextitem.html">QTextItem</a></span> &<i>textItem</i>)</h3> <p>Reimplemented from <a href="qpaintengine.html#drawTextItem">QPaintEngine::drawTextItem</a>().</p> <!-- @@@drawTextItem --> <!-- $$$drawTiledPixmap[overload1]$$$drawTiledPixmapconstQRectF&constQPixmap&constQPointF& --> <h3 class="fn" id="drawTiledPixmap"><a name="drawTiledPixmap"></a><code>[override virtual] </code><span class="type">void</span> QRasterPaintEngine::<span class="name">drawTiledPixmap</span>(const <span class="type"><a href="../qtcore/qrectf.html">QRectF</a></span> &<i>r</i>, const <span class="type"><a href="qpixmap.html">QPixmap</a></span> &<i>pixmap</i>, const <span class="type"><a href="../qtcore/qpointf.html">QPointF</a></span> &<i>sr</i>)</h3> <!-- @@@drawTiledPixmap --> <!-- $$$end[overload1]$$$end --> <h3 class="fn" id="end"><a name="end"></a><code>[override virtual] </code><span class="type">bool</span> QRasterPaintEngine::<span class="name">end</span>()</h3> <p>Reimplemented from <a href="qpaintengine.html#end">QPaintEngine::end</a>().</p> <!-- @@@end --> <!-- $$$fillRect[overload1]$$$fillRectconstQRectF&constQBrush& --> <h3 class="fn" id="fillRect"><a name="fillRect"></a><code>[override virtual] </code><span class="type">void</span> QRasterPaintEngine::<span class="name">fillRect</span>(const <span class="type"><a href="../qtcore/qrectf.html">QRectF</a></span> &<i>r</i>, const <span class="type"><a href="qbrush.html">QBrush</a></span> &<i>brush</i>)</h3> <!-- @@@fillRect --> <!-- $$$fillRect$$$fillRectconstQRectF&constQColor& --> <h3 class="fn" id="fillRect-1"><a name="fillRect-1"></a><code>[override virtual] </code><span class="type">void</span> QRasterPaintEngine::<span class="name">fillRect</span>(const <span class="type"><a href="../qtcore/qrectf.html">QRectF</a></span> &<i>r</i>, const <span class="type"><a href="qcolor.html">QColor</a></span> &<i>color</i>)</h3> <!-- @@@fillRect --> <!-- $$$shouldDrawCachedGlyphs[overload1]$$$shouldDrawCachedGlyphsQFontEngine*constQTransform& --> <h3 class="fn" id="shouldDrawCachedGlyphs"><a name="shouldDrawCachedGlyphs"></a><code>[override virtual] </code><span class="type">bool</span> QRasterPaintEngine::<span class="name">shouldDrawCachedGlyphs</span>(<span class="type">QFontEngine</span> *<i>fontEngine</i>, const <span class="type"><a href="qtransform.html">QTransform</a></span> &<i>m</i>) const</h3> <p>Indicates whether glyph caching is supported by the font engine <i>fontEngine</i> with the given transform <i>m</i> applied.</p> <!-- @@@shouldDrawCachedGlyphs --> <!-- $$$type[overload1]$$$type --> <h3 class="fn" id="type"><a name="type"></a><code>[override virtual] </code><span class="type"><a href="qpaintengine.html#Type-enum">QPaintEngine::Type</a></span> QRasterPaintEngine::<span class="name">type</span>() const</h3> <p>Reimplemented from <a href="qpaintengine.html#type">QPaintEngine::type</a>().</p> <!-- @@@type --> </div> <div class="relnonmem"> <h2>Related Non-Members</h2> <!-- $$$QSpan --> <h3 class="fn" id="QSpan-typedef"><a name="QSpan-typedef"></a>typedef <span class="name">QSpan</span></h3> <p>A struct equivalent to QT_FT_Span, containing a position (x, y), the span's length in pixels and its color/coverage (a value ranging from 0 to 255).</p> <!-- @@@QSpan --> </div> </div> </div> </div> </div> </div> <div class="footer"> <p> <acronym title="Copyright">©</acronym> 2019 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners.<br/> The documentation provided herein is licensed under the terms of the <a href="http://www.gnu.org/licenses/fdl.html">GNU Free Documentation License version 1.3</a> as published by the Free Software Foundation.<br/> 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. </p> </div> </body> </html>