VTK  9.1.0
vtkEGLRenderWindow.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkEGLRenderWindow.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=========================================================================*/
32#ifndef vtkEGLRenderWindow_h
33#define vtkEGLRenderWindow_h
34
36#include "vtkRenderingOpenGL2Module.h" // For export macro
37
38class vtkIdList;
39
40class VTKRENDERINGOPENGL2_EXPORT vtkEGLRenderWindow : public vtkOpenGLRenderWindow
41{
42public:
45 void PrintSelf(ostream& os, vtkIndent indent) override;
46
50 void Frame(void) override;
51
52 // override as some EGL systems cannot show the window
53 void SetShowWindow(bool) override;
54
58 virtual void WindowInitialize(void);
59
66 void Initialize(void) override;
67
73 void Finalize(void) override;
74
78 void SetFullScreen(vtkTypeBool) override;
79
83 void WindowRemap(void) override;
84
88 virtual void PrefFullScreen(void);
89
98 void SetSize(int width, int height) override;
99 void SetSize(int a[2]) override { this->SetSize(a[0], a[1]); }
100
107 void SetStereoCapableWindow(vtkTypeBool capable) override;
108
112 void MakeCurrent() override;
113
117 void ReleaseCurrent() override;
118
122 bool IsCurrent() override;
123
127 vtkTypeBool IsDirect() override { return 1; }
128
133 int* GetScreenSize() VTK_SIZEHINT(2) override;
134
139 int* GetPosition() VTK_SIZEHINT(2) override;
140
142
145 void SetDisplayId(void*) override {}
146 void SetWindowId(void* window) override;
147 void SetNextWindowId(void*) override {}
148 void SetParentId(void*) override {}
149 void* GetGenericDisplayId() override;
150 void* GetGenericWindowId() override { return nullptr; }
151 void* GetGenericParentId() override { return nullptr; }
152 void* GetGenericContext() override;
153 void* GetGenericDrawable() override { return nullptr; }
154 void SetWindowInfo(const char*) override;
155 void SetNextWindowInfo(const char*) override {}
156 void SetParentInfo(const char*) override {}
158
159 void SetWindowName(const char*) override;
160
162
167 void SetPosition(int x, int y) override;
168 void SetPosition(int a[2]) override { this->SetPosition(a[0], a[1]); }
170
172
176 void HideCursor() override;
177 void ShowCursor() override;
179
184 void Render() override;
185
192 vtkTypeBool GetEventPending() override { return 0; }
193
194 vtkTypeBool GetOwnWindow() { return this->OwnWindow; }
195
200 void GetEGLSurfaceSize(int* width, int* height);
204 int GetNumberOfDevices() override;
211 bool IsPointSpriteBugPresent() override;
212
213protected:
216
220 class vtkInternals;
221 vtkInternals* Internals;
222
223 void CreateAWindow() override;
224 void DestroyWindow() override;
225 void ResizeWindow(int width, int height);
226
232 void SetDeviceAsDisplay(int deviceIndex);
233
234private:
235 vtkEGLRenderWindow(const vtkEGLRenderWindow&) = delete;
236 void operator=(const vtkEGLRenderWindow&) = delete;
237
238 bool DeviceExtensionsPresent;
239};
240
241#endif
OpenGL rendering window.
void SetParentId(void *) override
Dummy stubs for vtkWindow API.
void * GetGenericWindowId() override
Dummy stubs for vtkWindow API.
void WindowRemap(void) override
Resize the window.
void ReleaseCurrent() override
Release the current context.
void Finalize(void) override
"Deinitialize" the rendering window.
void Frame(void) override
End the rendering process and display the image.
vtkTypeBool GetEventPending() override
Check to see if a mouse button has been pressed.
void SetFullScreen(vtkTypeBool) override
Change the window to fill the entire screen.
void Initialize(void) override
Initialize the rendering window.
void MakeCurrent() override
Make this window the current OpenGL context.
void SetShowWindow(bool) override
Show or not Show the window.
void SetPosition(int x, int y) override
Set the position (x and y) of the rendering window in screen coordinates (in pixels).
int * GetScreenSize() override
Get the current size of the screen in pixels.
void SetPosition(int a[2]) override
Set the position (x and y) of the rendering window in screen coordinates (in pixels).
bool IsPointSpriteBugPresent() override
Returns true if driver has an EGL/OpenGL bug that makes vtkChartsCoreCxx-TestChartDoubleColors and ot...
void ResizeWindow(int width, int height)
vtkInternals * Internals
void HideCursor() override
Hide or Show the mouse cursor, it is nice to be able to hide the default cursor if you want VTK to di...
static vtkEGLRenderWindow * New()
virtual void WindowInitialize(void)
Initialize the window for rendering.
void SetParentInfo(const char *) override
Dummy stubs for vtkWindow API.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void CreateAWindow() override
Create a not-off-screen window.
void * GetGenericDrawable() override
Dummy stubs for vtkWindow API.
void SetSize(int a[2]) override
Get the size (width and height) of the rendering window in screen coordinates (in pixels).
vtkTypeBool IsDirect() override
Is this render window using hardware acceleration? 0-false, 1-true.
void SetSize(int width, int height) override
Set the size (width and height) of the rendering window in screen coordinates (in pixels).
void GetEGLSurfaceSize(int *width, int *height)
Returns the width and height of the allocated EGL surface.
bool IsCurrent() override
Tells if this window is the current OpenGL context for the calling thread.
void * GetGenericParentId() override
Dummy stubs for vtkWindow API.
void SetWindowName(const char *) override
Get name of rendering window.
void SetDeviceAsDisplay(int deviceIndex)
Use EGL_EXT_device_base, EGL_EXT_platform_device and EGL_EXT_platform_base extensions to set the disp...
void SetNextWindowId(void *) override
Dummy stubs for vtkWindow API.
void ShowCursor() override
Hide or Show the mouse cursor, it is nice to be able to hide the default cursor if you want VTK to di...
void SetWindowId(void *window) override
Dummy stubs for vtkWindow API.
void Render() override
This computes the size of the render window before calling the supper classes render.
void * GetGenericDisplayId() override
Dummy stubs for vtkWindow API.
~vtkEGLRenderWindow() override
void * GetGenericContext() override
Dummy stubs for vtkWindow API.
void SetNextWindowInfo(const char *) override
Dummy stubs for vtkWindow API.
int GetNumberOfDevices() override
Returns the number of devices (graphics cards) on a system.
vtkTypeBool GetOwnWindow()
virtual void PrefFullScreen(void)
Set the preferred window size to full screen.
void SetStereoCapableWindow(vtkTypeBool capable) override
Prescribe that the window be created in a stereo-capable mode.
void SetWindowInfo(const char *) override
Dummy stubs for vtkWindow API.
void DestroyWindow() override
Destroy a not-off-screen window.
list of point or cell ids
Definition: vtkIdList.h:140
a simple class to control print indentation
Definition: vtkIndent.h:113
OpenGL rendering window.
int vtkTypeBool
Definition: vtkABI.h:69
#define VTK_SIZEHINT(...)