Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members Related Pages
Rendering/vtkInteractorStyleUser.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00055 #ifndef __vtkInteractorStyleUser_h
00056 #define __vtkInteractorStyleUser_h
00057
00058 #include "vtkInteractorStyle.h"
00059
00060
00061 #define VTKIS_USERINTERACTION 8
00062
00063 class VTK_RENDERING_EXPORT vtkInteractorStyleUser : public vtkInteractorStyle
00064 {
00065 public:
00066 static vtkInteractorStyleUser *New();
00067 vtkTypeRevisionMacro(vtkInteractorStyleUser,vtkInteractorStyle);
00068 void PrintSelf(ostream& os, vtkIndent indent);
00069
00070 #ifndef VTK_REMOVE_LEGACY_CODE
00071
00072
00073 void SetMouseMoveMethod(void (*f)(void *), void *arg);
00074 void SetMouseMoveMethodArgDelete(void (*f)(void *));
00075 void SetButtonPressMethod(void (*f)(void *), void *arg);
00076 void SetButtonPressMethodArgDelete(void (*f)(void *));
00077 void SetButtonReleaseMethod(void (*f)(void *), void *arg);
00078 void SetButtonReleaseMethodArgDelete(void (*f)(void *));
00079 void SetKeyPressMethod(void (*f)(void *), void *arg);
00080 void SetKeyPressMethodArgDelete(void (*f)(void *));
00081 void SetKeyReleaseMethod(void (*f)(void *), void *arg);
00082 void SetKeyReleaseMethodArgDelete(void (*f)(void *));
00083 void SetCharMethod(void (*f)(void *), void *arg);
00084 void SetCharMethodArgDelete(void (*f)(void *));
00085 void SetConfigureMethod(void (*f)(void *), void *arg);
00086 void SetConfigureMethodArgDelete(void (*f)(void *));
00087 void SetExposeMethod(void (*f)(void *), void *arg);
00088 void SetExposeMethodArgDelete(void (*f)(void *));
00089 void SetEnterMethod(void (*f)(void *), void *arg);
00090 void SetEnterMethodArgDelete(void (*f)(void *));
00091 void SetLeaveMethod(void (*f)(void *), void *arg);
00092 void SetLeaveMethodArgDelete(void (*f)(void *));
00093 void SetTimerMethod(void (*f)(void *), void *arg);
00094 void SetTimerMethodArgDelete(void (*f)(void *));
00095 void SetUserInteractionMethod(void (*f)(void *), void *arg);
00096 void SetUserInteractionMethodArgDelete(void (*f)(void *));
00097 void StartUserInteraction();
00098 void EndUserInteraction();
00100 #endif
00101
00103
00107 vtkGetVector2Macro(LastPos,int);
00109
00111
00114 vtkGetVector2Macro(OldPos,int);
00116
00118
00120 vtkGetMacro(ShiftKey,int);
00121 vtkGetMacro(CtrlKey,int);
00123
00125
00126 vtkGetMacro(Char,int);
00128
00130
00132 vtkGetStringMacro(KeySym);
00134
00136
00138 vtkGetMacro(Button,int);
00140
00142
00143 virtual void OnMouseMove();
00144 virtual void OnLeftButtonDown();
00145 virtual void OnLeftButtonUp();
00146 virtual void OnMiddleButtonDown();
00147 virtual void OnMiddleButtonUp();
00148 virtual void OnRightButtonDown();
00149 virtual void OnRightButtonUp();
00151
00153
00154 virtual void OnChar();
00155 virtual void OnKeyPress();
00156 virtual void OnKeyRelease();
00158
00160
00161 virtual void OnExpose();
00162 virtual void OnConfigure();
00163 virtual void OnEnter();
00164 virtual void OnLeave();
00166
00167 virtual void OnTimer();
00168
00169 protected:
00170
00171 vtkInteractorStyleUser();
00172 ~vtkInteractorStyleUser();
00173
00174 int LastPos[2];
00175 int OldPos[2];
00176
00177 int ShiftKey;
00178 int CtrlKey;
00179 int Char;
00180 char *KeySym;
00181 int Button;
00182
00183 unsigned long MouseMoveTag;
00184 unsigned long KeyPressTag;
00185 unsigned long KeyReleaseTag;
00186 unsigned long CharTag;
00187 unsigned long EnterTag;
00188 unsigned long LeaveTag;
00189 unsigned long ExposeTag;
00190 unsigned long ConfigureTag;
00191 unsigned long TimerTag;
00192 unsigned long UserTag;
00193
00194 #ifndef VTK_REMOVE_LEGACY_CODE
00195 void vtkSetOldCallback(unsigned long &tag, unsigned long event,
00196 void (*f)(void *), void *arg);
00197 void vtkSetOldDelete(unsigned long tag, void (*f)(void *));
00198 #endif
00199 private:
00200 vtkInteractorStyleUser(const vtkInteractorStyleUser&);
00201 void operator=(const vtkInteractorStyleUser&);
00202 };
00203
00204 #endif