VTK
vtkOSOpenGLRenderWindow.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkOSOpenGLRenderWindow.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 =========================================================================*/
29 #ifndef vtkOSOpenGLRenderWindow_h
30 #define vtkOSOpenGLRenderWindow_h
31 
32 #include "vtkRenderingOpenGL2Module.h" // For export macro
33 #include "vtkOpenGLRenderWindow.h"
34 
35 class vtkIdList;
36 class vtkOSOpenGLRenderWindowInternal;
37 
38 class VTKRENDERINGOPENGL2_EXPORT vtkOSOpenGLRenderWindow : public vtkOpenGLRenderWindow
39 {
40 public:
41  static vtkOSOpenGLRenderWindow *New();
43  void PrintSelf(ostream& os, vtkIndent indent);
44 
48  virtual void Start(void);
49 
53  virtual void Frame(void);
54 
58  virtual void WindowInitialize(void);
59 
66  void Initialize(void) override;
67 
73  virtual void Finalize(void);
74 
78  virtual void SetFullScreen(vtkTypeBool);
79 
81 
84  virtual void SetSize(int x,int y);
85  virtual void SetSize(int a[2]) {this->SetSize(a[0], a[1]);};
87 
91  virtual int *GetScreenSize() VTK_SIZEHINT(2);
92 
96  virtual int *GetPosition() VTK_SIZEHINT(2);
97 
99 
102  void SetPosition(int x, int y);
103  void SetPosition(int a[2]) {this->SetPosition(a[0], a[1]);};
105 
112  virtual void SetStereoCapableWindow(vtkTypeBool capable);
113 
117  void MakeCurrent();
118 
122  virtual bool IsCurrent();
123 
129  void SetForceMakeCurrent();
130 
134  const char *ReportCapabilities();
135 
139  int SupportsOpenGL();
140 
144  int IsDirect();
145 
149  virtual void WindowRemap(void);
150 
152 
155  virtual void *GetGenericDisplayId() {return 0;}
156  virtual void *GetGenericWindowId();
157  virtual void *GetGenericParentId() {return 0;}
158  virtual void *GetGenericContext();
159  virtual void *GetGenericDrawable() {return 0;}
161 
166  void SetDisplayId(void *) {}
167 
171  void SetParentId(void *);
172 
176  void SetWindowId(void *);
177 
183  void SetNextWindowId(void *);
184 
185  void SetWindowName(const char *);
186 
191  void HideCursor() {}
192  void ShowCursor() {}
193 
197  virtual void SetCurrentCursor(int);
198 
204  virtual int GetEventPending();
205 
209  void SetWindowInfo(const char *info);
210 
214  void SetNextWindowInfo(const char *info);
215 
219  void SetParentInfo(const char *info);
220 
225 
226 protected:
229 
230  vtkOSOpenGLRenderWindowInternal *Internal;
231 
234  int ScreenSize[2];
237 
238  void CreateAWindow() override;
239  void DestroyWindow() override;
240  void CreateOffScreenWindow(int width, int height);
241  void DestroyOffScreenWindow();
242  void ResizeOffScreenWindow(int width, int height);
243 
244 
245 private:
247  void operator=(const vtkOSOpenGLRenderWindow&) = delete;
248 };
249 
250 
251 
252 #endif
OpenGL rendering window.
virtual void Finalize()=0
Finalize the rendering process.
virtual void SetForceMakeCurrent()
If called, allow MakeCurrent() to skip cache-check when called.
virtual void SetSize(int a[2])
Specify the size of the rendering window in pixels.
virtual void WindowRemap()=0
Remap the rendering window.
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.
vtkOSOpenGLRenderWindowInternal * Internal
void * GetGenericContext() override=0
Dummy stubs for vtkWindow API.
OffScreen Mesa rendering window.
virtual void SetCurrentCursor(int)
Change the shape of the cursor.
void SetWindowInfo(const char *) override=0
Dummy stubs for vtkWindow API.
virtual int GetEventPending()=0
Check to see if a mouse button has been pressed.
int vtkTypeBool
Definition: vtkABI.h:69
virtual void SetStereoCapableWindow(vtkTypeBool capable)
Prescribe that the window be created in a stereo-capable mode.
virtual int IsDirect()
Is this render window using hardware acceleration? 0-false, 1-true.
virtual bool IsCurrent()=0
Tells if this window is the current graphics context for the calling thread.
void HideCursor()
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 *) override=0
Dummy stubs for vtkWindow API.
virtual void * GetGenericParentId()
Xwindow get set functions.
void SetPosition(int a[2])
Move the window to a new position on the display.
a simple class to control print indentation
Definition: vtkIndent.h:39
virtual void DestroyWindow()=0
Destroy a not-off-screen window.
list of point or cell ids
Definition: vtkIdList.h:36
int SupportsOpenGL() override
Does this render window support OpenGL? 0-false, 1-true.
void SetParentInfo(const char *) override=0
Dummy stubs for vtkWindow API.
virtual void SetNextWindowId(void *)=0
Dummy stubs for vtkWindow API.
virtual void SetOffScreenRendering(vtkTypeBool)
Create a window in memory instead of on the screen.
virtual int * GetPosition()
Set/Get the position in screen coordinates of the rendering window.
#define VTK_SIZEHINT(...)
virtual void Frame()=0
A termination method performed at the end of the rendering process to do things like swapping buffers...
const char * ReportCapabilities() override
Get report of capabilities for the render window.
void SetParentId(void *) override=0
Dummy stubs for vtkWindow API.
void ShowCursor()
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 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.
virtual void SetNextWindowInfo(const char *)=0
Dummy stubs for vtkWindow API.
void SetSize(int a[2]) override
Set the size of the window in screen coordinates in pixels.
void SetDisplayId(void *)
Set the X display id for this RenderWindow to use to a pre-existing X display id. ...
virtual void Start()=0
Initialize the rendering process.
virtual void * GetGenericDisplayId()
Xwindow get set functions.
virtual void SetWindowName(const char *)
Get name of rendering window.
void * GetGenericWindowId() override=0
Dummy stubs for vtkWindow API.
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 void CreateAWindow()=0
Create a not-off-screen window.
void MakeCurrent() override=0
Attempt to make this window the current graphics context for the calling thread.
virtual void * GetGenericDrawable()
Xwindow get set functions.