]> Shamusworld >> Repos - ttedit/blobdiff - src/painter.h
Added rectangle point selection, canvas zooming.
[ttedit] / src / painter.h
diff --git a/src/painter.h b/src/painter.h
new file mode 100644 (file)
index 0000000..c95b84a
--- /dev/null
@@ -0,0 +1,63 @@
+#ifndef __PAINTER_H__
+#define __PAINTER_H__
+
+#include <stdint.h>
+#include <QtWidgets>
+#include "vector.h"
+#include "glyphpoints.h"
+
+//#define SCREEN_ZOOM  (1.0 / 4.0)
+
+// Forward declarations
+
+class Painter
+{
+       public:
+               Painter(QPainter * p = 0);
+               ~Painter();
+
+               void SetRenderHint(int);
+               void SetPen(QPen);
+               void SetPen(uint32_t, float size = 0, int style = 0);
+               void SetBrush(QBrush);
+               void SetBrush(uint32_t);
+               void SetFont(QFont);
+               void DrawAngledText(Vector, double, QString, double);
+               void DrawTextObject(Vector, QString, double, double angle = 0);
+               void DrawArc(Vector, double, double, double);
+               void DrawEllipse(Vector, double, double);
+               void DrawHandle(Vector);
+               void DrawArrowHandle(Vector, double);
+               void DrawArrowToLineHandle(Vector, double);
+               void DrawLine(int, int, int, int);
+               void DrawLine(Vector, Vector);
+               void DrawPoint(int, int);
+               void DrawRoundedRect(QRectF, double, double);
+               void DrawPaddedRect(QRectF);
+               void DrawRect(QRectF);
+               void DrawText(QRectF, int, QString);
+               void DrawArrowhead(Vector, Vector, double);
+               void DrawCrosshair(Vector);
+               void DrawInformativeText(QString);
+               void DrawBezier(Point, Point, Point);
+               void DrawBezier(IPoint, IPoint, IPoint);
+               void DrawSquareDot(Vector);
+               void DrawRoundDot(Vector);
+               void DrawSquareDotN(Vector, uint32_t);
+               void DrawRoundDotN(Vector, uint32_t);
+
+       public:
+               static Vector CartesianToQtCoords(Vector);
+               static Vector QtToCartesianCoords(Vector);
+
+       public:
+               // Class variables
+//             static Vector origin;           // The window origin, not location of the origin
+//             static double zoom;                     // Window zoom factor
+//             static Vector screenSize;       // Width & height of the window we're drawing on
+
+       private:
+               QPainter * painter;
+};
+
+#endif // __PAINTER_H__