Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef MITK_APPLICATION_CURSOR_H_DEFINED_AND_ALL_IS_GOOD
00019 #define MITK_APPLICATION_CURSOR_H_DEFINED_AND_ALL_IS_GOOD
00020
00021 #include "mitkCommon.h"
00022 #include "mitkVector.h"
00023
00024 namespace mitk
00025 {
00026
00034 class MITK_CORE_EXPORT ApplicationCursorImplementation
00035 {
00036 public:
00037
00039 virtual void PushCursor(const char* XPM[], int hotspotX, int hotspotY) = 0;
00040
00042 virtual void PopCursor() = 0;
00043
00045 virtual const Point2I GetCursorPosition() = 0;
00046
00048 virtual void SetCursorPosition(const Point2I&) = 0;
00049
00050 virtual ~ApplicationCursorImplementation() {};
00051
00052 protected:
00053 private:
00054 };
00055
00066 class MITK_CORE_EXPORT ApplicationCursor
00067 {
00068 public:
00069
00071 static ApplicationCursor* GetInstance();
00072
00074 static void RegisterImplementation(ApplicationCursorImplementation* implementation);
00075
00077 void PushCursor(const char* XPM[], int hotspotX = -1, int hotspotY = -1);
00078
00080 void PopCursor();
00081
00084 const Point2I GetCursorPosition();
00085
00087 void SetCursorPosition(const Point2I&);
00088
00089
00090 protected:
00091
00093 ApplicationCursor();
00094
00095 private:
00096
00097 static ApplicationCursorImplementation* m_Implementation;
00098 };
00099
00100 }
00101
00102 #endif
00103
00104