VTK  9.0.1
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
vtkOpenGLRenderWindow::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkOSOpenGLRenderWindow::CursorHidden
vtkTypeBool CursorHidden
Definition: vtkOSOpenGLRenderWindow.h:225
vtkOpenGLRenderWindow::SupportsOpenGL
int SupportsOpenGL() override
Does this render window support OpenGL? 0-false, 1-true.
vtkRenderWindow::SetWindowInfo
void SetWindowInfo(const char *) override
Definition: vtkRenderWindow.h:623
vtkRenderWindow::SetWindowId
void SetWindowId(void *) override
Definition: vtkRenderWindow.h:615
vtkOSOpenGLRenderWindow::Internal
vtkOSOpenGLRenderWindowInternal * Internal
Definition: vtkOSOpenGLRenderWindow.h:221
vtkOSOpenGLRenderWindow::ForceMakeCurrent
vtkTypeBool ForceMakeCurrent
Definition: vtkOSOpenGLRenderWindow.h:226
vtkRenderWindow::SetNextWindowInfo
virtual void SetNextWindowInfo(const char *)
Definition: vtkRenderWindow.h:624
vtkRenderWindow::SetForceMakeCurrent
virtual void SetForceMakeCurrent()
If called, allow MakeCurrent() to skip cache-check when called.
Definition: vtkRenderWindow.h:672
vtkRenderWindow::WindowRemap
virtual void WindowRemap()
Remap the rendering window.
Definition: vtkRenderWindow.h:403
VTK_SIZEHINT
#define VTK_SIZEHINT(...)
Definition: vtkWrappingHints.h:45
vtkRenderWindow::Finalize
virtual void Finalize()
Finalize the rendering process.
Definition: vtkRenderWindow.h:176
vtkOSOpenGLRenderWindow::OwnDisplay
vtkTypeBool OwnDisplay
Definition: vtkOSOpenGLRenderWindow.h:224
vtkOSOpenGLRenderWindow::SetPosition
void SetPosition(int a[2]) override
Definition: vtkOSOpenGLRenderWindow.h:104
vtkX3D::height
@ height
Definition: vtkX3D.h:260
vtkWindow::SetWindowName
virtual void SetWindowName(const char *)
vtkOSOpenGLRenderWindow::HideCursor
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...
Definition: vtkOSOpenGLRenderWindow.h:192
vtkRenderWindow::SetNextWindowId
virtual void SetNextWindowId(void *)
Definition: vtkRenderWindow.h:616
vtkRenderWindow::MakeCurrent
void MakeCurrent() override
Attempt to make this window the current graphics context for the calling thread.
Definition: vtkRenderWindow.h:651
vtkRenderWindow::IsDirect
virtual vtkTypeBool IsDirect()
Is this render window using hardware acceleration? 0-false, 1-true.
Definition: vtkRenderWindow.h:687
vtkRenderWindow::GetEventPending
virtual vtkTypeBool GetEventPending()
Check to see if a mouse button has been pressed.
Definition: vtkRenderWindow.h:556
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:33
vtkOSOpenGLRenderWindow
OffScreen Mesa rendering window.
Definition: vtkOSOpenGLRenderWindow.h:38
vtkIdList
list of point or cell ids
Definition: vtkIdList.h:30
vtkOSOpenGLRenderWindow::SetDisplayId
void SetDisplayId(void *)
Set the X display id for this RenderWindow to use to a pre-existing X display id.
Definition: vtkOSOpenGLRenderWindow.h:167
vtkOSOpenGLRenderWindow::OwnWindow
vtkTypeBool OwnWindow
Definition: vtkOSOpenGLRenderWindow.h:223
vtkRenderWindow::SetParentInfo
void SetParentInfo(const char *) override
Definition: vtkRenderWindow.h:625
vtkWindow::GetScreenSize
virtual int * GetScreenSize()
Get the current size of the screen in pixels.
Definition: vtkWindow.h:104
vtkRenderWindow::SetStereoCapableWindow
virtual void SetStereoCapableWindow(vtkTypeBool capable)
vtkOSOpenGLRenderWindow::GetGenericParentId
virtual void * GetGenericParentId()
Definition: vtkOSOpenGLRenderWindow.h:158
vtkRenderWindow::SetParentId
void SetParentId(void *) override
Definition: vtkRenderWindow.h:617
vtkX3D::info
@ info
Definition: vtkX3D.h:382
vtkOpenGLRenderWindow::ReportCapabilities
const char * ReportCapabilities() override
Get report of capabilities for the render window.
vtkOSOpenGLRenderWindow::GetGenericDisplayId
virtual void * GetGenericDisplayId()
Xwindow get set functions.
Definition: vtkOSOpenGLRenderWindow.h:156
vtkOpenGLRenderWindow::SetSize
void SetSize(int width, int height) override
Set the size (width and height) of the rendering window in screen coordinates (in pixels).
vtkOSOpenGLRenderWindow::ShowCursor
void ShowCursor()
Definition: vtkOSOpenGLRenderWindow.h:193
vtkOpenGLRenderWindow::Frame
void Frame() override
A termination method performed at the end of the rendering process to do things like swapping buffers...
vtkOSOpenGLRenderWindow::GetGenericDrawable
virtual void * GetGenericDrawable()
Definition: vtkOSOpenGLRenderWindow.h:160
vtkRenderWindow::SetFullScreen
virtual void SetFullScreen(vtkTypeBool)
Turn on/off rendering full screen window size.
Definition: vtkRenderWindow.h:227
vtkOpenGLRenderWindow::DestroyWindow
virtual void DestroyWindow()=0
Destroy a not-off-screen window.
vtkOpenGLRenderWindow
OpenGL rendering window.
Definition: vtkOpenGLRenderWindow.h:51
vtkOSOpenGLRenderWindow::SetSize
void SetSize(int a[2]) override
Definition: vtkOSOpenGLRenderWindow.h:84
vtkRenderWindow::GetGenericContext
void * GetGenericContext() override
Definition: vtkRenderWindow.h:621
vtkRenderWindow::IsCurrent
virtual bool IsCurrent()
Tells if this window is the current graphics context for the calling thread.
Definition: vtkRenderWindow.h:657
vtkRenderWindow::GetGenericWindowId
void * GetGenericWindowId() override
Definition: vtkRenderWindow.h:619
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:342
vtkOpenGLRenderWindow::CreateAWindow
virtual void CreateAWindow()=0
Create a not-off-screen window.
vtkOpenGLRenderWindow.h