]> Shamusworld >> Repos - architektonas/blob - src/painter.h
bdc46e413bfa88caeb284b96b98d31d14bdf40ed
[architektonas] / src / painter.h
1 #ifndef __PAINTER_H__
2 #define __PAINTER_H__
3
4 #include <QtGui>
5 #include "vector.h"
6
7 //#define SCREEN_ZOOM  (1.0 / 4.0)
8
9 // Forward declarations
10
11 class Painter
12 {
13         public:
14                 Painter(QPainter * p = 0);
15                 ~Painter();
16
17                 void SetRenderHint(int);
18                 void SetBrush(QBrush);
19                 void SetFont(QFont);
20                 void SetPen(QPen);
21                 void DrawAngledText(Vector, double, QString, double);
22                 void DrawArc(Vector, double, double, double);
23                 void DrawEllipse(Vector, double, double);
24                 void DrawHandle(Vector);
25                 void DrawLine(int, int, int, int);
26                 void DrawLine(Vector, Vector);
27                 void DrawPoint(int, int);
28                 void DrawRoundedRect(QRectF, double, double);
29                 void DrawPaddedRect(QRectF);
30                 void DrawRect(QRectF);
31                 void DrawText(QRectF, int, QString);
32                 void DrawArrowhead(Vector, Vector, double);
33                 void DrawCrosshair(Vector);
34
35         public:
36                 static Vector CartesianToQtCoords(Vector);
37                 static Vector QtToCartesianCoords(Vector);
38
39         public:
40                 // Class variables
41                 static Vector origin;           // The window origin, not location of the origin
42                 static double zoom;                     // Window zoom factor
43                 static Vector screenSize;       // Width & height of the window we're drawing on
44
45         private:
46                 QPainter * painter;
47 };
48
49 #endif  // __PAINTER_H__