VTK
vtkAbstractRenderDevice.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4 
5  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
6  All rights reserved.
7  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
8 
9  This software is distributed WITHOUT ANY WARRANTY; without even
10  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11  PURPOSE. See the above copyright notice for more information.
12 
13 =========================================================================*/
14 #ifndef vtkAbstractRenderDevice_h
15 #define vtkAbstractRenderDevice_h
16 
17 #include "vtkRenderingCoreModule.h" // For export macro
18 #include "vtkObject.h"
19 #include <string> // For std::string
20 
21 class vtkRecti;
22 
23 class VTKRENDERINGCORE_EXPORT vtkAbstractRenderDevice : public vtkObject
24 {
25 public:
27  void PrintSelf(ostream& os, vtkIndent indent) override;
28 
34  static vtkAbstractRenderDevice* New();
35 
42  void SetRequestedGLVersion(int major, int minor);
43 
49  virtual bool CreateNewWindow(const vtkRecti &geometry,
50  const std::string &name) = 0;
51 
57  virtual void MakeCurrent() = 0;
58 
59 protected:
61  ~vtkAbstractRenderDevice() override;
62 
63  int GLMajor;
64  int GLMinor;
65 
66 private:
67  vtkAbstractRenderDevice(const vtkAbstractRenderDevice&) = delete;
68  void operator=(const vtkAbstractRenderDevice&) = delete;
69 };
70 
71 #endif
abstract base class for most VTK objects
Definition: vtkObject.h:59
a simple class to control print indentation
Definition: vtkIndent.h:39