00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00034
#ifndef __vtkXMesaRenderWindow_h
00035
#define __vtkXMesaRenderWindow_h
00036
00037
#include "vtkMesaRenderWindow.h"
00038
#include <X11/Xlib.h>
00039
#include <X11/Xutil.h>
00040
00041
class vtkIdList;
00042
class vtkXMesaRenderWindowInternal;
00043
00044 class VTK_RENDERING_EXPORT vtkXMesaRenderWindow :
public vtkMesaRenderWindow
00045 {
00046
public:
00047
static vtkXMesaRenderWindow *
New();
00048 vtkTypeRevisionMacro(vtkXMesaRenderWindow,
vtkMesaRenderWindow);
00049
void PrintSelf(ostream& os,
vtkIndent indent);
00050
00052
virtual void Start(
void);
00053
00055
virtual void Frame(
void);
00056
00058
virtual void WindowInitialize(
void);
00059
00061
virtual void Initialize(
void);
00062
00064
virtual void SetFullScreen(
int);
00065
00067
virtual void WindowRemap(
void);
00068
00070
virtual void PrefFullScreen(
void);
00071
00073
00074
virtual void SetSize(
int,
int);
00075 virtual void SetSize(
int a[2]) {this->SetSize(a[0], a[1]);};
00077
00079
00080
virtual Colormap GetDesiredColormap();
00081
virtual Visual *GetDesiredVisual();
00082
virtual XVisualInfo *GetDesiredVisualInfo();
00083
virtual int GetDesiredDepth();
00085
00090
virtual void SetStereoCapableWindow(
int capable);
00091
00093
void MakeCurrent();
00094
00098
void SetForceMakeCurrent();
00099
00101
const char *
ReportCapabilities();
00102
00104
int SupportsOpenGL();
00105
00107
int IsDirect();
00108
00110
00111 virtual void *
GetGenericDisplayId() {
return (
void *)this->GetDisplayId();};
00112
virtual void *
GetGenericWindowId();
00113 virtual void *
GetGenericParentId() {
return (
void *)this->ParentId;};
00114
virtual void *
GetGenericContext();
00115 virtual void *
GetGenericDrawable() {
return (
void *)this->WindowId;};
00117
00119
virtual int *GetScreenSize();
00120
00122
virtual int *
GetPosition();
00123
00125 Display *GetDisplayId();
00126
00128
00130
void SetDisplayId(Display *);
00131
void SetDisplayId(
void *);
00133
00135 Window GetParentId();
00136
00138
00139
void SetParentId(Window);
00140
void SetParentId(
void *);
00142
00144 Window GetWindowId();
00145
00147
00148
void SetWindowId(Window);
00149
void SetWindowId(
void *);
00151
00153
00154
void SetNextWindowId(Window);
00155
void SetWindowName(
const char *);
00157
00159
00160
void SetPosition(
int,
int);
00161 void SetPosition(
int a[2]) {this->SetPosition(a[0], a[1]);};
00163
00165
00167
void HideCursor();
00168
void ShowCursor();
00170
00172
virtual void SetCurrentCursor(
int);
00173
00176
virtual int GetEventPending();
00177
00179
void SetWindowInfo(
char *info);
00180
00182
void SetParentInfo(
char *info);
00183
00186
void Render();
00187
00189
void SetOffScreenRendering(
int i);
00190
00191
protected:
00192 vtkXMesaRenderWindow();
00193 ~vtkXMesaRenderWindow();
00194
00195 vtkXMesaRenderWindowInternal *Internal;
00196
00197 Window ParentId;
00198 Window WindowId;
00199 Window NextWindowId;
00200 Display *DisplayId;
00201 Colormap ColorMap;
00202 int OwnWindow;
00203 int OwnDisplay;
00204 int ScreenSize[2];
00205 int CursorHidden;
00206 int ForceMakeCurrent;
00207 int UsingHardware;
00208 char *Capabilities;
00209
00210
00211 Cursor XCArrow;
00212 Cursor XCSizeAll;
00213 Cursor XCSizeNS;
00214 Cursor XCSizeWE;
00215 Cursor XCSizeNE;
00216 Cursor XCSizeNW;
00217 Cursor XCSizeSE;
00218 Cursor XCSizeSW;
00219
00220
private:
00221 vtkXMesaRenderWindow(
const vtkXMesaRenderWindow&);
00222
void operator=(
const vtkXMesaRenderWindow&);
00223 };
00224
00225
00226
00227
#endif