]> Shamusworld >> Repos - architektonas/blobdiff - src/painter.h
Add small handle rendering, make Informative Text backgrnd more opaque.
[architektonas] / src / painter.h
index 50c79a429f8747fbe73303c8d99c2f2da080f31b..98c81f3a7e6297955d73f6438044cd1d757ddd01 100644 (file)
@@ -1,11 +1,11 @@
 #ifndef __PAINTER_H__
 #define __PAINTER_H__
 
-#include <QtGui>
+#include <stdint.h>
+#include <QtWidgets>
+#include "rect.h"
 #include "vector.h"
 
-//#define SCREEN_ZOOM  (1.0 / 4.0)
-
 // Forward declarations
 
 class Painter
@@ -15,14 +15,22 @@ class Painter
                ~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 SetPen(QPen);
                void DrawAngledText(Vector, double, QString, double);
+               void DrawTextObject(Vector, QString, double, double angle = 0);
+               Rect MeasureTextObject(QString text, double size);
                void DrawArc(Vector, double, double, double);
                void DrawEllipse(Vector, double, double);
                void DrawHandle(Vector);
+               void DrawSmallHandle(Vector);
+               void DrawCross(Vector);
+               void DrawRectCorners(Rect);
                void DrawArrowHandle(Vector, double);
+               void DrawArrowToLineHandle(Vector, double);
                void DrawLine(int, int, int, int);
                void DrawLine(Vector, Vector);
                void DrawPoint(int, int);
@@ -38,14 +46,9 @@ class Painter
                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__
+