00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef SOQT_CURSOR_H
00025 #define SOQT_CURSOR_H
00026
00027 #include <Inventor/SbLinear.h>
00028 #include <Inventor/Qt/SoQtBasic.h>
00029
00030 class SOQT_DLL_API SoQtCursor {
00031 public:
00032 struct CustomCursor {
00033 SbVec2s dim;
00034 SbVec2s hotspot;
00035 unsigned char * bitmap;
00036 unsigned char * mask;
00037 };
00038
00039
00040
00041 enum Shape {
00042 CUSTOM_BITMAP = -1,
00043 DEFAULT = 0,
00044 BUSY,
00045 CROSSHAIR,
00046 UPARROW
00047 };
00048
00049 SoQtCursor(void);
00050 SoQtCursor(const Shape shape);
00051 SoQtCursor(const CustomCursor * cc);
00052 ~SoQtCursor();
00053
00054 Shape getShape(void) const;
00055 void setShape(const Shape shape);
00056
00057 const CustomCursor & getCustomCursor(void) const;
00058
00059 static const SoQtCursor & getZoomCursor(void);
00060 static const SoQtCursor & getPanCursor(void);
00061 static const SoQtCursor & getRotateCursor(void);
00062 static const SoQtCursor & getBlankCursor(void);
00063
00064 private:
00065 void commonConstructor(const Shape shape, const CustomCursor * cc);
00066
00067 Shape shape;
00068 CustomCursor * cc;
00069 };
00070
00071 #endif // ! SOQT_CURSOR_H