qpaintengine.sip 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. // qpaintengine.sip generated by MetaSIP
  2. //
  3. // This file is part of the QtGui Python extension module.
  4. //
  5. // Copyright (c) 2026 Riverbank Computing Limited <info@riverbankcomputing.com>
  6. //
  7. // This file is part of PyQt6.
  8. //
  9. // This file may be used under the terms of the GNU General Public License
  10. // version 3.0 as published by the Free Software Foundation and appearing in
  11. // the file LICENSE included in the packaging of this file. Please review the
  12. // following information to ensure the GNU General Public License version 3.0
  13. // requirements will be met: http://www.gnu.org/copyleft/gpl.html.
  14. //
  15. // If you do not wish to use this file under the terms of the GPL version 3.0
  16. // then you may purchase a commercial license. For more information contact
  17. // info@riverbankcomputing.com.
  18. //
  19. // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
  20. // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  21. class QTextItem
  22. {
  23. %TypeHeaderCode
  24. #include <qpaintengine.h>
  25. %End
  26. public:
  27. enum RenderFlag /BaseType=Flag/
  28. {
  29. RightToLeft,
  30. Overline,
  31. Underline,
  32. StrikeOut,
  33. };
  34. typedef QFlags<QTextItem::RenderFlag> RenderFlags;
  35. qreal descent() const;
  36. qreal ascent() const;
  37. qreal width() const;
  38. QTextItem::RenderFlags renderFlags() const;
  39. QString text() const;
  40. QFont font() const;
  41. };
  42. class QPaintEngine
  43. {
  44. %TypeHeaderCode
  45. #include <qpaintengine.h>
  46. %End
  47. public:
  48. enum PaintEngineFeature /BaseType=Flag/
  49. {
  50. PrimitiveTransform,
  51. PatternTransform,
  52. PixmapTransform,
  53. PatternBrush,
  54. LinearGradientFill,
  55. RadialGradientFill,
  56. ConicalGradientFill,
  57. AlphaBlend,
  58. PorterDuff,
  59. PainterPaths,
  60. Antialiasing,
  61. BrushStroke,
  62. ConstantOpacity,
  63. MaskedBrush,
  64. PaintOutsidePaintEvent,
  65. PerspectiveTransform,
  66. BlendModes,
  67. ObjectBoundingModeGradients,
  68. RasterOpModes,
  69. AllFeatures,
  70. };
  71. typedef QFlags<QPaintEngine::PaintEngineFeature> PaintEngineFeatures;
  72. enum DirtyFlag /BaseType=Flag/
  73. {
  74. DirtyPen,
  75. DirtyBrush,
  76. DirtyBrushOrigin,
  77. DirtyFont,
  78. DirtyBackground,
  79. DirtyBackgroundMode,
  80. DirtyTransform,
  81. DirtyClipRegion,
  82. DirtyClipPath,
  83. DirtyHints,
  84. DirtyCompositionMode,
  85. DirtyClipEnabled,
  86. DirtyOpacity,
  87. AllDirty,
  88. };
  89. typedef QFlags<QPaintEngine::DirtyFlag> DirtyFlags;
  90. enum PolygonDrawMode
  91. {
  92. OddEvenMode,
  93. WindingMode,
  94. ConvexMode,
  95. PolylineMode,
  96. };
  97. explicit QPaintEngine(QPaintEngine::PaintEngineFeatures features = QPaintEngine::PaintEngineFeatures());
  98. virtual ~QPaintEngine();
  99. bool isActive() const;
  100. void setActive(bool newState);
  101. virtual bool begin(QPaintDevice *pdev) = 0;
  102. virtual bool end() = 0;
  103. virtual void updateState(const QPaintEngineState &state /NoCopy/) = 0;
  104. virtual void drawRects(const QRect *rects /Array/, int rectCount /ArraySize/);
  105. virtual void drawRects(const QRectF *rects /Array/, int rectCount /ArraySize/);
  106. virtual void drawLines(const QLine *lines /Array/, int lineCount /ArraySize/);
  107. virtual void drawLines(const QLineF *lines /Array/, int lineCount /ArraySize/);
  108. virtual void drawEllipse(const QRectF &r);
  109. virtual void drawEllipse(const QRect &r);
  110. virtual void drawPath(const QPainterPath &path);
  111. virtual void drawPoints(const QPointF *points /Array/, int pointCount /ArraySize/);
  112. virtual void drawPoints(const QPoint *points /Array/, int pointCount /ArraySize/);
  113. virtual void drawPolygon(const QPointF *points /Array/, int pointCount /ArraySize/, QPaintEngine::PolygonDrawMode mode);
  114. virtual void drawPolygon(const QPoint *points /Array/, int pointCount /ArraySize/, QPaintEngine::PolygonDrawMode mode);
  115. virtual void drawPixmap(const QRectF &r, const QPixmap &pm, const QRectF &sr) = 0;
  116. virtual void drawTextItem(const QPointF &p, const QTextItem &textItem /NoCopy/);
  117. virtual void drawTiledPixmap(const QRectF &r, const QPixmap &pixmap, const QPointF &s);
  118. virtual void drawImage(const QRectF &r, const QImage &pm, const QRectF &sr, Qt::ImageConversionFlags flags = Qt::AutoColor);
  119. void setPaintDevice(QPaintDevice *device);
  120. QPaintDevice *paintDevice() const;
  121. enum Type
  122. {
  123. X11,
  124. Windows,
  125. QuickDraw,
  126. CoreGraphics,
  127. MacPrinter,
  128. QWindowSystem,
  129. OpenGL,
  130. Picture,
  131. SVG,
  132. Raster,
  133. Direct3D,
  134. Pdf,
  135. OpenVG,
  136. OpenGL2,
  137. PaintBuffer,
  138. Blitter,
  139. Direct2D,
  140. User,
  141. MaxUser,
  142. };
  143. virtual QPaintEngine::Type type() const = 0;
  144. QPainter *painter() const;
  145. bool hasFeature(QPaintEngine::PaintEngineFeatures feature) const;
  146. private:
  147. QPaintEngine(const QPaintEngine &);
  148. };
  149. class QPaintEngineState
  150. {
  151. %TypeHeaderCode
  152. #include <qpaintengine.h>
  153. %End
  154. public:
  155. QPaintEngine::DirtyFlags state() const;
  156. QPen pen() const;
  157. QBrush brush() const;
  158. QPointF brushOrigin() const;
  159. QBrush backgroundBrush() const;
  160. Qt::BGMode backgroundMode() const;
  161. QFont font() const;
  162. qreal opacity() const;
  163. Qt::ClipOperation clipOperation() const;
  164. QRegion clipRegion() const;
  165. QPainterPath clipPath() const;
  166. bool isClipEnabled() const;
  167. QPainter::RenderHints renderHints() const;
  168. QPainter::CompositionMode compositionMode() const;
  169. QPainter *painter() const;
  170. QTransform transform() const;
  171. bool brushNeedsResolving() const;
  172. bool penNeedsResolving() const;
  173. };