1 #pragma once
2 
3 #ifndef CURSORS_INCLUDED
4 #define CURSORS_INCLUDED
5 
6 namespace ToolCursor {
7 
8 enum {
9   CURSOR_NONE,                   // no cursor...
10   CURSOR_DEFAULT = CURSOR_NONE,  // window class cursor...
11   CURSOR_ARROW,
12   CURSOR_HAND,
13   CURSOR_HOURGLASS,
14   CURSOR_DUMMY,
15 #ifndef _WIN32
16   CURSOR_DND,
17   CURSOR_QUESTION,
18 #endif
19   PenCursor,
20   PenLargeCursor,
21   PenCrosshairCursor,
22   BenderCursor,
23   CutterCursor,
24   DistortCursor,
25   EraserCursor,
26   FillCursor,
27   MoveCursor,
28   FlipHCursor,
29   FlipVCursor,
30   IronCursor,
31   LevelSelectCursor,
32   MagnetCursor,
33   PanCursor,
34   PickerCursor,
35   PointingHandCursor,
36   PumpCursor,
37   RotCursor,
38   RotTopLeft,
39   RotBottomRight,
40   RotBottomLeft,
41   RotateCursor,
42   ScaleCursor,
43   ScaleInvCursor,
44   ScaleHCursor,
45   ScaleVCursor,
46   StrokeSelectCursor,
47   TapeCursor,
48   TypeInCursor,
49   TypeOutCursor,
50   ZoomCursor,
51   PinchCursor,
52   PinchAngleCursor,
53   PinchWaveCursor,
54   SplineEditorCursor,
55   SplineEditorCursorSelect,
56   SplineEditorCursorAdd,
57   TrackerCursor,
58   ForbiddenCursor,
59   CURSOR_NO = ForbiddenCursor,
60 
61   NormalEraserCursor,
62   RectEraserCursor,
63   PickerCursorOrganize,
64 
65   PickerRGBWhite,
66 
67   FillCursorL,
68 
69   MoveEWCursor,
70   MoveNSCursor,
71   DisableCursor,
72   ScaleGlobalCursor,
73   RulerModifyCursor,
74   RulerNewCursor,
75 
76   // Base cursors with fixed set of decorations. See below
77   FxGadgetCursorBase,
78   EditFxCursorBase,
79   MoveZCursorBase,
80   PickerCursorLineBase,
81   PickerCursorAreaBase,
82   PickerRGBBase,
83   ScaleHVCursorBase,
84 
85   // extra options for decorating the cursor
86   Ex_Negate           = 0x100,  // used for black bg
87   Ex_FreeHand         = 0x200,
88   Ex_PolyLine         = 0x400,
89   Ex_Rectangle        = 0x800,
90   Ex_Line             = 0x1000,
91   Ex_Area             = 0x2000,
92   Ex_Fill_NoAutopaint = 0x4000,
93   Ex_FX               = 0x8000,
94   Ex_Z                = 0x10000,
95   Ex_StyleLine        = 0x20000,
96   Ex_StyleArea        = 0x40000,
97   Ex_RGB              = 0x80000,
98   Ex_HV               = 0x100000,
99   Ex_Precise          = 0x200000,
100   Ex_Prev             = 0x400000,
101   Ex_Next             = 0x800000,
102 
103   // This section is for cursors that have fixed text that needs to
104   // be handled separately when flipping for left-handed cursors.
105   // The base gets flipped, but a left-handed version of text will be
106   // used instead of flipped.
107   FxGadgetCursor   = FxGadgetCursorBase | Ex_FX,
108   EditFxCursor     = EditFxCursorBase | Ex_FX,
109   MoveZCursor      = MoveZCursorBase | Ex_Z,
110   PickerCursorLine = PickerCursorLineBase | Ex_StyleLine,
111   PickerCursorArea = PickerCursorAreaBase | Ex_StyleArea,
112   PickerRGB        = PickerRGBBase | Ex_RGB,
113   ScaleHVCursor    = ScaleHVCursorBase | Ex_HV,
114   PickPrevCursor   = PointingHandCursor | Ex_Prev,
115   PickNextCursor   = PointingHandCursor | Ex_Next
116 };
117 
118 }  // namespace ToolCursor
119 
120 #endif
121