00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00035
#ifndef __vtkWin32RenderWindowInteractor_h
00036
#define __vtkWin32RenderWindowInteractor_h
00037
00038
#include "vtkRenderWindowInteractor.h"
00039
00040 class VTK_RENDERING_EXPORT vtkWin32RenderWindowInteractor :
public vtkRenderWindowInteractor
00041 {
00042
public:
00044
static vtkWin32RenderWindowInteractor *
New();
00045
00046 vtkTypeRevisionMacro(vtkWin32RenderWindowInteractor,
vtkRenderWindowInteractor);
00047
void PrintSelf(ostream& os,
vtkIndent indent);
00048
00050
virtual void Initialize();
00051
00053
00060
virtual void Enable();
00061
virtual void Disable();
00063
00067
virtual void Start();
00068
00070
00075 vtkSetMacro(InstallMessageProc,
int);
00076 vtkGetMacro(InstallMessageProc,
int);
00077 vtkBooleanMacro(InstallMessageProc,
int);
00079
00084
void TerminateApp(
void);
00085
00087
00088
int CreateTimer(
int timertype);
00089
int DestroyTimer(
void);
00091
00092
00093
friend VTK_RENDERING_EXPORT LRESULT CALLBACK vtkHandleMessage(HWND hwnd,UINT uMsg, WPARAM w, LPARAM l);
00094
friend VTK_RENDERING_EXPORT LRESULT CALLBACK vtkHandleMessage2(HWND hwnd,UINT uMsg, WPARAM w, LPARAM l, vtkWin32RenderWindowInteractor *me);
00095
00097
00099
virtual void OnMouseMove (HWND wnd, UINT nFlags,
int X,
int Y);
00100
virtual void OnNCMouseMove(HWND wnd, UINT nFlags,
int X,
int Y);
00101
virtual void OnRButtonDown(HWND wnd, UINT nFlags,
int X,
int Y);
00102
virtual void OnRButtonUp (HWND wnd, UINT nFlags,
int X,
int Y);
00103
virtual void OnMButtonDown(HWND wnd, UINT nFlags,
int X,
int Y);
00104
virtual void OnMButtonUp (HWND wnd, UINT nFlags,
int X,
int Y);
00105
virtual void OnLButtonDown(HWND wnd, UINT nFlags,
int X,
int Y);
00106
virtual void OnLButtonUp (HWND wnd, UINT nFlags,
int X,
int Y);
00107
virtual void OnSize (HWND wnd, UINT nType,
int X,
int Y);
00108
virtual void OnTimer (HWND wnd, UINT nIDEvent);
00109
virtual void OnKeyDown (HWND wnd, UINT nChar, UINT nRepCnt, UINT nFlags);
00110
virtual void OnKeyUp (HWND wnd, UINT nChar, UINT nRepCnt, UINT nFlags);
00111
virtual void OnChar (HWND wnd, UINT nChar, UINT nRepCnt, UINT nFlags);
00112
00114
00116
00120
static void SetClassExitMethod(
void (*f)(
void *),
void *arg);
00121
static void SetClassExitMethodArgDelete(
void (*f)(
void *));
00123
00126
virtual void ExitCallback();
00127
00128
protected:
00129 vtkWin32RenderWindowInteractor();
00130 ~vtkWin32RenderWindowInteractor();
00131
00132 HWND WindowId;
00133 UINT TimerId;
00134 WNDPROC OldProc;
00135 int InstallMessageProc;
00136
00137 int MouseInWindow;
00138
00139
00141
00144
static void (*ClassExitMethod)(
void *);
00145
static void (*ClassExitMethodArgDelete)(
void *);
00146 static void *ClassExitMethodArg;
00147
00149
00150
private:
00151 vtkWin32RenderWindowInteractor(
const vtkWin32RenderWindowInteractor&);
00152
void operator=(
const vtkWin32RenderWindowInteractor&);
00153 };
00154
00155
#endif
00156