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  void Initialize(void) override;
69 
75  virtual void Finalize(void);
76 
80  virtual void SetFullScreen(vtkTypeBool);
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(vtkTypeBool 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(const char *);
145  virtual void SetNextWindowInfo(const char *) {}
146  virtual void SetParentInfo(const 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 (vtkTypeBool value);
190 
195  void GetEGLSurfaceSize(int* width, int* height);
199  int GetNumberOfDevices();
206  bool IsPointSpriteBugPresent() override;
207 
208 protected:
211 
212  int ScreenSize[2];
216  class vtkInternals;
217  vtkInternals* Internals;
218 
219  void CreateAWindow() override;
220  void DestroyWindow() override;
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
vtkOpenGLRenderWindow::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkOpenGLRenderWindow::SetSize
void SetSize(int a[2]) override
Set the size of the window in screen coordinates in pixels.
vtkEGLRenderWindow
OpenGL rendering window.
Definition: vtkEGLRenderWindow.h:40
vtkRenderWindow::Start
virtual void Start()=0
Initialize the rendering process.
vtkEGLRenderWindow::SetNextWindowInfo
virtual void SetNextWindowInfo(const char *)
Definition: vtkEGLRenderWindow.h:145
vtkX3D::value
Definition: vtkX3D.h:220
vtkEGLRenderWindow::GetOwnWindow
int GetOwnWindow()
Definition: vtkEGLRenderWindow.h:182
vtkRenderWindow::ShowCursor
virtual void ShowCursor()=0
vtkEGLRenderWindow::SetParentInfo
virtual void SetParentInfo(const char *)
Definition: vtkEGLRenderWindow.h:146
vtkEGLRenderWindow::IsDirect
int IsDirect()
Is this render window using hardware acceleration? 0-false, 1-true.
Definition: vtkEGLRenderWindow.h:119
vtkWindow::GetOffScreenRendering
virtual vtkTypeBool GetOffScreenRendering()
vtkRenderWindow::HideCursor
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...
vtkRenderWindow::Finalize
virtual void Finalize()=0
Finalize the rendering process.
vtkRenderWindow::SetFullScreen
virtual void SetFullScreen(vtkTypeBool)=0
Turn on/off rendering full screen window size.
vtkEGLRenderWindow::Internals
vtkInternals * Internals
Definition: vtkEGLRenderWindow.h:216
vtkWindow::SetOffScreenRendering
virtual void SetOffScreenRendering(vtkTypeBool)
Create a window in memory instead of on the screen.
vtkWindow::GetScreenSize
virtual int * GetScreenSize()=0
Get the current size of the screen in pixels.
vtkRenderWindow::IsCurrent
virtual bool IsCurrent()=0
Tells if this window is the current graphics context for the calling thread.
vtkEGLRenderWindow::SetNextWindowId
virtual void SetNextWindowId(void *)
Definition: vtkEGLRenderWindow.h:137
vtkRenderWindow::SetWindowId
void SetWindowId(void *) override=0
vtkRenderWindow::WindowRemap
virtual void WindowRemap()=0
Remap the rendering window.
vtkEGLRenderWindow::GetGenericParentId
virtual void * GetGenericParentId()
Definition: vtkEGLRenderWindow.h:141
vtkEGLRenderWindow::GetEventPending
virtual int GetEventPending()
Check to see if a mouse button has been pressed.
Definition: vtkEGLRenderWindow.h:180
VTK_SIZEHINT
#define VTK_SIZEHINT(...)
Definition: vtkWrappingHints.h:42
vtkOpenGLRenderWindow::Render
void Render() override
Handle opengl specific code and calls superclass.
vtkX3D::height
Definition: vtkX3D.h:254
vtkWindow::SetWindowName
virtual void SetWindowName(const char *)
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkRenderWindow::GetGenericContext
void * GetGenericContext() override=0
vtkRenderWindow::SetWindowInfo
void SetWindowInfo(const char *) override=0
vtkRenderWindow::GetGenericDisplayId
void * GetGenericDisplayId() override=0
vtkIdList
list of point or cell ids
Definition: vtkIdList.h:36
vtkEGLRenderWindow::SetParentId
virtual void SetParentId(void *)
Definition: vtkEGLRenderWindow.h:138
vtkRenderWindow::MakeCurrent
void MakeCurrent() override=0
Attempt to make this window the current graphics context for the calling thread.
vtkOpenGLRenderWindow::IsPointSpriteBugPresent
virtual bool IsPointSpriteBugPresent()
Returns true if driver has an EGL/OpenGL bug that makes vtkChartsCoreCxx-TestChartDoubleColors and ot...
Definition: vtkOpenGLRenderWindow.h:317
vtkRenderWindow::SetStereoCapableWindow
virtual void SetStereoCapableWindow(vtkTypeBool capable)
vtkEGLRenderWindow::GetGenericDrawable
virtual void * GetGenericDrawable()
Definition: vtkEGLRenderWindow.h:143
vtkEGLRenderWindow::SetPosition
void SetPosition(int a[2])
Definition: vtkEGLRenderWindow.h:156
vtkRenderWindow::GetNumberOfDevices
virtual int GetNumberOfDevices()
Returns the number of devices (graphics cards) on a system.
Definition: vtkRenderWindow.h:673
vtkEGLRenderWindow::SetSize
virtual void SetSize(int a[2])
Definition: vtkEGLRenderWindow.h:96
vtkEGLRenderWindow::OwnWindow
int OwnWindow
Definition: vtkEGLRenderWindow.h:213
vtkEGLRenderWindow::GetGenericWindowId
virtual void * GetGenericWindowId()
Definition: vtkEGLRenderWindow.h:140
vtkEGLRenderWindow::IsPointSpriteBugTested
bool IsPointSpriteBugTested
Definition: vtkEGLRenderWindow.h:214
vtkEGLRenderWindow::IsPointSpriteBugPresent_
bool IsPointSpriteBugPresent_
Definition: vtkEGLRenderWindow.h:215
vtkOpenGLRenderWindow::DestroyWindow
virtual void DestroyWindow()=0
Destroy a not-off-screen window.
vtkOpenGLRenderWindow
OpenGL rendering window.
Definition: vtkOpenGLRenderWindow.h:53
vtkWindow::SetPosition
virtual void SetPosition(int, int)
vtkRenderWindow::Frame
virtual void Frame()=0
A termination method performed at the end of the rendering process to do things like swapping buffers...
vtkRenderWindow::New
static vtkRenderWindow * New()
Construct an instance of vtkRenderWindow with its screen size set to 300x300, borders turned on,...
vtkTypeBool
int vtkTypeBool
Definition: vtkABI.h:69
vtkOpenGLRenderWindow::Initialize
virtual void Initialize(void)
Initialize the rendering window.
Definition: vtkOpenGLRenderWindow.h:366
vtkOpenGLRenderWindow::CreateAWindow
virtual void CreateAWindow()=0
Create a not-off-screen window.
vtkOpenGLRenderWindow.h