|
|
#ifndef PYTHONQTWRAPPER_QPAINTENGINE_H
|
|
|
#define PYTHONQTWRAPPER_QPAINTENGINE_H
|
|
|
|
|
|
#include <qpaintengine.h>
|
|
|
#include <QObject>
|
|
|
|
|
|
#include <PythonQt.h>
|
|
|
|
|
|
#include <QVarLengthArray>
|
|
|
#include <QVariant>
|
|
|
#include <qimage.h>
|
|
|
#include <qline.h>
|
|
|
#include <qpaintdevice.h>
|
|
|
#include <qpaintengine.h>
|
|
|
#include <qpainter.h>
|
|
|
#include <qpainterpath.h>
|
|
|
#include <qpixmap.h>
|
|
|
#include <qpoint.h>
|
|
|
#include <qrect.h>
|
|
|
#include <qregion.h>
|
|
|
|
|
|
class PythonQtShell_QPaintEngine : public QPaintEngine
|
|
|
{
|
|
|
public:
|
|
|
PythonQtShell_QPaintEngine(QPaintEngine::PaintEngineFeatures features = 0):QPaintEngine(features),_wrapper(NULL) {};
|
|
|
|
|
|
virtual bool begin(QPaintDevice* pdev);
|
|
|
virtual QPoint coordinateOffset() const;
|
|
|
virtual void drawEllipse(const QRect& r);
|
|
|
virtual void drawEllipse(const QRectF& r);
|
|
|
virtual void drawImage(const QRectF& r, const QImage& pm, const QRectF& sr, Qt::ImageConversionFlags flags = Qt::AutoColor);
|
|
|
virtual void drawLines(const QLine* lines, int lineCount);
|
|
|
virtual void drawLines(const QLineF* lines, int lineCount);
|
|
|
virtual void drawPath(const QPainterPath& path);
|
|
|
virtual void drawPixmap(const QRectF& r, const QPixmap& pm, const QRectF& sr);
|
|
|
virtual void drawPoints(const QPoint* points, int pointCount);
|
|
|
virtual void drawPoints(const QPointF* points, int pointCount);
|
|
|
virtual void drawPolygon(const QPoint* points, int pointCount, QPaintEngine::PolygonDrawMode mode);
|
|
|
virtual void drawPolygon(const QPointF* points, int pointCount, QPaintEngine::PolygonDrawMode mode);
|
|
|
virtual void drawRects(const QRect* rects, int rectCount);
|
|
|
virtual void drawRects(const QRectF* rects, int rectCount);
|
|
|
virtual void drawTextItem(const QPointF& p, const QTextItem& textItem);
|
|
|
virtual void drawTiledPixmap(const QRectF& r, const QPixmap& pixmap, const QPointF& s);
|
|
|
virtual bool end();
|
|
|
virtual QPaintEngine::Type type() const;
|
|
|
virtual void updateState(const QPaintEngineState& state);
|
|
|
|
|
|
PythonQtInstanceWrapper* _wrapper;
|
|
|
};
|
|
|
|
|
|
class PythonQtPublicPromoter_QPaintEngine : public QPaintEngine
|
|
|
{ public:
|
|
|
inline void promoted_drawImage(const QRectF& r, const QImage& pm, const QRectF& sr, Qt::ImageConversionFlags flags = Qt::AutoColor) { QPaintEngine::drawImage(r, pm, sr, flags); }
|
|
|
inline void promoted_drawPath(const QPainterPath& path) { QPaintEngine::drawPath(path); }
|
|
|
inline void promoted_drawPoints(const QPoint* points, int pointCount) { QPaintEngine::drawPoints(points, pointCount); }
|
|
|
inline void promoted_drawLines(const QLine* lines, int lineCount) { QPaintEngine::drawLines(lines, lineCount); }
|
|
|
inline void promoted_drawTiledPixmap(const QRectF& r, const QPixmap& pixmap, const QPointF& s) { QPaintEngine::drawTiledPixmap(r, pixmap, s); }
|
|
|
inline QPoint promoted_coordinateOffset() const { return QPaintEngine::coordinateOffset(); }
|
|
|
inline void promoted_drawPolygon(const QPointF* points, int pointCount, QPaintEngine::PolygonDrawMode mode) { QPaintEngine::drawPolygon(points, pointCount, mode); }
|
|
|
inline void promoted_drawEllipse(const QRect& r) { QPaintEngine::drawEllipse(r); }
|
|
|
inline void promoted_drawPoints(const QPointF* points, int pointCount) { QPaintEngine::drawPoints(points, pointCount); }
|
|
|
inline void promoted_drawTextItem(const QPointF& p, const QTextItem& textItem) { QPaintEngine::drawTextItem(p, textItem); }
|
|
|
inline void promoted_drawRects(const QRectF* rects, int rectCount) { QPaintEngine::drawRects(rects, rectCount); }
|
|
|
inline void promoted_drawRects(const QRect* rects, int rectCount) { QPaintEngine::drawRects(rects, rectCount); }
|
|
|
inline void promoted_drawEllipse(const QRectF& r) { QPaintEngine::drawEllipse(r); }
|
|
|
inline void promoted_drawLines(const QLineF* lines, int lineCount) { QPaintEngine::drawLines(lines, lineCount); }
|
|
|
inline void promoted_drawPolygon(const QPoint* points, int pointCount, QPaintEngine::PolygonDrawMode mode) { QPaintEngine::drawPolygon(points, pointCount, mode); }
|
|
|
};
|
|
|
|
|
|
class PythonQtWrapper_QPaintEngine : public QObject
|
|
|
{ Q_OBJECT
|
|
|
public:
|
|
|
Q_ENUMS(PolygonDrawMode Type PaintEngineFeature DirtyFlag )
|
|
|
enum PolygonDrawMode{
|
|
|
OddEvenMode = QPaintEngine::OddEvenMode, WindingMode = QPaintEngine::WindingMode, ConvexMode = QPaintEngine::ConvexMode, PolylineMode = QPaintEngine::PolylineMode};
|
|
|
enum Type{
|
|
|
X11 = QPaintEngine::X11, Windows = QPaintEngine::Windows, QuickDraw = QPaintEngine::QuickDraw, CoreGraphics = QPaintEngine::CoreGraphics, MacPrinter = QPaintEngine::MacPrinter, QWindowSystem = QPaintEngine::QWindowSystem, PostScript = QPaintEngine::PostScript, OpenGL = QPaintEngine::OpenGL, Picture = QPaintEngine::Picture, SVG = QPaintEngine::SVG, Raster = QPaintEngine::Raster, Direct3D = QPaintEngine::Direct3D, Pdf = QPaintEngine::Pdf, User = QPaintEngine::User, MaxUser = QPaintEngine::MaxUser};
|
|
|
enum PaintEngineFeature{
|
|
|
PrimitiveTransform = QPaintEngine::PrimitiveTransform, PatternTransform = QPaintEngine::PatternTransform, PixmapTransform = QPaintEngine::PixmapTransform, PatternBrush = QPaintEngine::PatternBrush, LinearGradientFill = QPaintEngine::LinearGradientFill, RadialGradientFill = QPaintEngine::RadialGradientFill, ConicalGradientFill = QPaintEngine::ConicalGradientFill, AlphaBlend = QPaintEngine::AlphaBlend, PorterDuff = QPaintEngine::PorterDuff, PainterPaths = QPaintEngine::PainterPaths, Antialiasing = QPaintEngine::Antialiasing, BrushStroke = QPaintEngine::BrushStroke, ConstantOpacity = QPaintEngine::ConstantOpacity, MaskedBrush = QPaintEngine::MaskedBrush, PerspectiveTransform = QPaintEngine::PerspectiveTransform, BlendModes = QPaintEngine::BlendModes, ObjectBoundingModeGradients = QPaintEngine::ObjectBoundingModeGradients, PaintOutsidePaintEvent = QPaintEngine::PaintOutsidePaintEvent, AllFeatures = QPaintEngine::AllFeatures};
|
|
|
enum DirtyFlag{
|
|
|
DirtyPen = QPaintEngine::DirtyPen, DirtyBrush = QPaintEngine::DirtyBrush, DirtyBrushOrigin = QPaintEngine::DirtyBrushOrigin, DirtyFont = QPaintEngine::DirtyFont, DirtyBackground = QPaintEngine::DirtyBackground, DirtyBackgroundMode = QPaintEngine::DirtyBackgroundMode, DirtyTransform = QPaintEngine::DirtyTransform, DirtyClipRegion = QPaintEngine::DirtyClipRegion, DirtyClipPath = QPaintEngine::DirtyClipPath, DirtyHints = QPaintEngine::DirtyHints, DirtyCompositionMode = QPaintEngine::DirtyCompositionMode, DirtyClipEnabled = QPaintEngine::DirtyClipEnabled, DirtyOpacity = QPaintEngine::DirtyOpacity, AllDirty = QPaintEngine::AllDirty};
|
|
|
public slots:
|
|
|
QPaintEngine* new_QPaintEngine(QPaintEngine::PaintEngineFeatures features = 0);
|
|
|
void delete_QPaintEngine(QPaintEngine* obj) { delete obj; }
|
|
|
void drawImage(QPaintEngine* theWrappedObject, const QRectF& r, const QImage& pm, const QRectF& sr, Qt::ImageConversionFlags flags = Qt::AutoColor);
|
|
|
void drawPath(QPaintEngine* theWrappedObject, const QPainterPath& path);
|
|
|
void setSystemClip(QPaintEngine* theWrappedObject, const QRegion& baseClip);
|
|
|
void drawPoints(QPaintEngine* theWrappedObject, const QPoint* points, int pointCount);
|
|
|
QRegion systemClip(QPaintEngine* theWrappedObject) const;
|
|
|
QPaintDevice* paintDevice(QPaintEngine* theWrappedObject) const;
|
|
|
void drawLines(QPaintEngine* theWrappedObject, const QLine* lines, int lineCount);
|
|
|
bool isActive(QPaintEngine* theWrappedObject) const;
|
|
|
QPainter* painter(QPaintEngine* theWrappedObject) const;
|
|
|
void drawTiledPixmap(QPaintEngine* theWrappedObject, const QRectF& r, const QPixmap& pixmap, const QPointF& s);
|
|
|
void syncState(QPaintEngine* theWrappedObject);
|
|
|
QPoint coordinateOffset(QPaintEngine* theWrappedObject) const;
|
|
|
void drawPolygon(QPaintEngine* theWrappedObject, const QPointF* points, int pointCount, QPaintEngine::PolygonDrawMode mode);
|
|
|
bool hasFeature(QPaintEngine* theWrappedObject, QPaintEngine::PaintEngineFeatures feature) const;
|
|
|
void drawEllipse(QPaintEngine* theWrappedObject, const QRect& r);
|
|
|
void drawPoints(QPaintEngine* theWrappedObject, const QPointF* points, int pointCount);
|
|
|
void drawTextItem(QPaintEngine* theWrappedObject, const QPointF& p, const QTextItem& textItem);
|
|
|
QRect systemRect(QPaintEngine* theWrappedObject) const;
|
|
|
void drawRects(QPaintEngine* theWrappedObject, const QRectF* rects, int rectCount);
|
|
|
bool testDirty(QPaintEngine* theWrappedObject, QPaintEngine::DirtyFlags df);
|
|
|
void drawRects(QPaintEngine* theWrappedObject, const QRect* rects, int rectCount);
|
|
|
void setSystemRect(QPaintEngine* theWrappedObject, const QRect& rect);
|
|
|
void drawEllipse(QPaintEngine* theWrappedObject, const QRectF& r);
|
|
|
void drawLines(QPaintEngine* theWrappedObject, const QLineF* lines, int lineCount);
|
|
|
void setActive(QPaintEngine* theWrappedObject, bool newState);
|
|
|
void clearDirty(QPaintEngine* theWrappedObject, QPaintEngine::DirtyFlags df);
|
|
|
void drawPolygon(QPaintEngine* theWrappedObject, const QPoint* points, int pointCount, QPaintEngine::PolygonDrawMode mode);
|
|
|
void setDirty(QPaintEngine* theWrappedObject, QPaintEngine::DirtyFlags df);
|
|
|
};
|
|
|
|
|
|
#endif // PYTHONQTWRAPPER_QPAINTENGINE_H
|
|
|
|