VTK  9.1.0
vtkOSOpenGLRenderWindow.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkOSOpenGLRenderWindow.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=========================================================================*/
29#ifndef vtkOSOpenGLRenderWindow_h
30#define vtkOSOpenGLRenderWindow_h
31
33#include "vtkRenderingOpenGL2Module.h" // For export macro
34
35class vtkIdList;
36class vtkOSOpenGLRenderWindowInternal;
37
38class VTKRENDERINGOPENGL2_EXPORT vtkOSOpenGLRenderWindow : public vtkOpenGLRenderWindow
39{
40public:
43 void PrintSelf(ostream& os, vtkIndent indent);
44
48 virtual void Frame(void);
49
53 virtual void WindowInitialize(void);
54
61 void Initialize(void) override;
62
68 virtual void Finalize(void);
69
74
76
83 void SetSize(int width, int height) override;
84 void SetSize(int a[2]) override { this->SetSize(a[0], a[1]); }
86
91 int* GetScreenSize() VTK_SIZEHINT(2) override;
92
97 int* GetPosition() VTK_SIZEHINT(2) override;
98
100
103 void SetPosition(int x, int y) override;
104 void SetPosition(int a[2]) override { this->SetPosition(a[0], a[1]); }
106
113 virtual void SetStereoCapableWindow(vtkTypeBool capable);
114
119
123 virtual bool IsCurrent();
124
131
135 const char* ReportCapabilities();
136
141
146
150 virtual void WindowRemap(void);
151
153
156 virtual void* GetGenericDisplayId() { return 0; }
157 virtual void* GetGenericWindowId();
158 virtual void* GetGenericParentId() { return 0; }
159 virtual void* GetGenericContext();
160 virtual void* GetGenericDrawable() { return 0; }
162
167 void SetDisplayId(void*) {}
168
172 void SetParentId(void*);
173
177 void SetWindowId(void*);
178
184 void SetNextWindowId(void*);
185
186 void SetWindowName(const char*);
187
192 void HideCursor() {}
193 void ShowCursor() {}
194
201
205 void SetWindowInfo(const char* info);
206
210 void SetNextWindowInfo(const char* info);
211
215 void SetParentInfo(const char* info);
216
217protected:
220
221 vtkOSOpenGLRenderWindowInternal* Internal;
222
227
228 void CreateAWindow() override;
229 void DestroyWindow() override;
230 void CreateOffScreenWindow(int width, int height);
232 void ResizeOffScreenWindow(int width, int height);
233
234private:
236 void operator=(const vtkOSOpenGLRenderWindow&) = delete;
237};
238
239#endif
list of point or cell ids
Definition: vtkIdList.h:140
a simple class to control print indentation
Definition: vtkIndent.h:113
OffScreen Mesa rendering window.
virtual bool IsCurrent()
Tells if this window is the current OpenGL context for the calling thread.
int SupportsOpenGL()
Does this render window support OpenGL? 0-false, 1-true.
virtual void Finalize(void)
"Deinitialize" the rendering window.
void SetSize(int a[2]) override
Set the size of the window in screen coordinates in pixels.
virtual void SetFullScreen(vtkTypeBool)
Change the window to fill the entire screen.
void SetNextWindowInfo(const char *info)
Set the window info that will be used after WindowRemap()
vtkOSOpenGLRenderWindowInternal * Internal
virtual void WindowInitialize(void)
Initialize the window for rendering.
~vtkOSOpenGLRenderWindow() override
int * GetScreenSize() override
Get the current size of the screen in pixels.
virtual void Frame(void)
End the rendering process and display the image.
void SetWindowId(void *)
Set this RenderWindow's X window id to a pre-existing window.
vtkTypeBool IsDirect()
Is this render window using hardware acceleration? 0-false, 1-true.
virtual vtkTypeBool GetEventPending()
Check to see if a mouse button has been pressed.
void CreateAWindow() override
Create a not-off-screen window.
void SetWindowName(const char *)
Get name of rendering window.
void CreateOffScreenWindow(int width, int height)
void SetParentId(void *)
Sets the parent of the window that WILL BE created.
void SetNextWindowId(void *)
Set the window id of the new window once a WindowRemap is done.
void SetSize(int width, int height) override
Set the size of the window in screen coordinates in pixels.
void SetPosition(int a[2]) override
Move the window to a new position on the display.
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
void DestroyWindow() override
Destroy a not-off-screen window.
virtual void SetStereoCapableWindow(vtkTypeBool capable)
Prescribe that the window be created in a stereo-capable mode.
virtual void * GetGenericDisplayId()
Xwindow get set functions.
static vtkOSOpenGLRenderWindow * New()
void SetDisplayId(void *)
Set the X display id for this RenderWindow to use to a pre-existing X display id.
virtual void WindowRemap(void)
Resize the window.
void SetWindowInfo(const char *info)
Set this RenderWindow's X window id to a pre-existing window.
void ShowCursor()
Hide or Show the mouse cursor, it is nice to be able to hide the default cursor if you want VTK to di...
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...
const char * ReportCapabilities()
Get report of capabilities for the render window.
void SetForceMakeCurrent()
If called, allow MakeCurrent() to skip cache-check when called.
virtual void * GetGenericDrawable()
Xwindow get set functions.
virtual void * GetGenericWindowId()
Xwindow get set functions.
void Initialize(void) override
Initialize the rendering window.
void MakeCurrent()
Make this window the current OpenGL context.
virtual void * GetGenericParentId()
Xwindow get set functions.
void SetParentInfo(const char *info)
Sets the X window id of the window that WILL BE created.
virtual void * GetGenericContext()
Xwindow get set functions.
void ResizeOffScreenWindow(int width, int height)
OpenGL rendering window.
@ info
Definition: vtkX3D.h:382
@ height
Definition: vtkX3D.h:260
int vtkTypeBool
Definition: vtkABI.h:69
#define VTK_SIZEHINT(...)