VTK  9.3.0
vtkOSOpenGLRenderWindow.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
17 #ifndef vtkOSOpenGLRenderWindow_h
18 #define vtkOSOpenGLRenderWindow_h
19 
20 #include "vtkOpenGLRenderWindow.h"
21 #include "vtkRenderingOpenGL2Module.h" // For export macro
22 
23 VTK_ABI_NAMESPACE_BEGIN
24 class vtkIdList;
25 class vtkOSOpenGLRenderWindowInternal;
26 
27 class VTKRENDERINGOPENGL2_EXPORT vtkOSOpenGLRenderWindow : public vtkOpenGLRenderWindow
28 {
29 public:
32  void PrintSelf(ostream& os, vtkIndent indent);
33 
37  virtual void Frame();
38 
42  virtual void WindowInitialize();
43 
50  void Initialize() override;
51 
57  virtual void Finalize();
58 
62  virtual void SetFullScreen(vtkTypeBool);
63 
65 
72  void SetSize(int width, int height) override;
73  void SetSize(int a[2]) override { this->SetSize(a[0], a[1]); }
75 
80  int* GetScreenSize() VTK_SIZEHINT(2) override;
81 
86  int* GetPosition() VTK_SIZEHINT(2) override;
87 
89 
92  void SetPosition(int x, int y) override;
93  void SetPosition(int a[2]) override { this->SetPosition(a[0], a[1]); }
95 
102  virtual void SetStereoCapableWindow(vtkTypeBool capable);
103 
107  void MakeCurrent();
108 
112  virtual bool IsCurrent();
113 
120 
124  const char* ReportCapabilities();
125 
130 
135 
139  virtual void WindowRemap();
140 
142 
145  virtual void* GetGenericDisplayId() { return 0; }
146  virtual void* GetGenericWindowId();
147  virtual void* GetGenericParentId() { return 0; }
148  virtual void* GetGenericContext();
149  virtual void* GetGenericDrawable() { return 0; }
151 
156  void SetDisplayId(void*) {}
157 
161  void SetParentId(void*);
162 
166  void SetWindowId(void*);
167 
173  void SetNextWindowId(void*);
174 
175  void SetWindowName(const char*);
176 
181  void HideCursor() {}
182  void ShowCursor() {}
183 
190 
194  void SetWindowInfo(const char* info);
195 
199  void SetNextWindowInfo(const char* info);
200 
204  void SetParentInfo(const char* info);
205 
206 protected:
209 
210  vtkOSOpenGLRenderWindowInternal* Internal;
211 
216 
217  void CreateAWindow() override;
218  void DestroyWindow() override;
219  void CreateOffScreenWindow(int width, int height);
221  void ResizeOffScreenWindow(int width, int height);
222 
223 private:
225  void operator=(const vtkOSOpenGLRenderWindow&) = delete;
226 };
227 
228 VTK_ABI_NAMESPACE_END
229 #endif
list of point or cell ids
Definition: vtkIdList.h:32
a simple class to control print indentation
Definition: vtkIndent.h:38
OffScreen Mesa rendering window.
virtual bool IsCurrent()
Tells if this window is the current OpenGL context for the calling thread.
virtual void WindowInitialize()
Initialize the window for rendering.
int SupportsOpenGL()
Does this render window support OpenGL? 0-false, 1-true.
void SetSize(int a[2]) override
Set the size of the window in screen coordinates in pixels.
virtual void SetFullScreen(vtkTypeBool)
Change the window to fill the entire screen.
void SetNextWindowInfo(const char *info)
Set the window info that will be used after WindowRemap()
virtual void * GetGenericContext()
Xwindow get set functions.
vtkOSOpenGLRenderWindowInternal * Internal
~vtkOSOpenGLRenderWindow() override
void SetWindowId(void *)
Set this RenderWindow's X window id to a pre-existing window.
virtual void * GetGenericParentId()
Xwindow get set functions.
vtkTypeBool IsDirect()
Is this render window using hardware acceleration? 0-false, 1-true.
virtual vtkTypeBool GetEventPending()
Check to see if a mouse button has been pressed.
void Initialize() override
Initialize the rendering window.
void CreateAWindow() override
Create a not-off-screen window.
void SetWindowName(const char *)
Get name of rendering window.
void CreateOffScreenWindow(int width, int height)
void SetParentId(void *)
Sets the parent of the window that WILL BE created.
void SetNextWindowId(void *)
Set the window id of the new window once a WindowRemap is done.
void SetSize(int width, int height) override
Set the size of the window in screen coordinates in pixels.
virtual void WindowRemap()
Resize the window.
void SetPosition(int a[2]) override
Move the window to a new position on the display.
const char * ReportCapabilities()
Get report of capabilities for the render window.
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
virtual void * GetGenericDisplayId()
Xwindow get set functions.
void DestroyWindow() override
Destroy a not-off-screen window.
virtual void Finalize()
"Deinitialize" the rendering window.
virtual void * GetGenericWindowId()
Xwindow get set functions.
virtual void SetStereoCapableWindow(vtkTypeBool capable)
Prescribe that the window be created in a stereo-capable mode.
static vtkOSOpenGLRenderWindow * New()
void SetDisplayId(void *)
Set the X display id for this RenderWindow to use to a pre-existing X display id.
void SetWindowInfo(const char *info)
Set this RenderWindow's X window id to a pre-existing window.
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...
int * GetScreenSize() override
Get the current size of the screen in pixels.
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 SetForceMakeCurrent()
If called, allow MakeCurrent() to skip cache-check when called.
void MakeCurrent()
Make this window the current OpenGL context.
void SetParentInfo(const char *info)
Sets the X window id of the window that WILL BE created.
void ResizeOffScreenWindow(int width, int height)
virtual void Frame()
End the rendering process and display the image.
virtual void * GetGenericDrawable()
Xwindow get set functions.
OpenGL rendering window.
@ info
Definition: vtkX3D.h:376
@ height
Definition: vtkX3D.h:254
int vtkTypeBool
Definition: vtkABI.h:64
#define VTK_SIZEHINT(...)