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 "vtkRenderingOpenGLModule.h" // For export macro
33 #include "vtkOpenGLRenderWindow.h"
34 
35 class vtkIdList;
36 class vtkOSOpenGLRenderWindowInternal;
37 
38 class VTKRENDERINGOPENGL_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  virtual void Initialize(void);
67 
73  virtual void Finalize(void);
74 
78  virtual void SetFullScreen(int);
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();
92 
96  virtual int *GetPosition();
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(int 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(char *info);
210 
214  void SetNextWindowInfo(char *info);
215 
219  void SetParentInfo(char *info);
220 
224  void SetOffScreenRendering(int i);
225 
226 protected:
229 
230  vtkOSOpenGLRenderWindowInternal *Internal;
231 
234  int ScreenSize[2];
238 
239  void CreateAWindow();
240  void DestroyWindow();
241  void CreateOffScreenWindow(int width, int height);
242  void DestroyOffScreenWindow();
243  void ResizeOffScreenWindow(int width, int height);
244 
245 
246 private:
247  vtkOSOpenGLRenderWindow(const vtkOSOpenGLRenderWindow&) VTK_DELETE_FUNCTION;
248  void operator=(const vtkOSOpenGLRenderWindow&) VTK_DELETE_FUNCTION;
249 };
250 
251 
252 
253 #endif
vtkOpenGLRenderWindow::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
vtkRenderWindow::SetNextWindowInfo
virtual void SetNextWindowInfo(char *)=0
vtkOSOpenGLRenderWindow::ForceMakeCurrent
int ForceMakeCurrent
Definition: vtkOSOpenGLRenderWindow.h:236
vtkRenderWindow::Start
virtual void Start()=0
Initialize the rendering process.
vtkRenderWindow::SetStereoCapableWindow
virtual void SetStereoCapableWindow(int capable)
vtkOSOpenGLRenderWindow::Internal
vtkOSOpenGLRenderWindowInternal * Internal
Definition: vtkOSOpenGLRenderWindow.h:230
vtkRenderWindow::SetFullScreen
virtual void SetFullScreen(int)=0
Turn on/off rendering full screen window size.
vtkOSOpenGLRenderWindow::OwnWindow
int OwnWindow
Definition: vtkOSOpenGLRenderWindow.h:232
vtkOSOpenGLRenderWindow::CursorHidden
int CursorHidden
Definition: vtkOSOpenGLRenderWindow.h:235
vtkOpenGLRenderWindow::SupportsOpenGL
virtual int SupportsOpenGL()
Does this render window support OpenGL? 0-false, 1-true.
vtkRenderWindow::Finalize
virtual void Finalize()=0
Finalize the rendering process.
vtkRenderWindow::SetWindowInfo
virtual void SetWindowInfo(char *)=0
vtkWindow::GetScreenSize
virtual int * GetScreenSize()=0
Get the current size of the screen in pixels.
vtkRenderWindow::IsCurrent
virtual bool IsCurrent()=0
Tells if this window is the current graphics context for the calling thread.
vtkRenderWindow::SetForceMakeCurrent
virtual void SetForceMakeCurrent()
If called, allow MakeCurrent() to skip cache-check when called.
Definition: vtkRenderWindow.h:641
vtkRenderWindow::WindowRemap
virtual void WindowRemap()=0
Remap the rendering window.
vtkOSOpenGLRenderWindow::Capabilities
char * Capabilities
Definition: vtkOSOpenGLRenderWindow.h:237
vtkOSOpenGLRenderWindow::SetPosition
void SetPosition(int a[2])
Definition: vtkOSOpenGLRenderWindow.h:103
vtkX3D::height
@ height
Definition: vtkX3D.h:254
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:191
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkOSOpenGLRenderWindow
OffScreen Mesa rendering window.
Definition: vtkOSOpenGLRenderWindow.h:38
vtkIdList
list of point or cell ids
Definition: vtkIdList.h:36
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
vtkRenderWindow::SetCurrentCursor
virtual void SetCurrentCursor(int)
Change the shape of the cursor.
vtkRenderWindow::ReportCapabilities
virtual const char * ReportCapabilities()
Get report of capabilities for the render window.
Definition: vtkRenderWindow.h:646
vtkOSOpenGLRenderWindow::OwnDisplay
int OwnDisplay
Definition: vtkOSOpenGLRenderWindow.h:233
vtkOSOpenGLRenderWindow::GetGenericParentId
virtual void * GetGenericParentId()
Definition: vtkOSOpenGLRenderWindow.h:157
vtkRenderWindow::SetWindowId
virtual void SetWindowId(void *)=0
vtkWindow::GetPosition
virtual int * GetPosition()
Set/Get the position in screen coordinates of the rendering window.
vtkX3D::info
@ info
Definition: vtkX3D.h:376
vtkOSOpenGLRenderWindow::GetGenericDisplayId
virtual void * GetGenericDisplayId()
Xwindow get set functions.
Definition: vtkOSOpenGLRenderWindow.h:155
vtkRenderWindow::GetGenericWindowId
virtual void * GetGenericWindowId()=0
vtkOSOpenGLRenderWindow::ShowCursor
void ShowCursor()
Definition: vtkOSOpenGLRenderWindow.h:192
vtkRenderWindow::SetParentInfo
virtual void SetParentInfo(char *)=0
vtkRenderWindow::SetParentId
virtual void SetParentId(void *)=0
vtkRenderWindow::MakeCurrent
virtual void MakeCurrent()=0
Attempt to make this window the current graphics context for the calling thread.
vtkOSOpenGLRenderWindow::GetGenericDrawable
virtual void * GetGenericDrawable()
Definition: vtkOSOpenGLRenderWindow.h:159
vtkRenderWindow::GetGenericContext
virtual void * GetGenericContext()=0
vtkOpenGLRenderWindow::DestroyWindow
virtual void DestroyWindow()=0
Destroy a not-off-screen window.
vtkRenderWindow::IsDirect
virtual int IsDirect()
Is this render window using hardware acceleration? 0-false, 1-true.
Definition: vtkRenderWindow.h:656
vtkOpenGLRenderWindow
OpenGL rendering window.
Definition: vtkOpenGLRenderWindow.h:41
vtkWindow::SetPosition
virtual void SetPosition(int, int)
vtkRenderWindow::Frame
virtual void Frame()=0
A termination method performed at the end of the rendering process to do things like swapping buffers...
vtkRenderWindow::SetNextWindowId
virtual void SetNextWindowId(void *)=0
vtkRenderWindow::New
static vtkRenderWindow * New()
Construct an instance of vtkRenderWindow with its screen size set to 300x300, borders turned on,...
vtkWindow::SetOffScreenRendering
virtual void SetOffScreenRendering(int)
Create a window in memory instead of on the screen.
vtkRenderWindow::GetEventPending
virtual int GetEventPending()=0
Check to see if a mouse button has been pressed.
vtkOpenGLRenderWindow::Initialize
virtual void Initialize(void)
Initialize the rendering window.
Definition: vtkOpenGLRenderWindow.h:344
vtkOpenGLRenderWindow::CreateAWindow
virtual void CreateAWindow()=0
Create a not-off-screen window.
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
vtkOpenGLRenderWindow::SetSize
virtual void SetSize(int a[2])
Set the size of the window in screen coordinates in pixels.