VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkIOSRenderWindow.h 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00042 #ifndef vtkIOSRenderWindow_h 00043 #define vtkIOSRenderWindow_h 00044 00045 #include "vtkRenderingOpenGL2Module.h" // For export macro 00046 #include "vtkOpenGLRenderWindow.h" 00047 00048 class VTKRENDERINGOPENGL2_EXPORT vtkIOSRenderWindow : public vtkOpenGLRenderWindow 00049 { 00050 public: 00051 static vtkIOSRenderWindow *New(); 00052 vtkTypeMacro(vtkIOSRenderWindow,vtkOpenGLRenderWindow); 00053 void PrintSelf(ostream& os, vtkIndent indent); 00054 00056 virtual void Start(); 00057 00059 virtual void Frame(); 00060 00062 virtual void WindowConfigure(); 00063 00067 virtual void Initialize(); 00068 00073 virtual void SetFullScreen(int); 00074 00077 virtual void WindowRemap(); 00078 00081 virtual void PrefFullScreen(); 00082 00084 00085 virtual void SetSize(int a[2]); 00086 virtual void SetSize(int,int); 00088 00090 virtual int *GetSize(); 00091 00093 00094 virtual void SetPosition(int a[2]); 00095 virtual void SetPosition(int,int); 00097 00099 virtual int *GetScreenSize(); 00100 00102 virtual int *GetPosition(); 00103 00106 virtual void SetWindowName(const char *); 00107 00108 void SetNextWindowInfo(char *) 00109 { 00110 vtkWarningMacro("SetNextWindowInfo not implemented (WindowRemap not implemented)."); 00111 } 00112 virtual void* GetGenericDrawable() 00113 { 00114 vtkWarningMacro("Method not implemented."); 00115 return 0; 00116 } 00117 virtual void SetDisplayId(void*) 00118 { 00119 vtkWarningMacro("Method not implemented."); 00120 } 00121 virtual void *GetGenericDisplayId() 00122 { 00123 vtkWarningMacro("Method not implemented."); 00124 return 0; 00125 } 00126 00130 virtual void SetWindowInfo(char*); 00131 00135 virtual void SetParentInfo(char*); 00136 00137 void SetNextWindowId(void*) 00138 { 00139 vtkWarningMacro("SetNextWindowId not implemented (WindowRemap not implemented)."); 00140 } 00141 00144 virtual bool InitializeFromCurrentContext(); 00145 00147 virtual void StereoUpdate(); 00148 00153 virtual void SetStereoCapableWindow(int capable); 00154 00156 virtual void MakeCurrent(); 00157 00160 virtual bool IsCurrent(); 00161 00165 virtual bool IsDrawable(); 00166 00168 void UpdateContext(); 00169 00171 const char *ReportCapabilities(); 00172 00174 int SupportsOpenGL(); 00175 00177 int IsDirect(); 00178 00182 virtual void SetForceMakeCurrent(); 00183 00186 virtual int GetEventPending(); 00187 00189 00190 virtual void SetupPalette(void *hDC); 00191 virtual void SetupPixelFormat(void *hDC, void *dwFlags, int debug, 00192 int bpp=16, int zbpp=16); 00194 00196 void Finalize(); 00197 00199 int GetDepthBufferSize(); 00200 00202 00205 virtual void HideCursor(); 00206 virtual void ShowCursor(); 00207 virtual void SetCursorPosition(int x, int y); 00209 00211 virtual void SetCurrentCursor(int); 00212 00215 virtual int GetWindowCreated(); 00216 00218 00219 void SetContextId(void *); 00220 void *GetContextId(); 00221 virtual void *GetGenericContext() {return this->GetContextId();} 00223 00232 virtual void SetRootWindow(void *); 00233 00235 virtual void *GetRootWindow(); 00236 00245 virtual void SetWindowId(void *); 00246 00248 00249 virtual void *GetWindowId(); 00250 virtual void *GetGenericWindowId() {return this->GetWindowId();} 00252 00257 virtual void SetParentId(void *UIView); 00258 00260 00263 virtual void *GetParentId(); 00264 virtual void *GetGenericParentId() { return this->GetParentId(); } 00266 00268 00270 void SetPixelFormat(void *pixelFormat); 00271 void *GetPixelFormat(); 00273 00274 protected: 00275 vtkIOSRenderWindow(); 00276 ~vtkIOSRenderWindow(); 00277 00278 void CreateGLContext(); 00279 00280 void CreateAWindow(); 00281 void DestroyWindow(); 00282 void DestroyOffScreenWindow(); 00283 00284 int OffScreenInitialized; 00285 int OnScreenInitialized; 00286 00287 private: 00288 vtkIOSRenderWindow(const vtkIOSRenderWindow&); // Not implemented. 00289 void operator=(const vtkIOSRenderWindow&); // Not implemented. 00290 00291 private: 00292 int WindowCreated; 00293 int ViewCreated; 00294 int CursorHidden; 00295 00296 int ForceMakeCurrent; 00297 char *Capabilities; 00298 }; 00299 00300 #endif