VTK
vtkCocoaRenderWindow.h
Go to the documentation of this file.
1/*=========================================================================
2
3Program: Visualization Toolkit
4Module: vtkCocoaRenderWindow.h
5
6Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7All rights reserved.
8See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9
10This software is distributed WITHOUT ANY WARRANTY; without even
11the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12PURPOSE. See the above copyright notice for more information.
13
14=========================================================================*/
43#ifndef vtkCocoaRenderWindow_h
44#define vtkCocoaRenderWindow_h
45
46#include "vtkRenderingOpenGLModule.h" // For export macro
48
49class VTKRENDERINGOPENGL_EXPORT vtkCocoaRenderWindow : public vtkOpenGLRenderWindow
50{
51public:
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
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
216
220 const char *ReportCapabilities();
221
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
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 GetViewCreated();
286
291 virtual int GetWindowCreated();
292
294
297 void SetContextId(void *);
299 virtual void *GetGenericContext() {return this->GetContextId();}
301
312 virtual void SetRootWindow(void *);
313
317 virtual void *GetRootWindow();
318
329 virtual void SetWindowId(void *);
330
334 virtual void *GetWindowId();
335 virtual void *GetGenericWindowId() {return this->GetWindowId();}
336
343 virtual void SetParentId(void *nsview);
344
350 virtual void *GetParentId();
351 virtual void *GetGenericParentId() { return this->GetParentId(); }
352
354
357 void SetPixelFormat(void *pixelFormat);
360
361protected:
364
366
370
373
375
379 void SetCocoaManager(void *manager);
382
383 void SetCocoaServer(void *server); // Really a vtkCocoaServer*
385
386private:
387 vtkCocoaRenderWindow(const vtkCocoaRenderWindow&) VTK_DELETE_FUNCTION;
388 void operator=(const vtkCocoaRenderWindow&) VTK_DELETE_FUNCTION;
389
390private:
391 // Important: this class cannot contain Objective-C instance
392 // variables for 2 reasons:
393 // 1) C++ files include this header
394 // 2) because of garbage collection (the GC scanner does not scan objects create by C++'s new)
395 // Instead, use the CocoaManager dictionary to keep a collection
396 // of what would otherwise be Objective-C instance variables.
397 void *CocoaManager; // Really an NSMutableDictionary*
398
399 int WindowCreated;
400 int ViewCreated;
401 int CursorHidden;
402
403 int ForceMakeCurrent;
404 char *Capabilities;
405};
406
407#endif
Cocoa OpenGL rendering window.
virtual void SetRootWindow(void *)
Sets the NSWindow* associated with this vtkRenderWindow.
virtual void * GetGenericDrawable()
virtual void SetStereoCapableWindow(int capable)
Prescribe that the window be created in a stereo-capable mode.
virtual void * GetGenericWindowId()
virtual void SetSize(int, int)
virtual void * GetParentId()
Get the parent NSView* for this vtkRenderWindow.
const char * ReportCapabilities()
Get report of capabilities for the render window.
int GetDepthBufferSize()
Get the size of the depth buffer.
virtual int GetEventPending()
Check to see if an event is pending for this window.
virtual void SetSize(int a[2])
Set the size of the window in pixels.
virtual void SetDisplayId(void *)
Dummy stubs for vtkWindow API.
void SetCocoaServer(void *server)
void SetCocoaManager(void *manager)
Accessors for the cocoa manager (Really an NSMutableDictionary*).
virtual void Frame()
Finish the rendering process.
virtual int * GetScreenSize()
Get the current size of the screen in pixels.
void Finalize()
Clean up device contexts, rendering contexts, etc.
virtual void MakeCurrent()
Make this windows OpenGL context the current context.
virtual void StereoUpdate()
Update system if needed due to stereo rendering.
virtual void WindowRemap()
Remap the window.
virtual void ShowCursor()
virtual void * GetGenericContext()
virtual void * GetGenericDisplayId()
virtual 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...
virtual void SetFullScreen(int)
Change the window to fill the entire screen.
void SetPixelFormat(void *pixelFormat)
Accessors for the pixel format object (Really an NSOpenGLPixelFormat*).
virtual void SetPosition(int a[2])
Set the position of the window.
virtual int * GetSize()
Get the current size of the window in pixels.
virtual void * GetGenericParentId()
virtual void SetCursorPosition(int x, int y)
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
virtual void * GetWindowId()
Returns the NSView* associated with this vtkRenderWindow.
virtual bool IsCurrent()
Tells if this window is the current OpenGL context for the calling thread.
int SupportsOpenGL()
Does this render window support OpenGL? 0-false, 1-true.
virtual int * GetPosition()
Get the position in screen coordinates of the window.
void DestroyWindow()
Destroy a not-off-screen window.
virtual void SetupPixelFormat(void *hDC, void *dwFlags, int debug, int bpp=16, int zbpp=16)
virtual int GetViewCreated()
Get the ViewCreated flag.
virtual bool IsDrawable()
Test if the window has a valid drawable.
virtual void SetWindowInfo(char *)
Set this RenderWindow's window id to a pre-existing window.
virtual bool InitializeFromCurrentContext()
Initialize the render window from the information associated with the currently activated OpenGL cont...
virtual void SetCurrentCursor(int)
Change the shape of the cursor.
virtual void SetWindowName(const char *)
Set the name of the window.
virtual void * GetRootWindow()
Returns the NSWindow* associated with this vtkRenderWindow.
void CreateAWindow()
Create a not-off-screen window.
virtual void SetParentInfo(char *)
See the documenation for SetParentId().
virtual void SetWindowId(void *)
Sets the NSView* associated with this vtkRenderWindow.
virtual int GetWindowCreated()
Get the WindowCreated flag.
static vtkCocoaRenderWindow * New()
virtual void Initialize()
Initialize the window for rendering.
virtual void SetForceMakeCurrent()
If called, allow MakeCurrent() to skip cache-check when called.
void SetContextId(void *)
Accessors for the OpenGL context (Really an NSOpenGLContext*).
int IsDirect()
Is this render window using hardware acceleration? 0-false, 1-true.
virtual void SetPosition(int, int)
virtual void SetParentId(void *nsview)
Set the NSView* for the vtkRenderWindow to be parented within.
void UpdateContext()
Update this window's OpenGL context, e.g.
virtual void PrefFullScreen()
Set the preferred window size to full screen.
virtual void Start()
Begin the rendering process.
virtual void SetupPalette(void *hDC)
Initialize OpenGL for this window.
virtual void WindowConfigure()
Specify various window parameters.
a simple class to control print indentation
Definition: vtkIndent.h:40
OpenGL rendering window.