00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00042
#ifndef __vtkInteractorStyleUser_h
00043
#define __vtkInteractorStyleUser_h
00044
00045
#include "vtkInteractorStyle.h"
00046
00047
00048 #define VTKIS_USERINTERACTION 8
00049
00050 class VTK_RENDERING_EXPORT vtkInteractorStyleUser :
public vtkInteractorStyle
00051 {
00052
public:
00053
static vtkInteractorStyleUser *
New();
00054 vtkTypeRevisionMacro(vtkInteractorStyleUser,
vtkInteractorStyle);
00055
void PrintSelf(ostream& os,
vtkIndent indent);
00056
00057
#ifndef VTK_REMOVE_LEGACY_CODE
00058
00059
00060
void SetMouseMoveMethod(
void (*f)(
void *),
void *arg);
00061
void SetMouseMoveMethodArgDelete(
void (*f)(
void *));
00062
void SetButtonPressMethod(
void (*f)(
void *),
void *arg);
00063
void SetButtonPressMethodArgDelete(
void (*f)(
void *));
00064
void SetButtonReleaseMethod(
void (*f)(
void *),
void *arg);
00065
void SetButtonReleaseMethodArgDelete(
void (*f)(
void *));
00066
void SetKeyPressMethod(
void (*f)(
void *),
void *arg);
00067
void SetKeyPressMethodArgDelete(
void (*f)(
void *));
00068
void SetKeyReleaseMethod(
void (*f)(
void *),
void *arg);
00069
void SetKeyReleaseMethodArgDelete(
void (*f)(
void *));
00070
void SetCharMethod(
void (*f)(
void *),
void *arg);
00071
void SetCharMethodArgDelete(
void (*f)(
void *));
00072
void SetConfigureMethod(
void (*f)(
void *),
void *arg);
00073
void SetConfigureMethodArgDelete(
void (*f)(
void *));
00074
void SetExposeMethod(
void (*f)(
void *),
void *arg);
00075
void SetExposeMethodArgDelete(
void (*f)(
void *));
00076
void SetEnterMethod(
void (*f)(
void *),
void *arg);
00077
void SetEnterMethodArgDelete(
void (*f)(
void *));
00078
void SetLeaveMethod(
void (*f)(
void *),
void *arg);
00079
void SetLeaveMethodArgDelete(
void (*f)(
void *));
00080
void SetTimerMethod(
void (*f)(
void *),
void *arg);
00081
void SetTimerMethodArgDelete(
void (*f)(
void *));
00082
void SetUserInteractionMethod(
void (*f)(
void *),
void *arg);
00083
void SetUserInteractionMethodArgDelete(
void (*f)(
void *));
00084
void StartUserInteraction();
00085
void EndUserInteraction();
00087
#endif
00088
00090
00094 vtkGetVector2Macro(LastPos,
int);
00096
00098
00101 vtkGetVector2Macro(OldPos,
int);
00103
00105
00107 vtkGetMacro(ShiftKey,
int);
00108 vtkGetMacro(CtrlKey,
int);
00110
00112
00113 vtkGetMacro(Char,
int);
00115
00117
00119 vtkGetStringMacro(KeySym);
00121
00123
00125 vtkGetMacro(Button,
int);
00127
00129
00130
virtual void OnMouseMove();
00131
virtual void OnLeftButtonDown();
00132
virtual void OnLeftButtonUp();
00133
virtual void OnMiddleButtonDown();
00134
virtual void OnMiddleButtonUp();
00135
virtual void OnRightButtonDown();
00136
virtual void OnRightButtonUp();
00138
00140
00141
virtual void OnChar();
00142
virtual void OnKeyPress();
00143
virtual void OnKeyRelease();
00145
00147
00148
virtual void OnExpose();
00149
virtual void OnConfigure();
00150
virtual void OnEnter();
00151
virtual void OnLeave();
00153
00154
virtual void OnTimer();
00155
00156
protected:
00157
00158 vtkInteractorStyleUser();
00159 ~vtkInteractorStyleUser();
00160
00161 int LastPos[2];
00162 int OldPos[2];
00163
00164 int ShiftKey;
00165 int CtrlKey;
00166 int Char;
00167 char *KeySym;
00168 int Button;
00169
00170 unsigned long MouseMoveTag;
00171 unsigned long KeyPressTag;
00172 unsigned long KeyReleaseTag;
00173 unsigned long CharTag;
00174 unsigned long EnterTag;
00175 unsigned long LeaveTag;
00176 unsigned long ExposeTag;
00177 unsigned long ConfigureTag;
00178 unsigned long TimerTag;
00179 unsigned long UserTag;
00180
00181
#ifndef VTK_REMOVE_LEGACY_CODE
00182
void vtkSetOldCallback(
unsigned long &tag,
unsigned long event,
00183
void (*f)(
void *),
void *arg);
00184
void vtkSetOldDelete(
unsigned long tag,
void (*f)(
void *));
00185
#endif
00186
private:
00187 vtkInteractorStyleUser(
const vtkInteractorStyleUser&);
00188
void operator=(
const vtkInteractorStyleUser&);
00189 };
00190
00191
#endif