VTK
vtkIOSRenderWindow.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3 Program: Visualization Toolkit
4 Module: vtkIOSRenderWindow.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 =========================================================================*/
43 #ifndef vtkIOSRenderWindow_h
44 #define vtkIOSRenderWindow_h
45 
46 #include "vtkRenderingOpenGL2Module.h" // For export macro
47 #include "vtkOpenGLRenderWindow.h"
48 
49 class VTKRENDERINGOPENGL2_EXPORT vtkIOSRenderWindow : public vtkOpenGLRenderWindow
50 {
51 public:
52  static vtkIOSRenderWindow *New();
54  void PrintSelf(ostream& os, vtkIndent indent);
55 
59  virtual void Start();
60 
64  virtual void Frame();
65 
69  virtual void WindowConfigure();
70 
79  virtual void Initialize();
80 
87  virtual void SetFullScreen(int);
88 
92  virtual void WindowRemap();
93 
98  virtual void PrefFullScreen();
99 
101 
104  virtual void SetSize(int a[2]);
105  virtual void SetSize(int,int);
107 
111  virtual int *GetSize();
112 
114 
117  virtual void SetPosition(int a[2]);
118  virtual void SetPosition(int,int);
120 
124  virtual int *GetScreenSize();
125 
129  virtual int *GetPosition();
130 
135  virtual void SetWindowName(const char *);
136 
137  void SetNextWindowInfo(char *)
138  {
139  vtkWarningMacro("SetNextWindowInfo not implemented (WindowRemap not implemented).");
140  }
141  virtual void* GetGenericDrawable()
142  {
143  vtkWarningMacro("Method not implemented.");
144  return 0;
145  }
146  virtual void SetDisplayId(void*)
147  {
148  vtkWarningMacro("Method not implemented.");
149  }
150  virtual void *GetGenericDisplayId()
151  {
152  vtkWarningMacro("Method not implemented.");
153  return 0;
154  }
155 
161  virtual void SetWindowInfo(char*);
162 
168  virtual void SetParentInfo(char*);
169 
170  void SetNextWindowId(void*)
171  {
172  vtkWarningMacro("SetNextWindowId not implemented (WindowRemap not implemented).");
173  }
174 
179  virtual bool InitializeFromCurrentContext();
180 
184  virtual void StereoUpdate();
185 
192  virtual void SetStereoCapableWindow(int capable);
193 
197  virtual void MakeCurrent();
198 
202  virtual bool IsCurrent();
203 
210  virtual bool IsDrawable();
211 
215  void UpdateContext();
216 
220  const char *ReportCapabilities();
221 
225  int SupportsOpenGL();
226 
230  int IsDirect();
231 
237  virtual void SetForceMakeCurrent();
238 
243  virtual int GetEventPending();
244 
246 
249  virtual void SetupPalette(void *hDC);
250  virtual void SetupPixelFormat(void *hDC, void *dwFlags, int debug,
251  int bpp=16, int zbpp=16);
253 
257  void Finalize();
258 
262  int GetDepthBufferSize();
263 
265 
271  virtual void HideCursor();
272  virtual void ShowCursor();
273  virtual void SetCursorPosition(int x, int y);
275 
279  virtual void SetCurrentCursor(int);
280 
285  virtual int GetWindowCreated();
286 
288 
291  void SetContextId(void *);
292  void *GetContextId();
293  virtual void *GetGenericContext() {return this->GetContextId();}
295 
306  virtual void SetRootWindow(void *);
307 
311  virtual void *GetRootWindow();
312 
323  virtual void SetWindowId(void *);
324 
328  virtual void *GetWindowId();
329  virtual void *GetGenericWindowId() {return this->GetWindowId();}
330 
337  virtual void SetParentId(void *UIView);
338 
344  virtual void *GetParentId();
345  virtual void *GetGenericParentId() { return this->GetParentId(); }
346 
348 
351  void SetPixelFormat(void *pixelFormat);
352  void *GetPixelFormat();
354 
355 protected:
358 
359  void CreateGLContext();
360 
361  void CreateAWindow();
362  void DestroyWindow();
363  void DestroyOffScreenWindow();
364 
367 
368  // IOS seems to have issues with getting RGB data
369  virtual int GetPixelData(int x, int y, int x2, int y2, int front, unsigned char* data);
370 
371 private:
372  vtkIOSRenderWindow(const vtkIOSRenderWindow&) VTK_DELETE_FUNCTION;
373  void operator=(const vtkIOSRenderWindow&) VTK_DELETE_FUNCTION;
374 
375 private:
376  int WindowCreated;
377  int ViewCreated;
378  int CursorHidden;
379 
380  int ForceMakeCurrent;
381  char *Capabilities;
382 };
383 
384 #endif
OpenGL rendering window.
virtual void Finalize()=0
Finalize the rendering process.
virtual void SetForceMakeCurrent()
If called, allow MakeCurrent() to skip cache-check when called.
virtual void SetWindowInfo(char *)=0
Dummy stubs for vtkWindow API.
virtual void WindowRemap()=0
Remap the rendering window.
virtual void * GetGenericParentId()
Dummy stubs for vtkWindow API.
virtual void * GetGenericContext()
Accessors for the OpenGL context (Really an NSOpenGLContext*).
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
virtual void HideCursor()=0
Hide or Show the mouse cursor, it is nice to be able to hide the default cursor if you want VTK to di...
void SetNextWindowInfo(char *)
Dummy stubs for vtkWindow API.
static vtkRenderWindow * New()
Construct an instance of vtkRenderWindow with its screen size set to 300x300, borders turned on...
virtual int * GetScreenSize()=0
Get the current size of the screen in pixels.
virtual void SetWindowId(void *)=0
Dummy stubs for vtkWindow API.
virtual void SetCurrentCursor(int)
Change the shape of the cursor.
virtual void SetDisplayId(void *)
Dummy stubs for vtkWindow API.
virtual void SetSize(int a[2])
Set the size of the window in screen coordinates in pixels.
virtual void SetFullScreen(int)=0
Turn on/off rendering full screen window size.
virtual int GetEventPending()=0
Check to see if a mouse button has been pressed.
virtual void SetStereoCapableWindow(int capable)
Prescribe that the window be created in a stereo-capable mode.
virtual const char * ReportCapabilities()
Get report of capabilities for the render window.
virtual int IsDirect()
Is this render window using hardware acceleration? 0-false, 1-true.
virtual void SetParentInfo(char *)=0
Dummy stubs for vtkWindow API.
virtual void * GetGenericDisplayId()
Dummy stubs for vtkWindow API.
virtual bool IsCurrent()=0
Tells if this window is the current graphics context for the calling thread.
virtual void SetParentId(void *)=0
Dummy stubs for vtkWindow API.
a simple class to control print indentation
Definition: vtkIndent.h:39
virtual void DestroyWindow()=0
Destroy a not-off-screen window.
virtual void MakeCurrent()=0
Attempt to make this window the current graphics context for the calling thread.
virtual unsigned char * GetPixelData(int x, int y, int x2, int y2, int front)
Set/Get the pixel data of an image, transmitted as RGBRGB...
virtual void SetCursorPosition(int, int)
Hide or Show the mouse cursor, it is nice to be able to hide the default cursor if you want VTK to di...
virtual int * GetPosition()
Set/Get the position in screen coordinates of the rendering window.
virtual void Frame()=0
A termination method performed at the end of the rendering process to do things like swapping buffers...
virtual int * GetSize()
Set/Get the size of the window in screen coordinates in pixels.
virtual bool InitializeFromCurrentContext()
Initialize the render window from the information associated with the currently activated OpenGL cont...
virtual void Start()=0
Initialize the rendering process.
IOS OpenGL rendering window.
virtual void SetWindowName(const char *)
Get name of rendering window.
int GetDepthBufferSize()
Get the size of the depth buffer.
virtual void SetPosition(int, int)
Set/Get the position in screen coordinates of the rendering window.
void SetNextWindowId(void *)
Dummy stubs for vtkWindow API.
virtual void StereoUpdate()
Update system if needed due to stereo rendering.
virtual void Initialize(void)
Initialize the rendering window.
virtual void CreateAWindow()=0
Create a not-off-screen window.
virtual int SupportsOpenGL()
Does this render window support OpenGL? 0-false, 1-true.
virtual void ShowCursor()=0
Hide or Show the mouse cursor, it is nice to be able to hide the default cursor if you want VTK to di...
virtual void * GetGenericDrawable()
Dummy stubs for vtkWindow API.
virtual bool IsDrawable()
Test if the window has a valid drawable.
virtual void * GetGenericWindowId()
Dummy stubs for vtkWindow API.