VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 00005 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00006 All rights reserved. 00007 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00008 00009 This software is distributed WITHOUT ANY WARRANTY; without even 00010 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00011 PURPOSE. See the above copyright notice for more information. 00012 00013 =========================================================================*/ 00014 #ifndef vtkAbstractRenderDevice_h 00015 #define vtkAbstractRenderDevice_h 00016 00017 #include "vtkRenderingCoreModule.h" // For export macro 00018 #include "vtkObject.h" 00019 #include <string> // For std::string 00020 00021 class vtkRecti; 00022 00023 class VTKRENDERINGCORE_EXPORT vtkAbstractRenderDevice : public vtkObject 00024 { 00025 public: 00026 vtkTypeMacro(vtkAbstractRenderDevice, vtkObject) 00027 void PrintSelf(ostream& os, vtkIndent indent); 00028 00034 static vtkAbstractRenderDevice* New(); 00035 00042 void SetRequestedGLVersion(int major, int minor); 00043 00049 virtual bool CreateNewWindow(const vtkRecti &geometry, 00050 const std::string &name) = 0; 00051 00057 virtual void MakeCurrent() = 0; 00058 00059 protected: 00060 vtkAbstractRenderDevice(); 00061 ~vtkAbstractRenderDevice(); 00062 00063 int GLMajor; 00064 int GLMinor; 00065 00066 private: 00067 vtkAbstractRenderDevice(const vtkAbstractRenderDevice&); // Not implemented. 00068 void operator=(const vtkAbstractRenderDevice&); // Not implemented. 00069 }; 00070 00071 #endif