VTK
/Users/kitware/Dashboards/MyTests/VTK_BLD_Release_docs/Utilities/Doxygen/dox/Rendering/Core/vtkAbstractRenderDevice.h
Go to the documentation of this file.
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