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:
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 
130 
134  const char *ReportCapabilities();
135 
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);
242  void ResizeOffScreenWindow(int width, int height);
243 
244 
245 private:
247  void operator=(const vtkOSOpenGLRenderWindow&) = delete;
248 };
249 
250 
251 
252 #endif
vtkOSOpenGLRenderWindow::SetCurrentCursor
virtual void SetCurrentCursor(int)
Change the shape of the cursor.
vtkOSOpenGLRenderWindow::SetForceMakeCurrent
void SetForceMakeCurrent()
If called, allow MakeCurrent() to skip cache-check when called.
vtkOSOpenGLRenderWindow::ForceMakeCurrent
int ForceMakeCurrent
Definition: vtkOSOpenGLRenderWindow.h:236
vtkOSOpenGLRenderWindow::WindowRemap
virtual void WindowRemap(void)
Resize the window.
vtkOSOpenGLRenderWindow::Initialize
void Initialize(void) override
Initialize the rendering window.
vtkOSOpenGLRenderWindow::Finalize
virtual void Finalize(void)
"Deinitialize" the rendering window.
vtkOSOpenGLRenderWindow::MakeCurrent
void MakeCurrent()
Make this window the current OpenGL context.
vtkOSOpenGLRenderWindow::SetParentInfo
void SetParentInfo(const char *info)
Sets the X window id of the window that WILL BE created.
vtkOSOpenGLRenderWindow::~vtkOSOpenGLRenderWindow
~vtkOSOpenGLRenderWindow()
vtkOSOpenGLRenderWindow::GetEventPending
virtual int GetEventPending()
Check to see if a mouse button has been pressed.
vtkOSOpenGLRenderWindow::DestroyOffScreenWindow
void DestroyOffScreenWindow()
vtkOSOpenGLRenderWindow::GetGenericWindowId
virtual void * GetGenericWindowId()
vtkOSOpenGLRenderWindow::SetWindowInfo
void SetWindowInfo(const char *info)
Set this RenderWindow's X window id to a pre-existing window.
vtkOSOpenGLRenderWindow::Start
virtual void Start(void)
Begin the rendering process.
vtkOSOpenGLRenderWindow::SetFullScreen
virtual void SetFullScreen(vtkTypeBool)
Change the window to fill the entire screen.
vtkOSOpenGLRenderWindow::OwnWindow
int OwnWindow
Definition: vtkOSOpenGLRenderWindow.h:232
vtkOSOpenGLRenderWindow::CursorHidden
int CursorHidden
Definition: vtkOSOpenGLRenderWindow.h:235
vtkOSOpenGLRenderWindow::Internal
vtkOSOpenGLRenderWindowInternal * Internal
Definition: vtkOSOpenGLRenderWindow.h:230
vtkOSOpenGLRenderWindow::SupportsOpenGL
int SupportsOpenGL()
Does this render window support OpenGL? 0-false, 1-true.
vtkOSOpenGLRenderWindow::vtkOSOpenGLRenderWindow
vtkOSOpenGLRenderWindow()
vtkOSOpenGLRenderWindow::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
vtkOSOpenGLRenderWindow::SetWindowId
void SetWindowId(void *)
Set this RenderWindow's X window id to a pre-existing window.
vtkOSOpenGLRenderWindow::SetPosition
void SetPosition(int a[2])
Definition: vtkOSOpenGLRenderWindow.h:103
VTK_SIZEHINT
#define VTK_SIZEHINT(...)
Definition: vtkWrappingHints.h:42
vtkOSOpenGLRenderWindow::IsCurrent
virtual bool IsCurrent()
Tells if this window is the current OpenGL context for the calling thread.
vtkX3D::height
@ height
Definition: vtkX3D.h:254
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:191
vtkOSOpenGLRenderWindow::DestroyWindow
void DestroyWindow() override
Destroy a not-off-screen window.
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:40
vtkOSOpenGLRenderWindow::SetOffScreenRendering
void SetOffScreenRendering(vtkTypeBool i)
Render without displaying the window.
vtkOSOpenGLRenderWindow::SetSize
virtual void SetSize(int x, int y)
Specify the size of the rendering window in pixels.
vtkOSOpenGLRenderWindow
OffScreen Mesa rendering window.
Definition: vtkOSOpenGLRenderWindow.h:39
vtkIdList
list of point or cell ids
Definition: vtkIdList.h:37
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:166
vtkOSOpenGLRenderWindow::GetGenericContext
virtual void * GetGenericContext()
vtkOSOpenGLRenderWindow::GetScreenSize
virtual int * GetScreenSize()
Get the current size of the screen in pixels.
vtkOSOpenGLRenderWindow::OwnDisplay
int OwnDisplay
Definition: vtkOSOpenGLRenderWindow.h:233
vtkOSOpenGLRenderWindow::GetGenericParentId
virtual void * GetGenericParentId()
Definition: vtkOSOpenGLRenderWindow.h:157
vtkOSOpenGLRenderWindow::CreateAWindow
void CreateAWindow() override
Create a not-off-screen window.
vtkX3D::info
@ info
Definition: vtkX3D.h:376
vtkOSOpenGLRenderWindow::GetGenericDisplayId
virtual void * GetGenericDisplayId()
Xwindow get set functions.
Definition: vtkOSOpenGLRenderWindow.h:155
vtkOSOpenGLRenderWindow::ShowCursor
void ShowCursor()
Definition: vtkOSOpenGLRenderWindow.h:192
vtkOSOpenGLRenderWindow::ResizeOffScreenWindow
void ResizeOffScreenWindow(int width, int height)
vtkOSOpenGLRenderWindow::SetNextWindowId
void SetNextWindowId(void *)
Set the window id of the new window once a WindowRemap is done.
vtkOSOpenGLRenderWindow::GetGenericDrawable
virtual void * GetGenericDrawable()
Definition: vtkOSOpenGLRenderWindow.h:159
vtkOSOpenGLRenderWindow::SetWindowName
void SetWindowName(const char *)
vtkOSOpenGLRenderWindow::CreateOffScreenWindow
void CreateOffScreenWindow(int width, int height)
vtkOSOpenGLRenderWindow::SetParentId
void SetParentId(void *)
Sets the parent of the window that WILL BE created.
vtkOpenGLRenderWindow
OpenGL rendering window.
Definition: vtkOpenGLRenderWindow.h:54
vtkOSOpenGLRenderWindow::Frame
virtual void Frame(void)
End the rendering process and display the image.
vtkOSOpenGLRenderWindow::SetStereoCapableWindow
virtual void SetStereoCapableWindow(vtkTypeBool capable)
Prescribe that the window be created in a stereo-capable mode.
vtkOSOpenGLRenderWindow::IsDirect
int IsDirect()
Is this render window using hardware acceleration? 0-false, 1-true.
vtkTypeBool
int vtkTypeBool
Definition: vtkABI.h:69
vtkOSOpenGLRenderWindow::WindowInitialize
virtual void WindowInitialize(void)
Initialize the window for rendering.
vtkOSOpenGLRenderWindow::New
static vtkOSOpenGLRenderWindow * New()
vtkOSOpenGLRenderWindow::SetNextWindowInfo
void SetNextWindowInfo(const char *info)
Set the window info that will be used after WindowRemap()
vtkOpenGLRenderWindow.h
vtkOSOpenGLRenderWindow::SetSize
virtual void SetSize(int a[2])
Set the size of the window in screen coordinates in pixels.
Definition: vtkOSOpenGLRenderWindow.h:85
vtkOSOpenGLRenderWindow::ReportCapabilities
const char * ReportCapabilities()
Get report of capabilities for the render window.