]> Shamusworld >> Repos - architektonas/blob - src/global.h
Added Parallel tool + command processing.
[architektonas] / src / global.h
1 #ifndef __GLOBALS_H__
2 #define __GLOBALS_H__
3
4 // Global variable class. Note that all vars are class vars, so we don't have
5 // to do any instantiation shite.
6
7 #include <stdint.h>
8 #include <string>
9 #include <vector>
10 #include <QRectF>
11 #include "vector.h"
12
13 class QFont;
14
15 enum LineStyle { LSNone, LSSolid, LSDash, LSDot, LSDashDot, LSDashDotDot };
16
17 typedef std::vector<void *> VPVector;
18 typedef std::vector<void *>::iterator VPVectorIter;
19 typedef std::vector<bool> BVector;
20 typedef std::vector<std::string> SVector;
21
22 class Global
23 {
24         public:
25                 static double gridSpacing;
26                 static bool selectionInProgress;
27                 static QRectF selection;
28                 static QFont * font;
29                 static Point snapPoint;
30                 static bool snapPointIsValid;
31
32                 static bool fixedAngle;
33                 static bool fixedLength;
34                 static int viewportHeight;
35                 static bool deleteActive;
36                 static bool dimensionActive;
37
38                 static bool snapToGrid;
39                 static bool ignoreClicks;
40                 static bool dontMove;
41                 static uint32_t objectID;
42                 static int tool;
43                 static int toolState;
44                 static bool toolSuppressCrosshair;
45                 static double parallelDist;
46                 static int parallelNum;
47                 static int parallelBU;
48
49                 static Point origin;
50                 static double zoom;
51                 static Vector screenSize;
52
53                 static float scale;
54
55                 static float penWidth;
56                 static int penStyle;
57                 static uint32_t penColor;
58                 static bool penStamp;
59                 static bool penDropper;
60
61                 static Point intersectPoint[16]; // Overkill, yes
62                 static double intersectParam[16]; // Ditto
63                 static int numIntersectPoints;
64                 static int numIntersectParams;
65
66                 static int activeLayer;
67                 static int numLayers;
68                 static BVector layerHidden;
69                 static BVector layerLocked;
70                 static SVector layerName;
71 };
72
73 #endif  // __GLOBALS_H__