dox/Rendering/vtkCocoaRenderWindowInteractor.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00029 #ifndef __vtkCocoaRenderWindowInteractor_h
00030 #define __vtkCocoaRenderWindowInteractor_h
00031
00032 #include "vtkRenderWindowInteractor.h"
00033
00034
00035 #ifdef __cplusplus
00036 extern "C" {
00037 #endif
00038
00039 #ifdef __cplusplus
00040 };
00041 #endif
00042
00043
00044
00045 class VTK_RENDERING_EXPORT vtkCocoaRenderWindowInteractor : public vtkRenderWindowInteractor {
00046 public:
00048 static vtkCocoaRenderWindowInteractor *New();
00049
00050 vtkTypeRevisionMacro(vtkCocoaRenderWindowInteractor,vtkRenderWindowInteractor);
00051 void PrintSelf(ostream& os, vtkIndent indent);
00052
00054 virtual void Initialize();
00055
00057
00064 virtual void Enable();
00065 virtual void Disable();
00067
00071 virtual void Start();
00072
00074
00079 vtkSetMacro(InstallMessageProc,int);
00080 vtkGetMacro(InstallMessageProc,int);
00081 vtkBooleanMacro(InstallMessageProc,int);
00083
00088 void TerminateApp(void);
00089
00091
00092 int CreateTimer(int timertype);
00093 int DestroyTimer(void);
00095
00097
00101 static void SetClassExitMethod(void (*f)(void *), void *arg);
00102 static void SetClassExitMethodArgDelete(void (*f)(void *));
00104
00107 virtual void ExitCallback();
00108
00109
00110
00111
00112 protected:
00113 vtkCocoaRenderWindowInteractor();
00114 ~vtkCocoaRenderWindowInteractor();
00115
00116 void *WindowId;
00117 void *ApplicationId;
00118 int TimerId;
00119 void *OldProc;
00120 int InstallMessageProc;
00121
00122
00124
00127 static void (*ClassExitMethod)(void *);
00128 static void (*ClassExitMethodArgDelete)(void *);
00129 static void *ClassExitMethodArg;
00130
00132
00133 private:
00134 vtkCocoaRenderWindowInteractor(const vtkCocoaRenderWindowInteractor&);
00135 void operator=(const vtkCocoaRenderWindowInteractor&);
00136 };
00137
00138 #endif
00139
00140