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