#ifndef QPAINTERPATH_H
#define QPAINTERPATH_H
#include <QtGui/qmatrix.h>
#include <QtCore/qglobal.h>
#include <QtCore/qrect.h>
#include <QtCore/qline.h>
#include <QtCore/qvector.h>
typedef enum QtValidLicenseForGuiModule QtGuiModule;
struct QPainterPathData;
struct QPainterPathStrokerPrivate;
class QPainterPath{
public: enum ElementType{
MoveToElement = 0,
LineToElement = 1,
CurveToElement = 2,
CurveToDataElement = 3,
};
public: class Element{
public: qreal x;
public: qreal y;
public: enum QPainterPath::ElementType type;
public: inline bool isMoveTo() const
public: inline bool isLineTo() const
public: inline bool isCurveTo() const
public: inline operator class QPointF () const
public: inline bool operator ==(class QPainterPath::Element const & e) const
public: inline bool operator !=(class QPainterPath::Element const & e) const
};
public: QPainterPath();
public: explicit QPainterPath(class QPointF const & startPoint);
public: QPainterPath(class QPainterPath const & other);
public: class QPainterPath& operator =(class QPainterPath const & other);
public: ~QPainterPath();
public: void closeSubpath();
public: void moveTo(class QPointF const & p);
public: void lineTo(class QPointF const & p);
public: void arcMoveTo(class QRectF const & rect, qreal angle);
public: void arcTo(class QRectF const & rect, qreal startAngle, qreal arcLength);
public: void cubicTo(class QPointF const & ctrlPt1, class QPointF const & ctrlPt2, class QPointF const & endPt);
public: void quadTo(class QPointF const & ctrlPt, class QPointF const & endPt);
public: class QPointF currentPosition() const
public: void addRect(class QRectF const & rect);
public: void addEllipse(class QRectF const & rect);
public: void addPolygon(class QPolygonF const & polygon);
public: void addText(class QPointF const & point, struct QFont const & f, struct QString const & text);
public: void addPath(class QPainterPath const & path);
public: void addRegion(class QRegion const & region);
public: void connectPath(class QPainterPath const & path);
public: bool contains(class QPointF const & pt) const
public: bool contains(class QRectF const & rect) const
public: bool intersects(class QRectF const & rect) const
public: class QRectF boundingRect() const
public: class QRectF controlPointRect() const
public: enum Qt::FillRule fillRule() const
public: void setFillRule(enum Qt::FillRule fillRule);
public: class QPainterPath toReversed() const
public: class QList < class QPolygonF > toSubpathPolygons(class QMatrix const & matrix = QMatrix::QMatrix()) const
public: class QList < class QPolygonF > toFillPolygons(class QMatrix const & matrix = QMatrix::QMatrix()) const
public: class QPolygonF toFillPolygon(class QMatrix const & matrix = QMatrix::QMatrix()) const
public: bool operator ==(class QPainterPath const & other) const
public: bool operator !=(class QPainterPath const & other) const
private: class QPainterPathPrivate* d_ptr;
private: inline void ensureData();
private: void ensureData_helper();
private: void detach_helper();
private: inline struct QPainterPathData* d_func() const
public: inline void moveTo(qreal x, qreal y);
public: inline void lineTo(qreal x, qreal y);
public: inline void arcTo(qreal x, qreal y, qreal w, qreal h, qreal startAngle, qreal arcLenght);
public: inline void arcMoveTo(qreal x, qreal y, qreal w, qreal h, qreal angle);
public: inline void cubicTo(qreal ctrlPt1x, qreal ctrlPt1y, qreal ctrlPt2x, qreal ctrlPt2y, qreal endPtx, qreal endPty);
public: inline void quadTo(qreal ctrlPtx, qreal ctrlPty, qreal endPtx, qreal endPty);
public: inline void addEllipse(qreal x, qreal y, qreal w, qreal h);
public: inline void addRect(qreal x, qreal y, qreal w, qreal h);
public: inline void addText(qreal x, qreal y, struct QFont const & f, struct QString const & text);
public: inline bool isEmpty() const
public: inline int elementCount() const
public: inline class QPainterPath::Element const & elementAt(int i) const
public: inline void setElementPositionAt(int i, qreal x, qreal y);
private: inline void detach();
friend struct QPainterPathData;
friend class QPainterPathStroker;
friend struct QPainterPathStrokerPrivate;
friend class QMatrix;
friend struct QDataStream& operator <<(struct QDataStream&, class QPainterPath const &);
friend struct QDataStream& operator >>(struct QDataStream&, class QPainterPath&);
};
class QPainterPathPrivate{
private: class QAtomic ref;
private: class QVector < class QPainterPath::Element > elements;
friend class QPainterPath;
friend struct QPainterPathData;
friend class QPainterPathStroker;
friend struct QPainterPathStrokerPrivate;
friend class QMatrix;
friend struct QDataStream& operator <<(struct QDataStream&, class QPainterPath const &);
friend struct QDataStream& operator >>(struct QDataStream&, class QPainterPath&);
};
template < > class QTypeInfo < class QPainterPath::Element >{
public: static inline char const * name();
public: enum /*anonymous*/{
isComplex = 0,
isStatic = 0,
isLarge = 1,
isPointer = 0,
isDummy = 0,
};
};
#ifndef QT_NO_DATASTREAM
struct QDataStream& operator <<(struct QDataStream&, class QPainterPath const &);
struct QDataStream& operator >>(struct QDataStream&, class QPainterPath&);
#endif
class QPainterPathStroker{
private: inline struct QPainterPathStrokerPrivate* d_func();
private: inline struct QPainterPathStrokerPrivate const * d_func() const
public: QPainterPathStroker();
public: ~QPainterPathStroker();
public: void setWidth(qreal width);
public: qreal width() const
public: void setCapStyle(enum Qt::PenCapStyle style);
public: enum Qt::PenCapStyle capStyle() const
public: void setJoinStyle(enum Qt::PenJoinStyle style);
public: enum Qt::PenJoinStyle joinStyle() const
public: void setMiterLimit(qreal length);
public: qreal miterLimit() const
public: void setCurveThreshold(qreal threshold);
public: qreal curveThreshold() const
public: void setDashPattern(enum Qt::PenStyle);
public: void setDashPattern(class QVector < double > const & dashPattern);
public: class QVector < double > dashPattern() const
public: class QPainterPath createStroke(class QPainterPath const & path) const
private: struct QPainterPathStrokerPrivate* d_ptr;
friend struct QPainterPathStrokerPrivate;
};
#endif // QPAINTERPATH_H