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=========================================================================*/
31#ifndef vtkXOpenGLRenderWindow_h
32#define vtkXOpenGLRenderWindow_h
33
34#include "vtkRenderingOpenGLModule.h" // For export macro
36#include <X11/Xlib.h> // Needed for X types used in the public interface
37#include <X11/Xutil.h> // Needed for X types used in the public interface
38
39class vtkIdList;
40class vtkXOpenGLRenderWindowInternal;
41
42class VTKRENDERINGOPENGL_EXPORT vtkXOpenGLRenderWindow : public vtkOpenGLRenderWindow
43{
44public:
47 void PrintSelf(ostream& os, vtkIndent indent);
48
52 virtual void Start(void);
53
57 virtual void Frame(void);
58
62 virtual void WindowInitialize(void);
63
70 virtual void Initialize(void);
71
77 virtual void Finalize(void);
78
82 virtual void SetFullScreen(int);
83
87 virtual void WindowRemap(void);
88
92 virtual void PrefFullScreen(void);
93
95
98 virtual void SetSize(int,int);
99 virtual void SetSize(int a[2]) {this->SetSize(a[0], a[1]);};
101
103
106 virtual Colormap GetDesiredColormap();
107 virtual Visual *GetDesiredVisual();
108 virtual XVisualInfo *GetDesiredVisualInfo();
109 virtual int GetDesiredDepth();
111
118 virtual void SetStereoCapableWindow(int capable);
119
124
128 virtual bool IsCurrent();
129
136
140 const char *ReportCapabilities();
141
146
150 int IsDirect();
151
155 virtual void *GetGenericDisplayId()
156 {
157 return this->GetDisplayId();
158 }
159
160 virtual void *GetGenericWindowId();
161 virtual void *GetGenericParentId()
162 {
163 return reinterpret_cast<void *>(this->ParentId);
164 }
165
166 virtual void *GetGenericContext();
167 virtual void *GetGenericDrawable()
168 {
169 return reinterpret_cast<void *>(this->WindowId);
170 }
171
175 virtual int *GetScreenSize();
176
180 virtual int *GetPosition();
181
185 Display *GetDisplayId();
186
188
192 void SetDisplayId(Display *);
193 void SetDisplayId(void *);
195
199 Window GetParentId();
200
202
205 void SetParentId(Window);
206 void SetParentId(void *);
208
212 Window GetWindowId();
213
215
218 void SetWindowId(Window);
219 void SetWindowId(void *);
221
225 void SetNextWindowId(Window);
226
232 void SetNextWindowId(void *);
233
234 void SetWindowName(const char *);
235
241
243
246 void SetPosition(int,int);
247 void SetPosition(int a[2]) {this->SetPosition(a[0], a[1]);};
249
251
258
262 virtual void SetCurrentCursor(int);
263
269 virtual int GetEventPending();
270
274 void SetWindowInfo(char *info);
275
280
284 void SetParentInfo(char *info);
285
290 virtual void Render();
291
296
297protected:
300
301 vtkXOpenGLRenderWindowInternal *Internal;
302
303 Window ParentId;
304 Window WindowId;
306 Display *DisplayId;
307 Colormap ColorMap;
310 int ScreenSize[2];
315
316 // we must keep track of the cursors we are using
318 Cursor XCArrow;
319 Cursor XCSizeAll;
320 Cursor XCSizeNS;
321 Cursor XCSizeWE;
322 Cursor XCSizeNE;
323 Cursor XCSizeNW;
324 Cursor XCSizeSE;
325 Cursor XCSizeSW;
326 Cursor XCHand;
327
328
331 void CreateOffScreenWindow(int width, int height);
333 void ResizeOffScreenWindow(int width, int height);
334
335
336private:
337 vtkXOpenGLRenderWindow(const vtkXOpenGLRenderWindow&) VTK_DELETE_FUNCTION;
338 void operator=(const vtkXOpenGLRenderWindow&) VTK_DELETE_FUNCTION;
339};
340
341
342
343#endif
list of point or cell ids
Definition: vtkIdList.h:37
a simple class to control print indentation
Definition: vtkIndent.h:40
OpenGL rendering window.
OpenGL rendering window.
virtual void Render()
This computes the size of the render window before calling the supper classes render.
virtual void Initialize(void)
Initialize the rendering window.
virtual void * GetGenericDrawable()
virtual void * GetGenericWindowId()
virtual Colormap GetDesiredColormap()
Get the X properties of an ideal rendering window.
void ResizeOffScreenWindow(int width, int height)
void SetNextWindowId(Window)
Specify the X window id to use if a WindowRemap is done.
void SetForceMakeCurrent()
If called, allow MakeCurrent() to skip cache-check when called.
void SetParentInfo(char *info)
Sets the X window id of the window that WILL BE created.
virtual XVisualInfo * GetDesiredVisualInfo()
int IsDirect()
Is this render window using hardware acceleration? 0-false, 1-true.
virtual Visual * GetDesiredVisual()
virtual void SetFullScreen(int)
Change the window to fill the entire screen.
void SetPosition(int, int)
Move the window to a new position on the display.
Window GetParentId()
Get this RenderWindow's parent X window id.
virtual int * GetPosition()
Get the position in screen coordinates (pixels) of the window.
virtual void * GetGenericParentId()
virtual int * GetScreenSize()
Get the current size of the screen in pixels.
virtual int GetDesiredDepth()
int SupportsOpenGL()
Does this render window support OpenGL? 0-false, 1-true.
virtual void SetStereoCapableWindow(int capable)
Prescribe that the window be created in a stereo-capable mode.
virtual bool IsCurrent()
Tells if this window is the current OpenGL context for the calling thread.
const char * ReportCapabilities()
Get report of capabilities for the render window.
Window GetWindowId()
Get this RenderWindow's X window id.
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
virtual void SetSize(int, int)
Specify the size of the rendering window in pixels.
Display * GetDisplayId()
Get this RenderWindow's X display id.
void MakeCurrent()
Make this window the current OpenGL context.
virtual void Finalize(void)
"Deinitialize" the rendering window.
virtual void PrefFullScreen(void)
Set the preferred window size to full screen.
virtual void * GetGenericDisplayId()
Xwindow get set functions.
void SetParentId(void *)
virtual void Frame(void)
End the rendering process and display the image.
void SetOffScreenRendering(int i)
Render without displaying the window.
virtual void SetCurrentCursor(int)
Change the shape of the cursor.
virtual int GetEventPending()
Check to see if a mouse button has been pressed or mouse wheel activated.
virtual void WindowRemap(void)
Resize the window.
vtkXOpenGLRenderWindowInternal * Internal
void SetDisplayId(void *)
Dummy stubs for vtkWindow API.
void SetWindowId(void *)
virtual void WindowInitialize(void)
Initialize the window for rendering.
void HideCursor()
Hide or Show the mouse cursor, it is nice to be able to hide the default cursor if you want VTK to di...
void SetNextWindowInfo(char *info)
Set the window info that will be used after WindowRemap()
void SetDisplayId(Display *)
Set the X display id for this RenderWindow to use to a pre-existing X display id.
virtual void Start(void)
Begin the rendering process.
void SetWindowName(const char *)
static vtkXOpenGLRenderWindow * New()
void CreateAWindow()
Create a not-off-screen window.
void DestroyWindow()
Destroy a not-off-screen window.
virtual void * GetGenericContext()
virtual bool InitializeFromCurrentContext()
Initialize the render window from the information associated with the currently activated OpenGL cont...
void SetParentId(Window)
Sets the parent of the window that WILL BE created.
void CreateOffScreenWindow(int width, int height)
void SetWindowInfo(char *info)
Set this RenderWindow's X window id to a pre-existing window.
virtual void SetSize(int a[2])
Set the size of the window in screen coordinates in pixels.
void SetNextWindowId(void *)
Set the window id of the new window once a WindowRemap is done.
void SetWindowId(Window)
Set this RenderWindow's X window id to a pre-existing window.
@ info
Definition: vtkX3D.h:376
@ height
Definition: vtkX3D.h:254