00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
#ifndef VTK_FLTK_OPENGL_RENDER_WINDOW_H_
00017
# define VTK_FLTK_OPENGL_RENDER_WINDOW_H_
00018
# include "vtkFLTKConfigure.h"
00019
00020
# include "vtkOpenGLRenderWindow.h"
00021
00022
00023
class Fl_Group;
00024
class Fl_VTK_Window;
00025
00026
00027
class vtkFLTKOpenGLRenderWindowInternal;
00028
00045 class VTK_FLTK_EXPORT vtkFLTKOpenGLRenderWindow :
public vtkOpenGLRenderWindow
00046 {
00047
public:
00048
static vtkFLTKOpenGLRenderWindow*
New (
void);
00049 vtkTypeRevisionMacro (vtkFLTKOpenGLRenderWindow,
vtkOpenGLRenderWindow);
00050
void PrintSelf (ostream&,
vtkIndent);
00051
00053
virtual void Start (
void);
00054
00056
virtual void Frame (
void);
00057
00059
virtual void WindowInitialize (
void);
00060
00068
virtual void Initialize (
void);
00069
00076
virtual void Finalize (
void);
00077
00083
virtual void WindowRemap (
void);
00084
00094
virtual int GetEventPending (
void);
00095
00097
void MakeCurrent (
void);
00098
00103
void SetForceMakeCurrent (
void);
00104
00106
void Render (
void);
00107
00109
int*
GetScreenSize (
void);
00110
00112
int*
GetPosition (
void);
00113
00116
void SetPosition (
int x,
int y);
00117 void SetPosition (
int a[2]) {this->SetPosition(a[0], a[1]);}
00121
int*
GetSize (
void);
00122
00125
void SetSize (
int w,
int h);
00126 void SetSize (
int a[2]) {this->SetSize(a[0], a[1]);}
00131
void SetMapped (
int a);
00132
int GetMapped (
void);
00136
void SetWindowName (
const char* name);
00137
00139
void SetOffScreenRendering (
int toggle);
00140
00150
void HideCursor (
void);
00151
void ShowCursor (
void);
00155
virtual void SetCurrentCursor (
int shape);
00156
00158
void SetFullScreen (
int);
00159
00161
void PrefFullScreen (
void);
00162
00168
void SetBorders (
int a);
00169
00176
void SetStereoCapableWindow (
int a);
00177
00179
virtual int GetDesiredVisualMode (
void);
00180
00182
const char*
ReportCapabilities (
void);
00183
00185
int SupportsOpenGL (
void);
00186
00188
int IsDirect (
void);
00189
00190
00192 Fl_Group* GetFlParent (
void);
00193
00195
void SetFlParent (Fl_Group* group);
00196
00197
00199
void SetFlParent (
void* group);
00200
00201
00203
Fl_VTK_Window* GetFlWindow (
void);
00204
00206
void SetFlWindow (
Fl_VTK_Window* window);
00207
00208
00210
void SetFlWindow (
void* window);
00211
00221
void SetDisplayId (
void*
id);
00222
void SetWindowId (
void*
id);
00223
void SetParentId (
void*
id);
00224
void*
GetGenericDisplayId (
void);
00225
void*
GetGenericWindowId (
void);
00226
void*
GetGenericParentId (
void);
00227
void*
GetGenericContext (
void);
00228
void*
GetGenericDrawable (
void);
00229
void SetDisplayInfo (
char*
id);
00230
void SetWindowInfo (
char*
id);
00231
void SetParentInfo (
char*
id);
00232
void SetNextWindowId (
void*
id);
00233
void SetNextWindowInfo (
char*
id);
00236
protected:
00237 vtkFLTKOpenGLRenderWindow (
void);
00238 ~vtkFLTKOpenGLRenderWindow();
00239
00240
00241 vtkFLTKOpenGLRenderWindowInternal* Internal;
00242
00243 Fl_Group* FlParent;
00244 Fl_VTK_Window* FlWindow;
00245
00246 int Mode;
00247 int OwnFlWindow;
00248 int ScreenSize[2];
00249 int CursorHidden;
00250 int ForceMakeCurrent;
00251 int UsingHardware;
00252 char* Capabilities;
00253
00254
00256
virtual void CheckDisplayConnection();
00257
00258
private:
00259 vtkFLTKOpenGLRenderWindow (
const vtkFLTKOpenGLRenderWindow&);
00260
void operator= (
const vtkFLTKOpenGLRenderWindow&);
00261 };
00262
00263
#endif
00264
00265
00266
00267