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
vtkOpenGLRenderWindow::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
vtkRenderWindow::Start
virtual void Start()=0
Initialize the rendering process.
vtkIOSRenderWindow::GetGenericWindowId
virtual void * GetGenericWindowId()
Definition: vtkIOSRenderWindow.h:329
vtkIOSRenderWindow::SetNextWindowInfo
void SetNextWindowInfo(char *)
Definition: vtkIOSRenderWindow.h:137
vtkRenderWindow::SetStereoCapableWindow
virtual void SetStereoCapableWindow(int capable)
vtkIOSRenderWindow::GetGenericParentId
virtual void * GetGenericParentId()
Definition: vtkIOSRenderWindow.h:345
vtkIOSRenderWindow::SetNextWindowId
void SetNextWindowId(void *)
Definition: vtkIOSRenderWindow.h:170
vtkRenderWindow::ShowCursor
virtual void ShowCursor()=0
vtkX3D::data
Definition: vtkX3D.h:315
vtkRenderWindow::SetFullScreen
virtual void SetFullScreen(int)=0
Turn on/off rendering full screen window size.
vtkWindow::GetSize
virtual int * GetSize()
Set/Get the size of the window in screen coordinates in pixels.
vtkIOSRenderWindow::OffScreenInitialized
int OffScreenInitialized
Definition: vtkIOSRenderWindow.h:365
vtkOpenGLRenderWindow::SupportsOpenGL
virtual int SupportsOpenGL()
Does this render window support OpenGL? 0-false, 1-true.
vtkRenderWindow::HideCursor
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...
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.
vtkOpenGLRenderWindow.h
vtkWindow::SetWindowName
virtual void SetWindowName(const char *)
vtkOpenGLRenderWindow::GetPixelData
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...
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkIOSRenderWindow::GetGenericDisplayId
virtual void * GetGenericDisplayId()
Definition: vtkIOSRenderWindow.h:150
vtkOpenGLRenderWindow::StereoUpdate
virtual void StereoUpdate()
Update system if needed due to stereo rendering.
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
vtkIOSRenderWindow::GetGenericContext
virtual void * GetGenericContext()
Definition: vtkIOSRenderWindow.h:293
vtkIOSRenderWindow::SetDisplayId
virtual void SetDisplayId(void *)
Dummy stubs for vtkWindow API.
Definition: vtkIOSRenderWindow.h:146
vtkRenderWindow::SetWindowId
virtual void SetWindowId(void *)=0
vtkWindow::GetPosition
virtual int * GetPosition()
Set/Get the position in screen coordinates of the rendering window.
vtkRenderWindow::SetCursorPosition
virtual void SetCursorPosition(int, int)
Definition: vtkRenderWindow.h:195
vtkRenderWindow::SetParentInfo
virtual void SetParentInfo(char *)=0
vtkRenderWindow::IsDrawable
virtual bool IsDrawable()
Test if the window has a valid drawable.
Definition: vtkRenderWindow.h:634
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.
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:38
vtkOpenGLRenderWindow::GetDepthBufferSize
int GetDepthBufferSize()
Get the size of the depth buffer.
vtkRenderWindow::InitializeFromCurrentContext
virtual bool InitializeFromCurrentContext()
Initialize the render window from the information associated with the currently activated OpenGL cont...
Definition: vtkRenderWindow.h:614
vtkIOSRenderWindow::OnScreenInitialized
int OnScreenInitialized
Definition: vtkIOSRenderWindow.h:366
vtkIOSRenderWindow::GetGenericDrawable
virtual void * GetGenericDrawable()
Definition: vtkIOSRenderWindow.h:141
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::New
static vtkRenderWindow * New()
Construct an instance of vtkRenderWindow with its screen size set to 300x300, borders turned on,...
vtkIOSRenderWindow
IOS OpenGL rendering window.
Definition: vtkIOSRenderWindow.h:49
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:347
vtkOpenGLRenderWindow::CreateAWindow
virtual void CreateAWindow()=0
Create a not-off-screen window.
vtkOpenGLRenderWindow::SetSize
virtual void SetSize(int a[2])
Set the size of the window in screen coordinates in pixels.