VTK  9.0.3
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 
35 #include "vtkOpenGLRenderWindow.h"
36 #include "vtkRenderingOpenGL2Module.h" // For export macro
37 
38 class vtkIdList;
39 
40 class VTKRENDERINGOPENGL2_EXPORT vtkEGLRenderWindow : public vtkOpenGLRenderWindow
41 {
42 public:
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  bool IsCurrent() override;
118 
122  vtkTypeBool IsDirect() override { return 1; }
123 
128  int* GetScreenSize() VTK_SIZEHINT(2) override;
129 
134  int* GetPosition() VTK_SIZEHINT(2) override;
135 
137 
140  void SetDisplayId(void*) override {}
141  void SetWindowId(void* window) override;
142  void SetNextWindowId(void*) override {}
143  void SetParentId(void*) override {}
144  void* GetGenericDisplayId() override;
145  void* GetGenericWindowId() override { return nullptr; }
146  void* GetGenericParentId() override { return nullptr; }
147  void* GetGenericContext() override;
148  void* GetGenericDrawable() override { return nullptr; }
149  void SetWindowInfo(const char*) override;
150  void SetNextWindowInfo(const char*) override {}
151  void SetParentInfo(const char*) override {}
153 
154  void SetWindowName(const char*) override;
155 
157 
162  void SetPosition(int x, int y) override;
163  void SetPosition(int a[2]) override { this->SetPosition(a[0], a[1]); }
165 
167 
171  void HideCursor() override;
172  void ShowCursor() override;
174 
179  void Render() override;
180 
187  vtkTypeBool GetEventPending() override { return 0; }
188 
189  vtkTypeBool GetOwnWindow() { return this->OwnWindow; }
190 
195  void GetEGLSurfaceSize(int* width, int* height);
199  int GetNumberOfDevices() override;
206  bool IsPointSpriteBugPresent() override;
207 
208 protected:
211 
215  class vtkInternals;
216  vtkInternals* Internals;
217 
218  void CreateAWindow() override;
219  void DestroyWindow() override;
220  void ResizeWindow(int width, int height);
221 
227  void SetDeviceAsDisplay(int deviceIndex);
228 
229 private:
230  vtkEGLRenderWindow(const vtkEGLRenderWindow&) = delete;
231  void operator=(const vtkEGLRenderWindow&) = delete;
232 
233  bool DeviceExtensionsPresent;
234 };
235 
236 #endif
OpenGL rendering window.
void * GetGenericContext() override
void SetParentId(void *) override
void * GetGenericDrawable() override
void WindowRemap(void) override
Resize the window.
void Finalize(void) override
"Deinitialize" the rendering window.
void * GetGenericParentId() override
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
void SetPosition(int x, int y) override
Set the position (x and y) of the rendering window in screen coordinates (in pixels).
void SetPosition(int a[2]) override
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...
virtual void WindowInitialize(void)
Initialize the window for rendering.
void SetParentInfo(const char *) override
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.
static vtkEGLRenderWindow * New()
void SetSize(int a[2]) override
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.
void * GetGenericDisplayId() override
bool IsCurrent() override
Tells if this window is the current OpenGL context for the calling thread.
void SetWindowName(const char *) override
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
void ShowCursor() override
void * GetGenericWindowId() override
int * GetScreenSize() override
Get the current size of the screen in pixels.
void SetWindowId(void *window) override
void Render() override
This computes the size of the render window before calling the supper classes render.
~vtkEGLRenderWindow() override
void SetNextWindowInfo(const char *) override
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
void DestroyWindow() override
Destroy a not-off-screen window.
list of point or cell ids
Definition: vtkIdList.h:31
a simple class to control print indentation
Definition: vtkIndent.h:34
OpenGL rendering window.
@ height
Definition: vtkX3D.h:260
int vtkTypeBool
Definition: vtkABI.h:69
#define VTK_SIZEHINT(...)