VTK  9.3.0
vtkOSOpenGLRenderWindow.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-License-Identifier: BSD-3-Clause
17#ifndef vtkOSOpenGLRenderWindow_h
18#define vtkOSOpenGLRenderWindow_h
19
21#include "vtkRenderingOpenGL2Module.h" // For export macro
22
23VTK_ABI_NAMESPACE_BEGIN
24class vtkIdList;
25class vtkOSOpenGLRenderWindowInternal;
26
27class VTKRENDERINGOPENGL2_EXPORT vtkOSOpenGLRenderWindow : public vtkOpenGLRenderWindow
28{
29public:
32 void PrintSelf(ostream& os, vtkIndent indent);
33
37 virtual void Frame();
38
42 virtual void WindowInitialize();
43
50 void Initialize() override;
51
57 virtual void Finalize();
58
63
65
72 void SetSize(int width, int height) override;
73 void SetSize(int a[2]) override { this->SetSize(a[0], a[1]); }
75
80 int* GetScreenSize() VTK_SIZEHINT(2) override;
81
86 int* GetPosition() VTK_SIZEHINT(2) override;
87
89
92 void SetPosition(int x, int y) override;
93 void SetPosition(int a[2]) override { this->SetPosition(a[0], a[1]); }
95
102 virtual void SetStereoCapableWindow(vtkTypeBool capable);
103
108
112 virtual bool IsCurrent();
113
120
124 const char* ReportCapabilities();
125
130
135
139 virtual void WindowRemap();
140
142
145 virtual void* GetGenericDisplayId() { return 0; }
146 virtual void* GetGenericWindowId();
147 virtual void* GetGenericParentId() { return 0; }
148 virtual void* GetGenericContext();
149 virtual void* GetGenericDrawable() { return 0; }
151
156 void SetDisplayId(void*) {}
157
161 void SetParentId(void*);
162
166 void SetWindowId(void*);
167
173 void SetNextWindowId(void*);
174
175 void SetWindowName(const char*);
176
181 void HideCursor() {}
182 void ShowCursor() {}
183
190
194 void SetWindowInfo(const char* info);
195
199 void SetNextWindowInfo(const char* info);
200
204 void SetParentInfo(const char* info);
205
206protected:
209
210 vtkOSOpenGLRenderWindowInternal* Internal;
211
216
217 void CreateAWindow() override;
218 void DestroyWindow() override;
219 void CreateOffScreenWindow(int width, int height);
221 void ResizeOffScreenWindow(int width, int height);
222
223private:
225 void operator=(const vtkOSOpenGLRenderWindow&) = delete;
226};
227
228VTK_ABI_NAMESPACE_END
229#endif
list of point or cell ids
Definition vtkIdList.h:23
a simple class to control print indentation
Definition vtkIndent.h:29
OffScreen Mesa rendering window.
virtual bool IsCurrent()
Tells if this window is the current OpenGL context for the calling thread.
virtual void WindowInitialize()
Initialize the window for rendering.
int SupportsOpenGL()
Does this render window support OpenGL? 0-false, 1-true.
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
~vtkOSOpenGLRenderWindow() override
int * GetScreenSize() override
Get the current size of the screen in pixels.
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 Initialize() override
Initialize the rendering window.
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.
virtual void WindowRemap()
Resize the window.
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 Finalize()
"Deinitialize" the rendering 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.
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 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)
virtual void Frame()
End the rendering process and display the image.
OpenGL rendering window.
int vtkTypeBool
Definition vtkABI.h:64
#define VTK_SIZEHINT(...)