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 =========================================================================*/
31 #ifndef __vtkOSOpenGLRenderWindow_h
32 #define __vtkOSOpenGLRenderWindow_h
33 
34 #include "vtkOpenGLRenderWindow.h"
35 
36 class vtkIdList;
37 class vtkOSOpenGLRenderWindowInternal;
38 
40 {
41 public:
42  static vtkOSOpenGLRenderWindow *New();
44  void PrintSelf(ostream& os, vtkIndent indent);
45 
47  virtual void Start(void);
48 
50  virtual void Frame(void);
51 
53  virtual void WindowInitialize(void);
54 
59  virtual void Initialize(void);
60 
65  virtual void Finalize(void);
66 
68  virtual void SetFullScreen(int);
69 
71 
72  virtual void SetSize(int x,int y);
73  virtual void SetSize(int a[2]) {this->SetSize(a[0], a[1]);};
75 
77  virtual int *GetScreenSize();
78 
80  virtual int *GetPosition();
81 
83 
84  void SetPosition(int x, int y);
85  void SetPosition(int a[2]) {this->SetPosition(a[0], a[1]);};
87 
92  virtual void SetStereoCapableWindow(int capable);
93 
95  void MakeCurrent();
96 
99  virtual bool IsCurrent();
100 
104  void SetForceMakeCurrent();
105 
107  const char *ReportCapabilities();
108 
110  int SupportsOpenGL();
111 
113  int IsDirect();
114 
116  virtual void WindowRemap(void);
117 
119 
120  virtual void *GetGenericDisplayId() {return 0;}
121  virtual void *GetGenericWindowId();
122  virtual void *GetGenericParentId() {return 0;}
123  virtual void *GetGenericContext();
124  virtual void *GetGenericDrawable() {return 0;}
126 
129  void SetDisplayId(void *) {}
130 
132  void SetParentId(void *);
133 
135  void SetWindowId(void *);
136 
139  void SetNextWindowId(void *);
140 
141  void SetWindowName(const char *);
142 
144 
146  void HideCursor() {}
147  void ShowCursor() {}
149 
151  virtual void SetCurrentCursor(int);
152 
156  virtual int GetEventPending();
157 
159  void SetWindowInfo(char *info);
160 
162  void SetNextWindowInfo(char *info);
163 
165  void SetParentInfo(char *info);
166 
168  void SetOffScreenRendering(int i);
169 
170 protected:
173 
174  vtkOSOpenGLRenderWindowInternal *Internal;
175 
178  int ScreenSize[2];
182 
183  void CreateAWindow();
184  void DestroyWindow();
185  void CreateOffScreenWindow(int width, int height);
186  void DestroyOffScreenWindow();
187  void ResizeOffScreenWindow(int width, int height);
188 
189 
190 private:
191  vtkOSOpenGLRenderWindow(const vtkOSOpenGLRenderWindow&); // Not implemented.
192  void operator=(const vtkOSOpenGLRenderWindow&); // Not implemented.
193 };
194 
195 
196 
197 #endif