VTK
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 "vtkRenderingOpenGL2Module.h" // For export macro
36 #include "vtkOpenGLRenderWindow.h"
37 
38 class vtkIdList;
39 
40 class VTKRENDERINGOPENGL2_EXPORT vtkEGLRenderWindow : public vtkOpenGLRenderWindow
41 {
42 public:
43  static vtkEGLRenderWindow *New();
45  void PrintSelf(ostream& os, vtkIndent indent);
46 
50  virtual void Start(void);
51 
55  virtual void Frame(void);
56 
60  virtual void WindowInitialize(void);
61 
68  virtual void Initialize(void);
69 
75  virtual void Finalize(void);
76 
80  virtual void SetFullScreen(int);
81 
85  virtual void WindowRemap(void);
86 
90  virtual void PrefFullScreen(void);
91 
95  virtual void SetSize(int,int);
96  virtual void SetSize(int a[2]) {this->SetSize(a[0], a[1]);}
97 
104  virtual void SetStereoCapableWindow(int capable);
105 
109  void MakeCurrent();
110 
114  virtual bool IsCurrent();
115 
119  int IsDirect() { return 1;};
120 
124  virtual int *GetScreenSize() VTK_SIZEHINT(2);
125 
129  virtual int *GetPosition() VTK_SIZEHINT(2);
130 
132 
135  virtual void SetDisplayId(void *) {};
136  virtual void SetWindowId(void *window);
137  virtual void SetNextWindowId(void *) {}
138  virtual void SetParentId(void *) {}
139  virtual void *GetGenericDisplayId();
140  virtual void *GetGenericWindowId() {return NULL;}
141  virtual void *GetGenericParentId() {return NULL;}
142  virtual void *GetGenericContext();
143  virtual void *GetGenericDrawable() {return NULL;}
144  virtual void SetWindowInfo(char *);
145  virtual void SetNextWindowInfo(char *) {}
146  virtual void SetParentInfo(char *) {}
148 
149  void SetWindowName(const char *);
150 
152 
155  void SetPosition(int,int);
156  void SetPosition(int a[2]) {this->SetPosition(a[0], a[1]);};
158 
160 
164  void HideCursor();
165  void ShowCursor();
167 
172  void Render();
173 
180  virtual int GetEventPending() { return 0;};
181 
182  int GetOwnWindow() { return this->OwnWindow; };
184 
187  virtual void SetOffScreenRendering (int value);
188  virtual int GetOffScreenRendering ();
190 
195  void GetEGLSurfaceSize(int* width, int* height);
199  int GetNumberOfDevices();
206  virtual bool IsPointSpriteBugPresent();
207 
208 protected:
211 
212  int ScreenSize[2];
216  class vtkInternals;
217  vtkInternals* Internals;
218 
219  void CreateAWindow();
220  void DestroyWindow();
221  void ResizeWindow(int width, int height);
222 
228  void SetDeviceAsDisplay(int deviceIndex);
229 
230 private:
231  vtkEGLRenderWindow(const vtkEGLRenderWindow&) = delete;
232  void operator=(const vtkEGLRenderWindow&) = delete;
233 
234  bool DeviceExtensionsPresent;
235 };
236 
237 
238 
239 #endif
OpenGL rendering window.
virtual void Finalize()=0
Finalize the rendering process.
vtkInternals * Internals
virtual void * GetGenericDrawable()
Dummy stubs for vtkWindow API.
virtual void WindowRemap()=0
Remap the rendering window.
virtual void SetNextWindowId(void *)
Dummy stubs for vtkWindow API.
virtual void HideCursor()=0
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 SetNextWindowInfo(char *)
Dummy stubs for vtkWindow API.
void SetPosition(int a[2])
Move the window to a new position on the display.
static vtkRenderWindow * New()
Construct an instance of vtkRenderWindow with its screen size set to 300x300, borders turned on...
virtual int * GetScreenSize()=0
Get the current size of the screen in pixels.
virtual void * GetGenericWindowId()
Dummy stubs for vtkWindow API.
void * GetGenericContext() override=0
Dummy stubs for vtkWindow API.
virtual void SetParentInfo(char *)
Dummy stubs for vtkWindow API.
void Render() override
Ask each renderer owned by this RenderWindow to render its image and synchronize this process...
int IsDirect()
Is this render window using hardware acceleration? 0-false, 1-true.
virtual void SetStereoCapableWindow(vtkTypeBool capable)
Prescribe that the window be created in a stereo-capable mode.
void * GetGenericDisplayId() override=0
Dummy stubs for vtkWindow API.
virtual bool IsCurrent()=0
Tells if this window is the current graphics context for the calling thread.
virtual void SetParentId(void *)
Dummy stubs for vtkWindow API.
void SetWindowId(void *) override=0
Dummy stubs for vtkWindow API.
a simple class to control print indentation
Definition: vtkIndent.h:33
virtual void DestroyWindow()=0
Destroy a not-off-screen window.
list of point or cell ids
Definition: vtkIdList.h:30
void SetWindowInfo(char *) override=0
Dummy stubs for vtkWindow API.
virtual vtkTypeBool GetOffScreenRendering()
Create a window in memory instead of on the screen.
virtual void SetSize(int a[2])
Set/Get the size of the window in screen coordinates in pixels.
virtual void SetOffScreenRendering(vtkTypeBool)
Create a window in memory instead of on the screen.
#define VTK_SIZEHINT(...)
virtual void Frame()=0
A termination method performed at the end of the rendering process to do things like swapping buffers...
virtual int GetEventPending()
Check to see if a mouse button has been pressed.
virtual void SetFullScreen(vtkTypeBool)=0
Turn on/off rendering full screen window size.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void SetSize(int a[2]) override
Set the size of the window in screen coordinates in pixels.
virtual void Start()=0
Initialize the rendering process.
virtual void SetWindowName(const char *)
Get name of rendering window.
virtual void SetPosition(int, int)
Set/Get the position in screen coordinates of the rendering window.
virtual void Initialize(void)
Initialize the rendering window.
virtual bool IsPointSpriteBugPresent()
Returns true if driver has an EGL/OpenGL bug that makes vtkChartsCoreCxx-TestChartDoubleColors and ot...
virtual void CreateAWindow()=0
Create a not-off-screen window.
OpenGL rendering window.
virtual int GetNumberOfDevices()
Returns the number of devices (graphics cards) on a system.
void MakeCurrent() override=0
Attempt to make this window the current graphics context for the calling thread.
virtual void ShowCursor()=0
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 * GetGenericParentId()
Dummy stubs for vtkWindow API.