VTK
vtkCocoaRenderWindow.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3 Program: Visualization Toolkit
4 Module: vtkCocoaRenderWindow.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 =========================================================================*/
42 #ifndef vtkCocoaRenderWindow_h
43 #define vtkCocoaRenderWindow_h
44 
45 #include "vtkRenderingOpenGL2Module.h" // For export macro
46 #include "vtkOpenGLRenderWindow.h"
47 
48 class VTKRENDERINGOPENGL2_EXPORT vtkCocoaRenderWindow : public vtkOpenGLRenderWindow
49 {
50 public:
53  void PrintSelf(ostream& os, vtkIndent indent);
54 
56  virtual void Start();
57 
59  virtual void Frame();
60 
62  virtual void WindowConfigure();
63 
67  virtual void Initialize();
68 
73  virtual void SetFullScreen(int);
74 
77  virtual void WindowRemap();
78 
81  virtual void PrefFullScreen();
82 
84 
85  virtual void SetSize(int a[2]);
86  virtual void SetSize(int,int);
88 
90  virtual int *GetSize();
91 
93 
94  virtual void SetPosition(int a[2]);
95  virtual void SetPosition(int,int);
97 
99  virtual int *GetScreenSize();
100 
102  virtual int *GetPosition();
103 
106  virtual void SetWindowName(const char *);
107 
108  void SetNextWindowInfo(char *)
109  {
110  vtkWarningMacro("SetNextWindowInfo not implemented (WindowRemap not implemented).");
111  }
112  virtual void* GetGenericDrawable()
113  {
114  vtkWarningMacro("Method not implemented.");
115  return 0;
116  }
117  virtual void SetDisplayId(void*)
118  {
119  vtkWarningMacro("Method not implemented.");
120  }
121  virtual void *GetGenericDisplayId()
122  {
123  vtkWarningMacro("Method not implemented.");
124  return 0;
125  }
126 
130  virtual void SetWindowInfo(char*);
131 
135  virtual void SetParentInfo(char*);
136 
137  void SetNextWindowId(void*)
138  {
139  vtkWarningMacro("SetNextWindowId not implemented (WindowRemap not implemented).");
140  }
141 
145 
147  virtual void StereoUpdate();
148 
153  virtual void SetStereoCapableWindow(int capable);
154 
156  virtual void MakeCurrent();
157 
160  virtual bool IsCurrent();
161 
166  virtual bool IsDrawable();
167 
170 
172  const char *ReportCapabilities();
173 
176 
178  int IsDirect();
179 
183  virtual void SetForceMakeCurrent();
184 
187  virtual int GetEventPending();
188 
190 
191  virtual void SetupPalette(void *hDC);
192  virtual void SetupPixelFormat(void *hDC, void *dwFlags, int debug,
193  int bpp=16, int zbpp=16);
195 
197  void Finalize();
198 
201 
203 
206  virtual void HideCursor();
207  virtual void ShowCursor();
208  virtual void SetCursorPosition(int x, int y);
210 
212  virtual void SetCurrentCursor(int);
213 
216  virtual int GetViewCreated();
217 
220  virtual int GetWindowCreated();
221 
223 
224  void SetContextId(void *);
225  void *GetContextId();
226  virtual void *GetGenericContext() {return this->GetContextId();}
228 
237  virtual void SetRootWindow(void *);
238 
240  virtual void *GetRootWindow();
241 
250  virtual void SetWindowId(void *);
251 
253 
254  virtual void *GetWindowId();
255  virtual void *GetGenericWindowId() {return this->GetWindowId();}
257 
262  virtual void SetParentId(void *nsview);
263 
265 
268  virtual void *GetParentId();
269  virtual void *GetGenericParentId() { return this->GetParentId(); }
271 
273 
275  void SetPixelFormat(void *pixelFormat);
276  void *GetPixelFormat();
278 
279 protected:
282 
284 
288 
289  int OffScreenInitialized;
290  int OnScreenInitialized;
291 
293 
295  void SetCocoaManager(void *manager);
298 
299  void SetCocoaServer(void *server); // Really a vtkCocoaServer*
300  void *GetCocoaServer();
301 
302 private:
303  vtkCocoaRenderWindow(const vtkCocoaRenderWindow&); // Not implemented.
304  void operator=(const vtkCocoaRenderWindow&); // Not implemented.
305 
306 private:
307  // Important: this class cannot contain Objective-C instance
308  // variables for 2 reasons:
309  // 1) C++ files include this header
310  // 2) because of garbage collection (the GC scanner does not scan objects create by C++'s new)
311  // Instead, use the CocoaManager dictionary to keep a collection
312  // of what would otherwise be Objective-C instance variables.
313  void *CocoaManager; // Really an NSMutableDictionary*
314 
315  int WindowCreated;
316  int ViewCreated;
317  int CursorHidden;
318 
319  int ForceMakeCurrent;
320  char *Capabilities;
321 };
322 
323 #endif
vtkCocoaRenderWindow::SetCocoaManager
void SetCocoaManager(void *manager)
vtkCocoaRenderWindow::~vtkCocoaRenderWindow
~vtkCocoaRenderWindow()
vtkCocoaRenderWindow::GetWindowId
virtual void * GetWindowId()
vtkCocoaRenderWindow::GetViewCreated
virtual int GetViewCreated()
vtkCocoaRenderWindow::SetParentId
virtual void SetParentId(void *nsview)
vtkCocoaRenderWindow::HideCursor
virtual void HideCursor()
vtkCocoaRenderWindow::Start
virtual void Start()
vtkCocoaRenderWindow::SetPixelFormat
void SetPixelFormat(void *pixelFormat)
vtkCocoaRenderWindow::CreateAWindow
void CreateAWindow()
vtkCocoaRenderWindow::SetWindowName
virtual void SetWindowName(const char *)
vtkCocoaRenderWindow::SetStereoCapableWindow
virtual void SetStereoCapableWindow(int capable)
vtkCocoaRenderWindow::GetWindowCreated
virtual int GetWindowCreated()
vtkCocoaRenderWindow::SetCocoaServer
void SetCocoaServer(void *server)
vtkTypeMacro
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:642
vtkCocoaRenderWindow::GetGenericDisplayId
virtual void * GetGenericDisplayId()
Definition: vtkCocoaRenderWindow.h:121
vtkCocoaRenderWindow::IsDrawable
virtual bool IsDrawable()
vtkgl::x
GLint GLint GLint GLint GLint x
Definition: vtkgl.h:11318
vtkCocoaRenderWindow::Frame
virtual void Frame()
vtkCocoaRenderWindow::CreateGLContext
void CreateGLContext()
vtkCocoaRenderWindow::SetupPixelFormat
virtual void SetupPixelFormat(void *hDC, void *dwFlags, int debug, int bpp=16, int zbpp=16)
vtkCocoaRenderWindow::GetEventPending
virtual int GetEventPending()
vtkCocoaRenderWindow::GetGenericParentId
virtual void * GetGenericParentId()
Definition: vtkCocoaRenderWindow.h:269
vtkCocoaRenderWindow::StereoUpdate
virtual void StereoUpdate()
vtkCocoaRenderWindow::SetWindowId
virtual void SetWindowId(void *)
vtkCocoaRenderWindow::GetGenericDrawable
virtual void * GetGenericDrawable()
Definition: vtkCocoaRenderWindow.h:112
vtkCocoaRenderWindow::GetDepthBufferSize
int GetDepthBufferSize()
vtkCocoaRenderWindow::SetSize
virtual void SetSize(int, int)
vtkCocoaRenderWindow::GetPixelFormat
void * GetPixelFormat()
vtkCocoaRenderWindow::MakeCurrent
virtual void MakeCurrent()
vtkCocoaRenderWindow::Finalize
void Finalize()
vtkCocoaRenderWindow::DestroyWindow
void DestroyWindow()
vtkOpenGLRenderWindow.h
vtkCocoaRenderWindow::New
static vtkCocoaRenderWindow * New()
vtkCocoaRenderWindow::GetGenericContext
virtual void * GetGenericContext()
Definition: vtkCocoaRenderWindow.h:226
vtkCocoaRenderWindow::IsDirect
int IsDirect()
vtkCocoaRenderWindow::SupportsOpenGL
int SupportsOpenGL()
vtkCocoaRenderWindow::SetCurrentCursor
virtual void SetCurrentCursor(int)
vtkCocoaRenderWindow::SetContextId
void SetContextId(void *)
vtkCocoaRenderWindow::IsCurrent
virtual bool IsCurrent()
vtkCocoaRenderWindow::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
vtkCocoaRenderWindow::SetFullScreen
virtual void SetFullScreen(int)
vtkCocoaRenderWindow::DestroyOffScreenWindow
void DestroyOffScreenWindow()
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkCocoaRenderWindow::UpdateContext
void UpdateContext()
vtkCocoaRenderWindow::WindowRemap
virtual void WindowRemap()
vtkCocoaRenderWindow::SetDisplayId
virtual void SetDisplayId(void *)
Definition: vtkCocoaRenderWindow.h:117
vtkCocoaRenderWindow::GetContextId
void * GetContextId()
vtkCocoaRenderWindow::GetPosition
virtual int * GetPosition()
vtkCocoaRenderWindow::InitializeFromCurrentContext
virtual bool InitializeFromCurrentContext()
vtkgl::a
GLboolean GLboolean GLboolean GLboolean a
Definition: vtkgl.h:12312
vtkCocoaRenderWindow::Initialize
virtual void Initialize()
vtkCocoaRenderWindow::SetNextWindowId
void SetNextWindowId(void *)
Definition: vtkCocoaRenderWindow.h:137
vtkCocoaRenderWindow::GetCocoaManager
void * GetCocoaManager()
vtkCocoaRenderWindow::SetWindowInfo
virtual void SetWindowInfo(char *)
vtkCocoaRenderWindow::ShowCursor
virtual void ShowCursor()
vtkCocoaRenderWindow
Cocoa OpenGL rendering window.
Definition: vtkCocoaRenderWindow.h:49
vtkCocoaRenderWindow::SetForceMakeCurrent
virtual void SetForceMakeCurrent()
vtkCocoaRenderWindow::ReportCapabilities
const char * ReportCapabilities()
vtkCocoaRenderWindow::GetCocoaServer
void * GetCocoaServer()
vtkCocoaRenderWindow::SetRootWindow
virtual void SetRootWindow(void *)
vtkCocoaRenderWindow::SetupPalette
virtual void SetupPalette(void *hDC)
vtkgl::y
GLint GLint GLint GLint GLint GLint y
Definition: vtkgl.h:11318
vtkCocoaRenderWindow::SetPosition
virtual void SetPosition(int, int)
vtkCocoaRenderWindow::SetCursorPosition
virtual void SetCursorPosition(int x, int y)
vtkCocoaRenderWindow::SetNextWindowInfo
void SetNextWindowInfo(char *)
Definition: vtkCocoaRenderWindow.h:108
vtkCocoaRenderWindow::SetPosition
virtual void SetPosition(int a[2])
vtkCocoaRenderWindow::GetScreenSize
virtual int * GetScreenSize()
vtkOpenGLRenderWindow
OpenGL rendering window.
Definition: vtkOpenGLRenderWindow.h:41
vtkCocoaRenderWindow::SetSize
virtual void SetSize(int a[2])
vtkCocoaRenderWindow::vtkCocoaRenderWindow
vtkCocoaRenderWindow()
vtkCocoaRenderWindow::GetSize
virtual int * GetSize()
vtkCocoaRenderWindow::WindowConfigure
virtual void WindowConfigure()
vtkWarningMacro
#define vtkWarningMacro(x)
Definition: vtkSetGet.h:471
vtkCocoaRenderWindow::PrefFullScreen
virtual void PrefFullScreen()
vtkCocoaRenderWindow::GetParentId
virtual void * GetParentId()
vtkCocoaRenderWindow::GetGenericWindowId
virtual void * GetGenericWindowId()
Definition: vtkCocoaRenderWindow.h:255
vtkCocoaRenderWindow::GetRootWindow
virtual void * GetRootWindow()
vtkCocoaRenderWindow::SetParentInfo
virtual void SetParentInfo(char *)