VTK  9.1.0
vtkAbstractContextBufferId.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkAbstractContextBufferId.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
38#ifndef vtkAbstractContextBufferId_h
39#define vtkAbstractContextBufferId_h
40
41#include "vtkObject.h"
42#include "vtkRenderingContext2DModule.h" // For export macro
43
44class vtkRenderWindow;
45
46class VTKRENDERINGCONTEXT2D_EXPORT vtkAbstractContextBufferId : public vtkObject
47{
48public:
50 void PrintSelf(ostream& os, vtkIndent indent) override;
51
53
55
58 vtkGetMacro(Width, int);
60
62
65 vtkSetMacro(Width, int);
67
69
72 vtkGetMacro(Height, int);
74
76
79 vtkSetMacro(Height, int);
81
83
86 virtual void SetContext(vtkRenderWindow* context) = 0;
89
94 virtual bool IsSupported() = 0;
95
101 virtual void Allocate() = 0;
102
106 virtual bool IsAllocated() const = 0;
107
113 virtual void SetValues(int srcXmin, int srcYmin) = 0;
114
123 virtual vtkIdType GetPickedItem(int x, int y) = 0;
124
130
131protected:
134
135 int Width;
137
138private:
140 void operator=(const vtkAbstractContextBufferId&) = delete;
141};
142
143#endif // #ifndef vtkAbstractContextBufferId_h
2D array of ids, used for picking.
virtual bool IsSupported()=0
Returns if the context supports the required extensions.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual vtkIdType GetPickedItem(int x, int y)=0
Return item under abscissa x and ordinate y.
virtual void ReleaseGraphicsResources()
Release any graphics resources that are being consumed by this object.
virtual void SetValues(int srcXmin, int srcYmin)=0
Copy the contents of the current read buffer to the internal structure starting at lower left corner ...
virtual bool IsAllocated() const =0
Tell if the buffer has been allocated.
static vtkAbstractContextBufferId * New()
~vtkAbstractContextBufferId() override
virtual vtkRenderWindow * GetContext()=0
Set/Get the OpenGL context owning the texture object resource.
virtual void SetContext(vtkRenderWindow *context)=0
Set/Get the OpenGL context owning the texture object resource.
virtual void Allocate()=0
Allocate the memory for at least Width*Height elements.
a simple class to control print indentation
Definition: vtkIndent.h:113
abstract base class for most VTK objects
Definition: vtkObject.h:82
create a window for renderers to draw into
int vtkIdType
Definition: vtkType.h:332