VTK
vtkOpenGL2ContextDevice2D.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkOpenGL2ContextDevice2D.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
15 
37 #ifndef vtkOpenGL2ContextDevice2D_h
38 #define vtkOpenGL2ContextDevice2D_h
39 
41 
42 class VTKRENDERINGCONTEXTOPENGL_EXPORT vtkOpenGL2ContextDevice2D :
44 {
45 public:
47  void PrintSelf(ostream &os, vtkIndent indent) override;
48 
53 
57  static bool IsSupported(vtkViewport *viewport);
58 
65  void DrawPointSprites(vtkImageData *sprite, float *points, int n,
66  unsigned char* colors = 0, int nc_comps = 0) override;
67 
72  void DrawImage(float p[2], float scale, vtkImageData *image) override;
73 
79  void DrawImage(const vtkRectf& pos, vtkImageData *image) override;
80 
87  void DrawPolyData(float p[2], float scale, vtkPolyData* polyData,
88  vtkUnsignedCharArray* colors, int scalarMode) override;
89 
95  void ReleaseGraphicsResources(vtkWindow *window) override;
96 
97 protected:
99  ~vtkOpenGL2ContextDevice2D() override;
100 
104  bool LoadExtensions(vtkOpenGLExtensionManager *m) override;
105 
106 private:
108  void operator=(const vtkOpenGL2ContextDevice2D &) = delete;
109 };
110 
111 #endif //vtkOpenGL2ContextDevice2D_h
void DrawPolyData(float p[2], float scale, vtkPolyData *polyData, vtkUnsignedCharArray *colors, int scalarMode) override
Draw the supplied PolyData at the given x, y (p[0], p[1]) (bottom corner), scaled by scale (1....
void DrawPointSprites(vtkImageData *sprite, float *points, int n, unsigned char *colors=0, int nc_comps=0) override
Draw a series of point sprites, images centred at the points supplied.
virtual bool LoadExtensions(vtkOpenGLExtensionManager *m)
Load the OpenGL extensions we need.
abstract specification for Viewports
Definition: vtkViewport.h:47
virtual void ReleaseGraphicsResources(vtkWindow *window)
Release any graphics resources that are being consumed by this device.
Class for drawing 2D primitives using OpenGL 1.1+.
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:85
static vtkOpenGLContextDevice2D * New()
Creates a 2D Painter object.
window superclass for vtkRenderWindow
Definition: vtkWindow.h:37
a simple class to control print indentation
Definition: vtkIndent.h:39
topologically and geometrically regular array of data
Definition: vtkImageData.h:45
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void DrawImage(float p[2], float scale, vtkImageData *image) override
Draw the supplied image at the given x, y (p[0], p[1]) (bottom corner), scaled by scale (1....
Interface class for querying and using OpenGL extensions.
dynamic, self-adjusting array of unsigned char
Class for drawing 2D primitives using OpenGL 2.