00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
#ifndef VTK_FLTK_RENDER_WINDOW_INTERACTOR_H_
00017
# define VTK_FLTK_RENDER_WINDOW_INTERACTOR_H_
00018
# include "vtkFLTKConfigure.h"
00019
00020
# include "vtkRenderWindowInteractor.h"
00021
00022
class vtkCommand;
00023
00024
00025
class Fl_Window;
00026
class Fl_VTK_Window;
00027
00028
00046 class VTK_FLTK_EXPORT vtkFLTKRenderWindowInteractor
00047 :
public vtkRenderWindowInteractor
00048 {
00049
public:
00050
static vtkFLTKRenderWindowInteractor*
New (
void);
00051 vtkTypeRevisionMacro(vtkFLTKRenderWindowInteractor,
vtkRenderWindowInteractor);
00052
void PrintSelf (ostream&,
vtkIndent);
00053
00055
virtual void Initialize (
void);
00056
00066
int CreateTimer (
int timerType);
00067
00072
int DestroyTimer (
void);
00073
00075
void OnTimer (
void);
00076
00078
virtual void Start (
void);
00079
00080
00098
virtual void SetWidget (
Fl_VTK_Window* window);
00099 Fl_VTK_Window* GetWidget (
void)
const {
return this->Top; }
00133
virtual void SetTopLevelShell (Fl_Window* parent);
00134 Fl_Window* GetTopLevelShell (
void)
const {
return this->TopLevelShell; }
00136
00137
00139
virtual void GetMousePosition (
int* x,
int* y);
00140
00142
void SetExitObserver (
vtkCommand* command);
00143
00145
void SetExitObserverToDefault (
void);
00146
00147
protected:
00148 vtkFLTKRenderWindowInteractor (
void);
00149 ~vtkFLTKRenderWindowInteractor();
00150
00151
00152 Fl_VTK_Window* Top;
00153 Fl_Window* TopLevelShell;
00154
00155 int OwnTop;
00156
00157 vtkCommand* ExitObserver;
00158
00159
00160
static void TimerCallback (
void*);
00161
void Timer (
void*);
00162
00163
private:
00164 vtkFLTKRenderWindowInteractor (
const vtkFLTKRenderWindowInteractor&);
00165
void operator= (
const vtkFLTKRenderWindowInteractor&);
00166 };
00167
00168
#endif
00169
00170
00171
00172