VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkRenderWindow.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 =========================================================================*/ 00032 #ifndef vtkGenericOpenGLRenderWindow_hpp 00033 #define vtkGenericOpenGLRenderWindow_hpp 00034 00035 #include "vtkRenderingOpenGLModule.h" // For export macro 00036 #include "vtkOpenGLRenderWindow.h" 00037 00038 class VTKRENDERINGOPENGL_EXPORT vtkGenericOpenGLRenderWindow : public vtkOpenGLRenderWindow 00039 { 00040 public: 00041 static vtkGenericOpenGLRenderWindow* New(); 00042 vtkTypeMacro(vtkGenericOpenGLRenderWindow, vtkOpenGLRenderWindow); 00043 void PrintSelf(ostream& os, vtkIndent indent); 00044 protected: 00045 vtkGenericOpenGLRenderWindow(); 00046 ~vtkGenericOpenGLRenderWindow(); 00047 00048 public: 00049 00051 void Finalize(); 00052 00055 void Frame(); 00056 00059 void MakeCurrent(); 00060 00064 bool IsCurrent(); 00065 00069 int SupportsOpenGL(); 00070 00074 int IsDirect(); 00075 00076 // {@ 00078 void SetFrontBuffer(unsigned int); 00079 void SetFrontLeftBuffer(unsigned int); 00080 void SetFrontRightBuffer(unsigned int); 00081 void SetBackBuffer(unsigned int); 00082 void SetBackLeftBuffer(unsigned int); 00083 void SetBackRightBuffer(unsigned int); 00084 // }@ 00085 00087 void PushState(); 00089 void PopState(); 00090 00091 // {@ 00093 void SetWindowId(void*); 00094 void* GetGenericWindowId(); 00095 void SetDisplayId(void*); 00096 void SetParentId(void*); 00097 void* GetGenericDisplayId(); 00098 void* GetGenericParentId(); 00099 void* GetGenericContext(); 00100 void* GetGenericDrawable(); 00101 void SetWindowInfo(char*); 00102 void SetParentInfo(char*); 00103 int* GetScreenSize(); 00104 void Start(); 00105 void HideCursor(); 00106 void ShowCursor(); 00107 void SetFullScreen(int); 00108 void WindowRemap(); 00109 int GetEventPending(); 00110 void SetNextWindowId(void*); 00111 void SetNextWindowInfo(char*); 00112 void CreateAWindow(); 00113 void DestroyWindow(); 00114 // }@ 00115 00117 00119 void SetIsDirect(int newValue); 00120 void SetSupportsOpenGL(int newValue); 00121 void SetIsCurrent(bool newValue); 00123 00124 protected: 00125 int DirectStatus; 00126 int SupportsOpenGLStatus; 00127 bool CurrentStatus; 00128 00129 private: 00130 vtkGenericOpenGLRenderWindow(const vtkGenericOpenGLRenderWindow&); // Not implemented. 00131 void operator=(const vtkGenericOpenGLRenderWindow&); // Not implemented. 00132 }; 00133 00134 #endif