VTK  9.2.6
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 "vtkOpenGLRenderWindow.h"
33 #include "vtkRenderingOpenGL2Module.h" // For export macro
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 Frame(void);
49 
53  virtual void WindowInitialize(void);
54 
61  void Initialize(void) override;
62 
68  virtual void Finalize(void);
69 
73  virtual void SetFullScreen(vtkTypeBool);
74 
76 
83  void SetSize(int width, int height) override;
84  void SetSize(int a[2]) override { this->SetSize(a[0], a[1]); }
86 
91  int* GetScreenSize() VTK_SIZEHINT(2) override;
92 
97  int* GetPosition() VTK_SIZEHINT(2) override;
98 
100 
103  void SetPosition(int x, int y) override;
104  void SetPosition(int a[2]) override { this->SetPosition(a[0], a[1]); }
106 
113  virtual void SetStereoCapableWindow(vtkTypeBool capable);
114 
118  void MakeCurrent();
119 
123  virtual bool IsCurrent();
124 
130  void SetForceMakeCurrent();
131 
135  const char* ReportCapabilities();
136 
140  int SupportsOpenGL();
141 
146 
150  virtual void WindowRemap(void);
151 
153 
156  virtual void* GetGenericDisplayId() { return 0; }
157  virtual void* GetGenericWindowId();
158  virtual void* GetGenericParentId() { return 0; }
159  virtual void* GetGenericContext();
160  virtual void* GetGenericDrawable() { return 0; }
162 
167  void SetDisplayId(void*) {}
168 
172  void SetParentId(void*);
173 
177  void SetWindowId(void*);
178 
184  void SetNextWindowId(void*);
185 
186  void SetWindowName(const char*);
187 
192  void HideCursor() {}
193  void ShowCursor() {}
194 
200  virtual vtkTypeBool GetEventPending();
201 
205  void SetWindowInfo(const char* info);
206 
210  void SetNextWindowInfo(const char* info);
211 
215  void SetParentInfo(const char* info);
216 
217 protected:
219  ~vtkOSOpenGLRenderWindow() override;
220 
221  vtkOSOpenGLRenderWindowInternal* Internal;
222 
227 
228  void CreateAWindow() override;
229  void DestroyWindow() override;
230  void CreateOffScreenWindow(int width, int height);
231  void DestroyOffScreenWindow();
232  void ResizeOffScreenWindow(int width, int height);
233 
234 private:
236  void operator=(const vtkOSOpenGLRenderWindow&) = delete;
237 };
238 
239 #endif
OpenGL rendering window.
virtual void SetForceMakeCurrent()
If called, allow MakeCurrent() to skip cache-check when called.
virtual void SetFullScreen(vtkTypeBool)
Turn on/off rendering full screen window size.
void * GetGenericContext() override
Dummy stubs for vtkWindow API.
virtual void WindowRemap()
Remap the rendering window.
virtual void SetNextWindowId(void *)
Dummy stubs for vtkWindow API.
static vtkRenderWindow * New()
Construct an instance of vtkRenderWindow with its screen size set to 300x300, borders turned on...
void * GetGenericWindowId() override
Dummy stubs for vtkWindow API.
vtkOSOpenGLRenderWindowInternal * Internal
OffScreen Mesa rendering window.
void SetWindowInfo(const char *) override
Dummy stubs for vtkWindow API.
virtual bool IsCurrent()
Tells if this window is the current graphics context for the calling thread.
virtual void Finalize()
Finalize the rendering process.
void SetParentId(void *) override
Dummy stubs for vtkWindow API.
int vtkTypeBool
Definition: vtkABI.h:69
void SetPosition(int a[2]) override
Move the window to a new position on the display.
virtual void SetStereoCapableWindow(vtkTypeBool capable)
Prescribe that the window be created in a stereo-capable mode.
virtual void SetNextWindowInfo(const char *)
Dummy stubs for vtkWindow API.
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...
virtual void SetSize(int width, int height)
Set the size (width and height) of the rendering window in screen coordinates (in pixels)...
void SetWindowId(void *) override
Dummy stubs for vtkWindow API.
virtual void * GetGenericParentId()
Xwindow get set functions.
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:33
virtual int * GetScreenSize()
Get the current size of the screen in pixels.
Definition: vtkWindow.h:105
int SupportsOpenGL() override
Does this render window support OpenGL? 0-false, 1-true.
virtual void MakeCurrent()
Make the window current.
Definition: vtkWindow.h:246
#define VTK_SIZEHINT(...)
const char * ReportCapabilities() override
Get report of capabilities for the render window.
void Frame() override
A termination method performed at the end of the rendering process to do things like swapping buffers...
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 vtkTypeBool GetEventPending()
Check to see if a mouse button has been pressed.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void SetDisplayId(void *)
Set the X display id for this RenderWindow to use to a pre-existing X display id. ...
virtual void * GetGenericDisplayId()
Xwindow get set functions.
virtual void SetWindowName(const char *)
Get name of rendering window.
void SetParentInfo(const char *) override
Dummy stubs for vtkWindow API.
virtual void Initialize(void)
Initialize the rendering window.
virtual void CreateAWindow()=0
Create a not-off-screen window.
void SetSize(int a[2]) override
Set the size of the window in screen coordinates in pixels.
virtual vtkTypeBool IsDirect()
Is this render window using hardware acceleration? 0-false, 1-true.
virtual void * GetGenericDrawable()
Xwindow get set functions.