]> Shamusworld >> Repos - architektonas/blob - src/drawingview.h
e8dc3af86c1522d61b2244f9f4bf7d6bd55e5bc1
[architektonas] / src / drawingview.h
1 #ifndef __DRAWINGVIEW_H__
2 #define __DRAWINGVIEW_H__
3
4 #include <QtGui>
5 #include <stdint.h>
6 #include "action.h"
7 #include "container.h"
8
9 class DrawingView: public QWidget
10 {
11         Q_OBJECT
12
13         public:
14                 DrawingView(QWidget * parent = NULL);
15
16         public:
17                 void SetRotateToolActive(bool state = true);
18                 void SetAddLineToolActive(bool state = true);
19
20         public slots:
21                 void AddNewObjectToDocument(Object *);
22
23         protected:
24                 void paintEvent(QPaintEvent * event);
25                 void mousePressEvent(QMouseEvent * event);
26                 void mouseMoveEvent(QMouseEvent * event);
27                 void mouseReleaseEvent(QMouseEvent * event);
28
29         private:
30                 QPoint GetAdjustedMousePosition(QMouseEvent * event);
31                 QPoint GetAdjustedClientPosition(int x, int y);
32
33         public:
34                 bool useAntialiasing;
35
36         private:
37                 double scale;                                                   // Window scaling factor
38                 int32_t offsetX, offsetY;                               // Window offsets
39                 Container document;
40                 double gridSpacing;
41                 bool collided;
42 //Should this go into Object's class variables???
43                 bool rotateTool;
44                 double rx, ry;
45                 bool scrollDrag;
46                 Vector oldPoint;
47                 bool addLineTool;
48                 Action * toolAction;
49 /*              QSize minimumSizeHint() const;
50                 QSize sizeHint() const;
51
52         private:
53                 void CreateCursors(void);
54                 QPoint GetAdjustedMousePosition(QMouseEvent * event);
55                 QPoint GetAdjustedClientPosition(int x, int y);
56
57                 QImage image;
58                 QPoint pt, ptOffset, ptPrevious;
59                 ToolType tool;                                                  // Current tool
60                 GlyphPoints pts;                                                // Glyph point structure
61                 int32 ptHighlight, oldPtHighlight, ptNextHighlight, oldPtNextHighlight;
62                 bool polyFirstPoint;
63
64                 ToolWindow * toolPalette;
65                 QCursor cur[8];
66 */
67 };
68
69 #endif  // __DRAWINGVIEW_H__