VTK
dox/Rendering/OpenGL/vtkGenericOpenGLRenderWindow.h
Go to the documentation of this file.
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