#ifndef QPAINTENGINE_H
#define QPAINTENGINE_H
#include <QtCore/qnamespace.h>
#include <QtCore/qobjectdefs.h>
#include <QtGui/qpainter.h>
typedef enum QtValidLicenseForGuiModule QtGuiModule;
struct QPaintEnginePrivate;
struct QGlyphLayout;
class QTextItem{
public: enum RenderFlag{
RightToLeft = 1,
Overline = 16,
Underline = 32,
StrikeOut = 64,
Dummy = -1,
};
public: typedef class QFlags < enum QTextItem::RenderFlag > RenderFlags;
public: qreal descent() const
public: qreal ascent() const
public: qreal width() const
public: class QFlags < enum QTextItem::RenderFlag > renderFlags() const
public: class QString text() const
public: class QFont font() const
};
template < > class QTypeInfo < class QTextItem >{
public: static inline char const * name();
public: enum /*anonymous*/{
isComplex = 0,
isStatic = 0,
isLarge = 0,
isPointer = 0,
isDummy = 0,
};
};
class QPaintEngine{
private: inline struct QPaintEnginePrivate* d_func();
private: inline struct QPaintEnginePrivate const * d_func() const
public: enum PaintEngineFeature{
PrimitiveTransform = 1,
PatternTransform = 2,
PixmapTransform = 4,
PatternBrush = 8,
LinearGradientFill = 16,
RadialGradientFill = 32,
ConicalGradientFill = 64,
AlphaBlend = 128,
PorterDuff = 256,
PainterPaths = 512,
Antialiasing = 1024,
BrushStroke = 2048,
ConstantOpacity = 4096,
MaskedBrush = 8192,
PaintOutsidePaintEvent = 536870912,
AllFeatures = -1,
};
public: typedef class QFlags < enum QPaintEngine::PaintEngineFeature > PaintEngineFeatures;
public: enum DirtyFlag{
DirtyPen = 1,
DirtyBrush = 2,
DirtyBrushOrigin = 4,
DirtyFont = 8,
DirtyBackground = 16,
DirtyBackgroundMode = 32,
DirtyTransform = 64,
DirtyClipRegion = 128,
DirtyClipPath = 256,
DirtyHints = 512,
DirtyCompositionMode = 1024,
DirtyClipEnabled = 2048,
DirtyOpacity = 4096,
AllDirty = 65535,
};
public: typedef class QFlags < enum QPaintEngine::DirtyFlag > DirtyFlags;
public: enum PolygonDrawMode{
OddEvenMode = 0,
WindingMode = 1,
ConvexMode = 2,
PolylineMode = 3,
};
public: explicit QPaintEngine(class QFlags < enum QPaintEngine::PaintEngineFeature > features = 0);
public: virtual ~QPaintEngine();
public: inline bool isActive() const
public: inline void setActive(bool newState);
public: virtual bool begin(class QPaintDevice* pdev) = 0;
public: virtual bool end() = 0;
public: virtual void updateState(class QPaintEngineState const & state) = 0;
public: virtual void drawRects(class QRect const * rects, int rectCount);
public: virtual void drawRects(class QRectF const * rects, int rectCount);
public: virtual void drawLines(class QLine const * lines, int lineCount);
public: virtual void drawLines(class QLineF const * lines, int lineCount);
public: virtual void drawEllipse(class QRectF const & r);
public: virtual void drawEllipse(class QRect const & r);
public: virtual void drawPath(struct QPainterPath const & path);
public: virtual void drawPoints(class QPointF const * points, int pointCount);
public: virtual void drawPoints(class QPoint const * points, int pointCount);
public: virtual void drawPolygon(class QPointF const * points, int pointCount, enum QPaintEngine::PolygonDrawMode mode);
public: virtual void drawPolygon(class QPoint const * points, int pointCount, enum QPaintEngine::PolygonDrawMode mode);
public: virtual void drawPixmap(class QRectF const & r, class QPixmap const & pm, class QRectF const & sr) = 0;
public: virtual void drawTextItem(class QPointF const & p, class QTextItem const & textItem);
public: virtual void drawTiledPixmap(class QRectF const & r, class QPixmap const & pixmap, class QPointF const & s);
public: virtual void drawImage(class QRectF const & r, class QImage const & pm, class QRectF const & sr, Qt::ImageConversionFlags flags = Qt::AutoColor);
public: void setPaintDevice(class QPaintDevice* device);
public: class QPaintDevice* paintDevice() const
public: void setSystemClip(class QRegion const & baseClip);
public: class QRegion systemClip() const
public: void setSystemRect(class QRect const & rect);
public: class QRect systemRect() const
public: virtual class QPoint coordinateOffset() const
public: enum Type{
X11 = 0,
Windows = 1,
QuickDraw = 2,
CoreGraphics = 3,
MacPrinter = 4,
QWindowSystem = 5,
PostScript = 6,
OpenGL = 7,
Picture = 8,
SVG = 9,
Raster = 10,
User = 50,
MaxUser = 100,
};
public: virtual enum QPaintEngine::Type type() const = 0;
public: inline bool hasFeature(class QFlags < enum QPaintEngine::PaintEngineFeature > feature) const
public: class QPainter* painter() const
public: inline void syncState();
protected: QPaintEngine(struct QPaintEnginePrivate& data, class QFlags < enum QPaintEngine::PaintEngineFeature > devcaps = 0);
protected: class QPaintEngineState* state;
protected: class QFlags < enum QPaintEngine::PaintEngineFeature > gccaps;
protected: unsigned int active:1;
protected: unsigned int selfDestruct:1;
protected: struct QPaintEnginePrivate* d_ptr;
private: inline void setAutoDestruct(bool autoDestr);
private: inline bool autoDestruct() const
private: QPaintEngine(class QPaintEngine const &);
private: class QPaintEngine& operator =(class QPaintEngine const &);
public: inline void fix_neg_rect(int* x, int* y, int* w, int* h);
public: inline bool testDirty(class QFlags < enum QPaintEngine::DirtyFlag > df);
public: inline void setDirty(class QFlags < enum QPaintEngine::DirtyFlag > df);
public: inline void clearDirty(class QFlags < enum QPaintEngine::DirtyFlag > df);
friend struct QPaintEnginePrivate;
friend struct QFontEngineBox;
friend struct QFontEngineMac;
friend struct QFontEngineWin;
friend struct QFontEngineFT;
friend struct QFontEngineQPF;
friend struct QPSPrintEngine;
friend struct QMacPrintEngine;
friend struct QMacPrintEnginePrivate;
friend class QPainter;
friend struct QPainterPrivate;
friend struct QWidget;
friend struct QWin32PaintEngine;
friend struct QWin32PaintEnginePrivate;
friend struct QMacCGContext;
};
#ifndef QT_NO_QWS_QPF
struct QFontEngineQPF;
#endif
struct QPSPrintEngine;
struct QMacPrintEngine;
struct QMacPrintEnginePrivate;
struct QMacCGContext;
class QPaintEngineState{
public: inline class QFlags < enum QPaintEngine::DirtyFlag > state() const
public: class QPen pen() const
public: class QBrush brush() const
public: class QPointF brushOrigin() const
public: class QBrush backgroundBrush() const
public: enum Qt::BGMode backgroundMode() const
public: class QFont font() const
public: class QMatrix matrix() const
public: enum Qt::ClipOperation clipOperation() const
public: class QRegion clipRegion() const
public: struct QPainterPath clipPath() const
public: bool isClipEnabled() const
public: class QFlags < enum QPainter::RenderHint > renderHints() const
public: enum QPainter::CompositionMode compositionMode() const
public: qreal opacity() const
public: class QPainter* painter() const
protected: class QFlags < enum QPaintEngine::DirtyFlag > dirtyFlags;
friend class QPaintEngine;
friend class QPainter;
friend struct QPainterPrivate;
};
inline class QFlags < enum QTextItem::RenderFlag > operator |(enum QTextItem::RenderFlag f1, class QFlags < enum QTextItem::RenderFlag > f2);
inline class QFlags < enum QTextItem::RenderFlag > operator |(enum QTextItem::RenderFlag f1, enum QTextItem::RenderFlag f2);
inline class QFlags < enum QPaintEngine::PaintEngineFeature > operator |(enum QPaintEngine::PaintEngineFeature f1, class QFlags < enum QPaintEngine::PaintEngineFeature > f2);
inline class QFlags < enum QPaintEngine::PaintEngineFeature > operator |(enum QPaintEngine::PaintEngineFeature f1, enum QPaintEngine::PaintEngineFeature f2);
inline class QFlags < enum QPaintEngine::DirtyFlag > operator |(enum QPaintEngine::DirtyFlag f1, class QFlags < enum QPaintEngine::DirtyFlag > f2);
inline class QFlags < enum QPaintEngine::DirtyFlag > operator |(enum QPaintEngine::DirtyFlag f1, enum QPaintEngine::DirtyFlag f2);
#endif // QPAINTENGINE_H