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 =========================================================================*/
26 #ifndef vtkEGLRenderWindow_h
27 #define vtkEGLRenderWindow_h
28 
29 #include "vtkRenderingOpenGL2Module.h" // For export macro
30 #include "vtkOpenGLRenderWindow.h"
31 
32 class vtkIdList;
33 
34 class VTKRENDERINGOPENGL2_EXPORT vtkEGLRenderWindow : public vtkOpenGLRenderWindow
35 {
36 public:
37  static vtkEGLRenderWindow *New();
39  void PrintSelf(ostream& os, vtkIndent indent);
40 
44  virtual void Start(void);
45 
49  virtual void Frame(void);
50 
54  virtual void WindowInitialize(void);
55 
62  virtual void Initialize(void);
63 
69  virtual void Finalize(void);
70 
74  virtual void SetFullScreen(int);
75 
79  virtual void WindowRemap(void);
80 
84  virtual void PrefFullScreen(void);
85 
89  virtual void SetSize(int,int);
90  virtual void SetSize(int a[2]) {this->SetSize(a[0], a[1]);}
91 
98  virtual void SetStereoCapableWindow(int capable);
99 
103  void MakeCurrent();
104 
108  virtual bool IsCurrent();
109 
113  int IsDirect() { return 1;};
114 
118  virtual int *GetScreenSize();
119 
123  virtual int *GetPosition();
124 
126 
129  virtual void SetDisplayId(void *) {};
130  virtual void SetWindowId(void *window);
131  virtual void SetNextWindowId(void *) {}
132  virtual void SetParentId(void *) {}
133  virtual void *GetGenericDisplayId();
134  virtual void *GetGenericWindowId() {return NULL;}
135  virtual void *GetGenericParentId() {return NULL;}
136  virtual void *GetGenericContext();
137  virtual void *GetGenericDrawable() {return NULL;}
138  virtual void SetWindowInfo(char *);
139  virtual void SetNextWindowInfo(char *) {}
140  virtual void SetParentInfo(char *) {}
142 
143  void SetWindowName(const char *);
144 
146 
149  void SetPosition(int,int);
150  void SetPosition(int a[2]) {this->SetPosition(a[0], a[1]);};
152 
154 
158  void HideCursor();
159  void ShowCursor();
161 
166  void Render();
167 
174  virtual int GetEventPending() { return 0;};
175 
176  int GetOwnWindow() { return this->OwnWindow; };
178 
181  virtual void SetOffScreenRendering (int value);
182  virtual int GetOffScreenRendering ();
184 
189  void GetEGLSurfaceSize(int* width, int* height);
193  int GetNumberOfDevices();
200  virtual bool IsPointSpriteBugPresent();
201 
202 protected:
205 
206  int ScreenSize[2];
211  class vtkInternals;
212  vtkInternals* Internals;
213 
214  void CreateAWindow();
215  void DestroyWindow();
216  void ResizeWindow(int width, int height);
217 
223  void SetDeviceAsDisplay(int deviceIndex);
224 
225 private:
226  vtkEGLRenderWindow(const vtkEGLRenderWindow&) VTK_DELETE_FUNCTION;
227  void operator=(const vtkEGLRenderWindow&) VTK_DELETE_FUNCTION;
228 
229  bool DeviceExtensionsPresent;
230 };
231 
232 
233 
234 #endif
vtkOpenGLRenderWindow::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
vtkEGLRenderWindow
OpenGL rendering window.
Definition: vtkEGLRenderWindow.h:34
vtkRenderWindow::Start
virtual void Start()=0
Initialize the rendering process.
vtkRenderWindow::SetStereoCapableWindow
virtual void SetStereoCapableWindow(int capable)
vtkX3D::value
Definition: vtkX3D.h:220
vtkEGLRenderWindow::GetOwnWindow
int GetOwnWindow()
Definition: vtkEGLRenderWindow.h:176
vtkRenderWindow::ShowCursor
virtual void ShowCursor()=0
vtkWindow::GetOffScreenRendering
virtual int GetOffScreenRendering()
vtkRenderWindow::SetFullScreen
virtual void SetFullScreen(int)=0
Turn on/off rendering full screen window size.
vtkEGLRenderWindow::IsDirect
int IsDirect()
Is this render window using hardware acceleration? 0-false, 1-true.
Definition: vtkEGLRenderWindow.h:113
vtkEGLRenderWindow::DeviceIndex
int DeviceIndex
Definition: vtkEGLRenderWindow.h:208
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.
vtkEGLRenderWindow::Internals
vtkInternals * Internals
Definition: vtkEGLRenderWindow.h:211
vtkRenderWindow::SetWindowInfo
virtual void SetWindowInfo(char *)=0
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:131
vtkRenderWindow::WindowRemap
virtual void WindowRemap()=0
Remap the rendering window.
vtkEGLRenderWindow::GetGenericParentId
virtual void * GetGenericParentId()
Definition: vtkEGLRenderWindow.h:135
vtkEGLRenderWindow::GetEventPending
virtual int GetEventPending()
Check to see if a mouse button has been pressed.
Definition: vtkEGLRenderWindow.h:174
vtkOpenGLRenderWindow.h
vtkRenderWindow::GetGenericDisplayId
virtual void * GetGenericDisplayId()=0
vtkX3D::height
Definition: vtkX3D.h:254
vtkWindow::SetWindowName
virtual void SetWindowName(const char *)
vtkEGLRenderWindow::SetParentInfo
virtual void SetParentInfo(char *)
Definition: vtkEGLRenderWindow.h:140
vtkEGLRenderWindow::SetDisplayId
virtual void SetDisplayId(void *)
Dummy stubs for vtkWindow API.
Definition: vtkEGLRenderWindow.h:129
vtkRenderWindow::Render
virtual void Render()
Ask each renderer owned by this RenderWindow to render its image and synchronize this process.
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkIdList
list of point or cell ids
Definition: vtkIdList.h:36
vtkEGLRenderWindow::SetParentId
virtual void SetParentId(void *)
Definition: vtkEGLRenderWindow.h:132
vtkOpenGLRenderWindow::IsPointSpriteBugPresent
virtual bool IsPointSpriteBugPresent()
Returns true if driver has an EGL/OpenGL bug that makes vtkChartsCoreCxx-TestChartDoubleColors and ot...
Definition: vtkOpenGLRenderWindow.h:300
vtkEGLRenderWindow::GetGenericDrawable
virtual void * GetGenericDrawable()
Definition: vtkEGLRenderWindow.h:137
vtkEGLRenderWindow::SetNextWindowInfo
virtual void SetNextWindowInfo(char *)
Definition: vtkEGLRenderWindow.h:139
vtkEGLRenderWindow::SetPosition
void SetPosition(int a[2])
Definition: vtkEGLRenderWindow.h:150
vtkRenderWindow::SetWindowId
virtual void SetWindowId(void *)=0
vtkWindow::GetPosition
virtual int * GetPosition()
Set/Get the position in screen coordinates of the rendering window.
vtkRenderWindow::GetNumberOfDevices
virtual int GetNumberOfDevices()
Returns the number of devices (graphics cards) on a system.
Definition: vtkRenderWindow.h:710
vtkEGLRenderWindow::SetSize
virtual void SetSize(int a[2])
Set the size of the window in screen coordinates in pixels.
Definition: vtkEGLRenderWindow.h:90
vtkEGLRenderWindow::OwnWindow
int OwnWindow
Definition: vtkEGLRenderWindow.h:207
vtkEGLRenderWindow::GetGenericWindowId
virtual void * GetGenericWindowId()
Definition: vtkEGLRenderWindow.h:134
vtkEGLRenderWindow::IsPointSpriteBugTested
bool IsPointSpriteBugTested
Definition: vtkEGLRenderWindow.h:209
vtkRenderWindow::MakeCurrent
virtual void MakeCurrent()=0
Attempt to make this window the current graphics context for the calling thread.
vtkRenderWindow::GetGenericContext
virtual void * GetGenericContext()=0
vtkEGLRenderWindow::IsPointSpriteBugPresent_
bool IsPointSpriteBugPresent_
Definition: vtkEGLRenderWindow.h:210
vtkOpenGLRenderWindow::DestroyWindow
virtual void DestroyWindow()=0
Destroy a not-off-screen window.
vtkOpenGLRenderWindow
OpenGL rendering window.
Definition: vtkOpenGLRenderWindow.h:41
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,...
vtkWindow::SetOffScreenRendering
virtual void SetOffScreenRendering(int)
Create a window in memory instead of on the screen.
vtkOpenGLRenderWindow::Initialize
virtual void Initialize(void)
Initialize the rendering window.
Definition: vtkOpenGLRenderWindow.h:344
vtkOpenGLRenderWindow::CreateAWindow
virtual void CreateAWindow()=0
Create a not-off-screen window.
vtkOpenGLRenderWindow::SetSize
virtual void SetSize(int a[2])
Set the size of the window in screen coordinates in pixels.