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