VTK
vtkXOpenGLRenderWindow.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkXOpenGLRenderWindow.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
33 #ifndef vtkXOpenGLRenderWindow_h
34 #define vtkXOpenGLRenderWindow_h
35 
36 #include "vtkRenderingOpenGLModule.h" // For export macro
37 #include "vtkOpenGLRenderWindow.h"
38 #include <X11/Xlib.h> // Needed for X types used in the public interface
39 #include <X11/Xutil.h> // Needed for X types used in the public interface
40 
41 class vtkIdList;
42 class vtkXOpenGLRenderWindowInternal;
43 
45 {
46 public:
49  void PrintSelf(ostream& os, vtkIndent indent);
50 
52  virtual void Start(void);
53 
55  virtual void Frame(void);
56 
58  virtual void WindowInitialize(void);
59 
64  virtual void Initialize(void);
65 
70  virtual void Finalize(void);
71 
73  virtual void SetFullScreen(int);
74 
76  virtual void WindowRemap(void);
77 
79  virtual void PrefFullScreen(void);
80 
82 
83  virtual void SetSize(int,int);
84  virtual void SetSize(int a[2]) {this->SetSize(a[0], a[1]);};
86 
88 
89  virtual Colormap GetDesiredColormap();
90  virtual Visual *GetDesiredVisual();
91  virtual XVisualInfo *GetDesiredVisualInfo();
92  virtual int GetDesiredDepth();
94 
99  virtual void SetStereoCapableWindow(int capable);
100 
102  void MakeCurrent();
103 
106  virtual bool IsCurrent();
107 
112 
114  const char *ReportCapabilities();
115 
118 
120  int IsDirect();
121 
123 
124  virtual void *GetGenericDisplayId()
125  {
126  return this->GetDisplayId();
127  }
129 
130  virtual void *GetGenericWindowId();
131  virtual void *GetGenericParentId()
132  {
133  return reinterpret_cast<void *>(this->ParentId);
134  }
135 
136  virtual void *GetGenericContext();
137  virtual void *GetGenericDrawable()
138  {
139  return reinterpret_cast<void *>(this->WindowId);
140  }
141 
143  virtual int *GetScreenSize();
144 
146  virtual int *GetPosition();
147 
149  Display *GetDisplayId();
150 
152 
154  void SetDisplayId(Display *);
155  void SetDisplayId(void *);
157 
159  Window GetParentId();
160 
162 
163  void SetParentId(Window);
164  void SetParentId(void *);
166 
168  Window GetWindowId();
169 
171 
172  void SetWindowId(Window);
173  void SetWindowId(void *);
175 
177  void SetNextWindowId(Window);
178 
181  void SetNextWindowId(void *);
182 
183  void SetWindowName(const char *);
184 
188 
190 
191  void SetPosition(int,int);
192  void SetPosition(int a[2]) {this->SetPosition(a[0], a[1]);};
194 
196 
198  void HideCursor();
199  void ShowCursor();
201 
203  virtual void SetCurrentCursor(int);
204 
208  virtual int GetEventPending();
209 
211  void SetWindowInfo(char *info);
212 
214  void SetNextWindowInfo(char *info);
215 
217  void SetParentInfo(char *info);
218 
221  virtual void Render();
222 
225 
226 protected:
229 
230  vtkXOpenGLRenderWindowInternal *Internal;
231 
232  Window ParentId;
233  Window WindowId;
234  Window NextWindowId;
235  Display *DisplayId;
236  Colormap ColorMap;
239  int ScreenSize[2];
244 
245  // we must keep track of the cursors we are using
246  Cursor XCCrosshair;
247  Cursor XCArrow;
248  Cursor XCSizeAll;
249  Cursor XCSizeNS;
250  Cursor XCSizeWE;
251  Cursor XCSizeNE;
252  Cursor XCSizeNW;
253  Cursor XCSizeSE;
254  Cursor XCSizeSW;
255  Cursor XCHand;
256 
257 
263 
264 
265 private:
266  vtkXOpenGLRenderWindow(const vtkXOpenGLRenderWindow&); // Not implemented.
267  void operator=(const vtkXOpenGLRenderWindow&); // Not implemented.
268 };
269 
270 
271 
272 #endif
vtkXOpenGLRenderWindow::GetEventPending
virtual int GetEventPending()
vtkXOpenGLRenderWindow::Capabilities
char * Capabilities
Definition: vtkXOpenGLRenderWindow.h:243
vtkXOpenGLRenderWindow::ForceMakeCurrent
int ForceMakeCurrent
Definition: vtkXOpenGLRenderWindow.h:241
vtkXOpenGLRenderWindow::Frame
virtual void Frame(void)
vtkXOpenGLRenderWindow::GetDesiredColormap
virtual Colormap GetDesiredColormap()
vtkXOpenGLRenderWindow::SetWindowId
void SetWindowId(void *)
vtkXOpenGLRenderWindow::SetNextWindowInfo
void SetNextWindowInfo(char *info)
vtkXOpenGLRenderWindow::WindowRemap
virtual void WindowRemap(void)
vtkXOpenGLRenderWindow::GetDesiredDepth
virtual int GetDesiredDepth()
vtkXOpenGLRenderWindow::OwnDisplay
int OwnDisplay
Definition: vtkXOpenGLRenderWindow.h:238
vtkXOpenGLRenderWindow::GetDesiredVisual
virtual Visual * GetDesiredVisual()
vtkXOpenGLRenderWindow::ColorMap
Colormap ColorMap
Definition: vtkXOpenGLRenderWindow.h:236
vtkXOpenGLRenderWindow::CreateAWindow
void CreateAWindow()
vtkXOpenGLRenderWindow::DestroyOffScreenWindow
void DestroyOffScreenWindow()
vtkXOpenGLRenderWindow::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
vtkXOpenGLRenderWindow::SetForceMakeCurrent
void SetForceMakeCurrent()
vtkRenderingOpenGLModule.h
vtkXOpenGLRenderWindow::GetWindowId
Window GetWindowId()
vtkXOpenGLRenderWindow::XCSizeSW
Cursor XCSizeSW
Definition: vtkXOpenGLRenderWindow.h:254
vtkTypeMacro
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:642
vtkXOpenGLRenderWindow::GetGenericDisplayId
virtual void * GetGenericDisplayId()
Definition: vtkXOpenGLRenderWindow.h:124
vtkXOpenGLRenderWindow::SetWindowInfo
void SetWindowInfo(char *info)
vtkXOpenGLRenderWindow::GetGenericContext
virtual void * GetGenericContext()
vtkXOpenGLRenderWindow::IsCurrent
virtual bool IsCurrent()
vtkXOpenGLRenderWindow::SetPosition
void SetPosition(int, int)
vtkXOpenGLRenderWindow::SetNextWindowId
void SetNextWindowId(void *)
vtkXOpenGLRenderWindow::SetOffScreenRendering
void SetOffScreenRendering(int i)
vtkXOpenGLRenderWindow::SetStereoCapableWindow
virtual void SetStereoCapableWindow(int capable)
vtkXOpenGLRenderWindow::Initialize
virtual void Initialize(void)
vtkXOpenGLRenderWindow::SetDisplayId
void SetDisplayId(void *)
vtkXOpenGLRenderWindow::GetGenericParentId
virtual void * GetGenericParentId()
Definition: vtkXOpenGLRenderWindow.h:131
vtkXOpenGLRenderWindow::SetPosition
void SetPosition(int a[2])
Definition: vtkXOpenGLRenderWindow.h:192
vtkXOpenGLRenderWindow::ReportCapabilities
const char * ReportCapabilities()
vtkXOpenGLRenderWindow::CursorHidden
int CursorHidden
Definition: vtkXOpenGLRenderWindow.h:240
vtkXOpenGLRenderWindow::DestroyWindow
void DestroyWindow()
vtkXOpenGLRenderWindow::XCSizeNS
Cursor XCSizeNS
Definition: vtkXOpenGLRenderWindow.h:249
vtkXOpenGLRenderWindow::MakeCurrent
void MakeCurrent()
vtkXOpenGLRenderWindow::WindowId
Window WindowId
Definition: vtkXOpenGLRenderWindow.h:233
vtkOpenGLRenderWindow.h
vtkXOpenGLRenderWindow::SetWindowId
void SetWindowId(Window)
vtkXOpenGLRenderWindow::GetDisplayId
Display * GetDisplayId()
vtkXOpenGLRenderWindow::SetDisplayId
void SetDisplayId(Display *)
vtkXOpenGLRenderWindow::WindowInitialize
virtual void WindowInitialize(void)
vtkXOpenGLRenderWindow::SetParentId
void SetParentId(Window)
vtkXOpenGLRenderWindow::InitializeFromCurrentContext
virtual bool InitializeFromCurrentContext()
vtkXOpenGLRenderWindow::Internal
vtkXOpenGLRenderWindowInternal * Internal
Definition: vtkXOpenGLRenderWindow.h:230
vtkXOpenGLRenderWindow::SetFullScreen
virtual void SetFullScreen(int)
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkXOpenGLRenderWindow::ResizeOffScreenWindow
void ResizeOffScreenWindow(int width, int height)
vtkXOpenGLRenderWindow::CreateOffScreenWindow
void CreateOffScreenWindow(int width, int height)
vtkXOpenGLRenderWindow::GetDesiredVisualInfo
virtual XVisualInfo * GetDesiredVisualInfo()
vtkIdList
list of point or cell ids
Definition: vtkIdList.h:36
vtkXOpenGLRenderWindow::GetGenericWindowId
virtual void * GetGenericWindowId()
vtkXOpenGLRenderWindow::Render
virtual void Render()
vtkXOpenGLRenderWindow::SetCurrentCursor
virtual void SetCurrentCursor(int)
vtkXOpenGLRenderWindow::GetGenericDrawable
virtual void * GetGenericDrawable()
Definition: vtkXOpenGLRenderWindow.h:137
vtkXOpenGLRenderWindow::XCHand
Cursor XCHand
Definition: vtkXOpenGLRenderWindow.h:255
vtkXOpenGLRenderWindow::XCCrosshair
Cursor XCCrosshair
Definition: vtkXOpenGLRenderWindow.h:246
vtkXOpenGLRenderWindow::SetSize
virtual void SetSize(int, int)
vtkXOpenGLRenderWindow::New
static vtkXOpenGLRenderWindow * New()
vtkgl::a
GLboolean GLboolean GLboolean GLboolean a
Definition: vtkgl.h:12312
vtkXOpenGLRenderWindow::SetParentInfo
void SetParentInfo(char *info)
vtkXOpenGLRenderWindow::XCArrow
Cursor XCArrow
Definition: vtkXOpenGLRenderWindow.h:247
vtkXOpenGLRenderWindow::IsDirect
int IsDirect()
vtkXOpenGLRenderWindow::SetSize
virtual void SetSize(int a[2])
Definition: vtkXOpenGLRenderWindow.h:84
vtkgl::width
GLint GLint GLsizei width
Definition: vtkgl.h:11316
vtkX3D::info
@ info
Definition: vtkX3D.h:376
vtkXOpenGLRenderWindow::ParentId
Window ParentId
Definition: vtkXOpenGLRenderWindow.h:232
vtkXOpenGLRenderWindow::UsingHardware
int UsingHardware
Definition: vtkXOpenGLRenderWindow.h:242
vtkXOpenGLRenderWindow::GetScreenSize
virtual int * GetScreenSize()
vtkXOpenGLRenderWindow::vtkXOpenGLRenderWindow
vtkXOpenGLRenderWindow()
vtkXOpenGLRenderWindow::DisplayId
Display * DisplayId
Definition: vtkXOpenGLRenderWindow.h:235
vtkXOpenGLRenderWindow::OwnWindow
int OwnWindow
Definition: vtkXOpenGLRenderWindow.h:237
vtkXOpenGLRenderWindow::PrefFullScreen
virtual void PrefFullScreen(void)
vtkXOpenGLRenderWindow::XCSizeNE
Cursor XCSizeNE
Definition: vtkXOpenGLRenderWindow.h:251
vtkXOpenGLRenderWindow::XCSizeSE
Cursor XCSizeSE
Definition: vtkXOpenGLRenderWindow.h:253
vtkXOpenGLRenderWindow
OpenGL rendering window.
Definition: vtkXOpenGLRenderWindow.h:45
vtkXOpenGLRenderWindow::Start
virtual void Start(void)
vtkXOpenGLRenderWindow::XCSizeAll
Cursor XCSizeAll
Definition: vtkXOpenGLRenderWindow.h:248
vtkXOpenGLRenderWindow::~vtkXOpenGLRenderWindow
~vtkXOpenGLRenderWindow()
vtkXOpenGLRenderWindow::XCSizeWE
Cursor XCSizeWE
Definition: vtkXOpenGLRenderWindow.h:250
vtkOpenGLRenderWindow
OpenGL rendering window.
Definition: vtkOpenGLRenderWindow.h:41
vtkXOpenGLRenderWindow::GetPosition
virtual int * GetPosition()
vtkXOpenGLRenderWindow::Finalize
virtual void Finalize(void)
vtkXOpenGLRenderWindow::SupportsOpenGL
int SupportsOpenGL()
vtkXOpenGLRenderWindow::SetNextWindowId
void SetNextWindowId(Window)
vtkXOpenGLRenderWindow::GetParentId
Window GetParentId()
vtkXOpenGLRenderWindow::HideCursor
void HideCursor()
vtkXOpenGLRenderWindow::SetParentId
void SetParentId(void *)
vtkXOpenGLRenderWindow::SetWindowName
void SetWindowName(const char *)
vtkXOpenGLRenderWindow::NextWindowId
Window NextWindowId
Definition: vtkXOpenGLRenderWindow.h:234
vtkXOpenGLRenderWindow::ShowCursor
void ShowCursor()
vtkXOpenGLRenderWindow::XCSizeNW
Cursor XCSizeNW
Definition: vtkXOpenGLRenderWindow.h:252
VTKRENDERINGOPENGL_EXPORT
#define VTKRENDERINGOPENGL_EXPORT
Definition: vtkRenderingOpenGLModule.h:15
vtkgl::height
GLint GLint GLsizei GLsizei height
Definition: vtkgl.h:11316