25 #include <QStringList>
27 #include "bezierarea.h"
28 #include "beziercurve.h"
29 #include "vertexref.h"
41 void setObject(
Object* pObj ) { mObject = pObj; }
43 bool read(QString filePath);
44 Status write(QString filePath, QString format);
46 Status createDomElement(QXmlStreamWriter& doc);
47 void loadDomElement(QDomElement element);
49 void insertCurve(
int position,
BezierCurve& newCurve, qreal factor,
bool interacts);
50 void addCurve(
BezierCurve& newCurve, qreal factor,
bool interacts =
true);
51 void removeCurveAt(
int i);
52 void select(QRectF rectangle);
53 void setSelected(
int curveNumber,
bool YesOrNo);
54 void setSelected(
int curveNumber,
int vertexNumber,
bool YesOrNo);
55 void setSelected(
VertexRef vertexRef,
bool YesOrNo);
56 void setSelected(
QList<int> curveList,
bool YesOrNo);
58 bool isSelected(
int curveNumber);
59 bool isSelected(
int curveNumber,
int vertexNumber);
63 void setAreaSelected(
int areaNumber,
bool YesOrNo);
64 bool isAreaSelected(
int areaNumber);
66 int getFirstSelectedCurve();
67 int getFirstSelectedArea();
70 QRectF getSelectionRect() {
return mSelectionRect; }
71 void setSelectionRect(QRectF rectange);
72 void calculateSelectionRect();
73 void deleteSelection();
74 void deleteSelectedPoints();
75 void removeVertex(
int i,
int m);
79 QColor getColour(
int i);
80 int getColourNumber(QPointF point);
81 bool usesColour(
int index);
82 void removeColour(
int index);
84 void paintImage(QPainter& painter,
bool simplified,
bool showThinCurves,
bool antialiasing);
85 void outputImage(QImage* image, QTransform myView,
bool simplified,
bool showThinCurves,
bool antialiasing);
89 void setSelectionTransformation(QTransform transform);
90 void applySelectionTransformation();
91 void applySelectionTransformation(QTransform transform);
92 void applyColourToSelection(
int colourNumber);
93 void applyWidthToSelection(qreal width);
94 void applyFeatherToSelection(qreal feather);
95 void applyOpacityToSelection(qreal opacity);
96 void applyInvisibilityToSelection(
bool YesOrNo);
97 void applyVariableWidthToSelection(
bool YesOrNo);
98 void fillPath(
QList<QPointF> contourPath,
int colour,
float tolerance);
99 void fill(QPointF point,
int colour,
float tolerance);
101 int getFirstAreaNumber(QPointF point);
102 int getLastAreaNumber(QPointF point);
103 int getLastAreaNumber(QPointF point,
int maxAreaNumber);
104 void removeArea(QPointF point);
107 QList<int> getCurvesCloseTo(QPointF thisPoint, qreal maxDistance);
108 VertexRef getClosestVertexTo(QPointF thisPoint, qreal maxDistance);
116 QPointF getVertex(
int curveNumber,
int vertexNumber);
118 QPointF getC1(
int curveNumber,
int vertexNumber);
120 QPointF getC2(
int curveNumber,
int vertexNumber);
123 int getCurveSize(
int curveNumber);
131 QSize getSize() {
return mSize;}
134 void addPoint(
int curveNumber,
int vertexNumber, qreal t );
136 void checkCurveExtremity(
BezierCurve& newCurve, qreal tolerance);
137 void checkCurveIntersections(
BezierCurve& newCurve, qreal tolerance);
143 Object* mObject =
nullptr;
144 QRectF mSelectionRect;
145 QTransform mSelectionTransformation;