]> Shamusworld >> Repos - ttedit/blob - src/editwindow.h
9ca997be19e2d8acf2396373d10df340fce24c9c
[ttedit] / src / editwindow.h
1 //
2 // EDITWINDOW.H: Header file
3 //
4 // by James L. Hammons
5 // (C) 2008 Underground Software
6 //
7
8 #ifndef __EDITWINDOW_H__
9 #define __EDITWINDOW_H__
10
11 #include <QtGui>
12 #include "types.h"
13 #include "toolwindow.h"                                                 // For ToolType enum
14 #include "glyphpoints.h"
15
16 class EditWindow: public QWidget
17 {
18         Q_OBJECT
19
20         public:
21                 EditWindow(QWidget * parent = NULL);
22                 QSize minimumSizeHint() const;
23                 QSize sizeHint() const;
24
25         protected:
26                 void paintEvent(QPaintEvent * event);
27                 void mousePressEvent(QMouseEvent * event);
28                 void mouseMoveEvent(QMouseEvent * event);
29                 void mouseReleaseEvent(QMouseEvent * event);
30
31         private:
32                 void CreateCursors(void);
33                 QPoint GetAdjustedMousePosition(QMouseEvent * event);
34                 QPoint GetAdjustedClientPosition(int x, int y);
35                 void DrawGlyph(QPainter & p, GlyphPoints & glyph);
36
37         public:
38                 QImage image;
39                 QPoint pt, ptOffset, ptPrevious;
40                 double scale;                                                   // Window scaling factor
41                 int32 offsetX, offsetY;                                 // Window offsets
42                 ToolType tool;                                                  // Current tool
43                 GlyphPoints pts;                                                // Glyph point structure
44                 int32 ptHighlight, oldPtHighlight, ptNextHighlight, oldPtNextHighlight;
45                 bool polyFirstPoint;
46                 bool showRotationCenter, haveZeroPoint;
47                 QPoint rotationCenter, rotationZeroPoint, rotationCurrentPoint;
48                 double rotationAngle;
49
50                 ToolWindow * toolPalette;
51                 QCursor cur[9];
52 };
53
54 #endif  // __EDITWINDOW_H__