Hot Door CORE  0.7.1
Adobe® Illustrator® Plug-in Library
hdicoreCursor.h
Go to the documentation of this file.
1 
7 #ifndef __HDI_CORE_CURSOR__
8 #define __HDI_CORE_CURSOR__
9 
10 #include "hdicorePoint.h"
11 #include "hdicoreTypes.h"
12 
13 namespace hdi
14 {
15  namespace plugin
16  {
17  class Cursor;
18  }
19 
20  namespace core
21  {
25  class Cursor
26  {
27  public:
33  static const int16_t noneImageID = 0;
34 
39  {
40  BrushCursor = 10,
41  CrosshairsCursor = 20,
42  CrosshairsAddCursor = 30,
43  CrosshairsAnchorCursor = 40,
44  CrosshairsCircleBoldCursor = 50,
45  CrosshairsCircleBrokenCursor = 60,
46  CrosshairsCircleWholeCursor = 70,
47  CrosshairsCloseCursor = 80,
48  CrosshairsContinueCursor = 90,
49  CrosshairsDeleteCursor = 100,
50  CrosshairsEllipsisCursor = 110,
51  CrosshairsNoCursor = 120,
52  CrosshairsSquareBrokenCursor = 130,
53  DirectMoveCursor = 140,
54  DirectMoveCopyCursor = 150,
55  DirectSelectCursor = 160,
56  DirectSelectAddCursor = 170,
57  DirectSelectBehindCursor = 180,
58  EyeDropperCursor = 190,
59  EyeDropperFilledCursor = 200,
60  FistCursor = 210,
61  HandCursor = 220,
62  MoveCursor = 230,
63  MoveCopyCursor = 240,
64  PenCursor = 250,
65  PenAddCursor = 260,
66  PencilCursor = 270,
67  PenCloseCursor = 280,
68  PenContinueCursor = 290,
69  PenCornerCursor = 300,
70  PenNewCursor = 310,
71  PenSubstractCursor = 320,
72  PenWeldCursor = 330,
73  RotateBottomCenterCursor = 340,
74  RotateBottomLeftCursor = 350,
75  RotateBottomRightCursor = 360,
76  RotateMidLeftCursor = 370,
77  RotateMidRightCursor = 380,
78  RotateTopCenterCursor = 390,
79  RotateTopLeftCursor = 400,
80  RotateTopRightCursor = 410,
81  ScaleDeclineCursor = 420,
82  ScaleHorizontalCursor = 430,
83  ScaleInclineCursor = 440,
84  ScaleVerticalCursor = 450,
85  SelectCursor = 460,
86  SelectBehindCursor = 470,
87  WatchCursor = 480,
88  ZoomInCursor = 490,
89  ZoomNoneCursor = 500,
90  ZoomOutCursor = 510
91  };
92 
103  Cursor();
104 
112  Cursor(const Cursor& c_);
113 
121  Cursor(const AdobeCursor cursor_);
122 
136  Cursor(
137  const int16_t cursorID_,
138  const int16_t cursorID3to2x_,
139  const int16_t cursorID2x_,
140  const Point& hotSpot_
141  );
142 
150  static Cursor CurrentCursor();
151 
160  Cursor& operator=(const Cursor& rhs_);
161 
167  virtual ~Cursor();
168 
176  virtual bool isEmpty() const;
177 
183  virtual void enable();
184 
192  virtual Point hotSpot() const;
193 
202  virtual bool operator==(const Cursor& rhs_) const;
203 
212  virtual bool operator!=(const Cursor& rhs_) const;
213 
221  static Point screenLoc();
222 
230  static void mouseDown(const Point& pt_);
231 
239  static void mouseUp(const Point& pt_);
240 
250  static void click(const Point& pt_);
251 
252 
253  private:
254  friend plugin::Cursor* __accessImpl(const Cursor&);
255 
259  void* __data;
260 
266  void* __impl() const;
267  };
268 
269  typedef std::auto_ptr<Cursor> CursorAP;
270 
271  extern plugin::Cursor* __accessImpl(const Cursor&);
272  }
273 }
274 
275 #endif
276 // __HDI_CORE_CURSOR__
Describes a point in the 2-dimensional (x,y) coordinate system, typically in an Illustrator document ...
Definition: hdicorePoint.h:26
Represents a cursor that can be shown on the screen, as well as metadata about the current cursor...
Definition: hdicoreCursor.h:25
Header file for a wide variety of necessary typedefs, enums, and forwards declarations.
Header file for describing 2D points.
Definition: hdicoreaiArray.h:12
AdobeCursor
Describes the built-in Adobe cursors that can be acquired.
Definition: hdicoreCursor.h:38