VTK  9.1.0
vtkColorLegend.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkColorLegend.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
43#ifndef vtkColorLegend_h
44#define vtkColorLegend_h
45
46#include "vtkChartLegend.h"
47#include "vtkChartsCoreModule.h" // For export macro
48#include "vtkSmartPointer.h" // For SP ivars
49#include "vtkVector.h" // For vtkRectf
50
51class vtkAxis;
53class vtkImageData;
56
57class VTKCHARTSCORE_EXPORT vtkColorLegend : public vtkChartLegend
58{
59public:
61 void PrintSelf(ostream& os, vtkIndent indent) override;
63
67 enum
68 {
69 VERTICAL = 0,
70 HORIZONTAL
71 };
72
77 virtual void GetBounds(double bounds[4]);
78
84 void Update() override;
85
91 bool Paint(vtkContext2D* painter) override;
92
94
98 virtual void SetTransferFunction(vtkScalarsToColors* transfer);
101
105 void SetPoint(float x, float y) override;
106
110 virtual void SetTextureSize(float w, float h);
111
118 virtual void SetPosition(const vtkRectf& pos);
119
125
133
135
139 virtual void SetOrientation(int orientation);
140 vtkGetMacro(Orientation, int);
142
144
147 virtual void SetTitle(const vtkStdString& title);
150
152
156 vtkSetMacro(DrawBorder, bool);
157 vtkGetMacro(DrawBorder, bool);
158 vtkBooleanMacro(DrawBorder, bool);
160
164 bool MouseMoveEvent(const vtkContextMouseEvent& mouse) override;
165
166protected:
168 ~vtkColorLegend() override;
169
174 virtual void ComputeTexture();
175
177
181 virtual void ScalarsToColorsModified(vtkObject* caller, unsigned long eid, void* calldata);
183 vtkObject* caller, unsigned long eid, void* clientdata, void* calldata);
185
190
200
201private:
202 vtkColorLegend(const vtkColorLegend&) = delete;
203 void operator=(const vtkColorLegend&) = delete;
204};
205
206#endif
takes care of drawing 2D axes
Definition: vtkAxis.h:178
supports function callbacks
draw the chart legend
Legend item to display vtkScalarsToColors.
vtkRectf GetBoundingRect(vtkContext2D *painter) override
Request the space the legend requires to be drawn.
virtual void SetOrientation(int orientation)
Set/get the orientation of the legend.
virtual void GetBounds(double bounds[4])
Bounds of the item, by default (0, 1, 0, 1) but it mainly depends on the range of the vtkScalarsToCol...
virtual vtkRectf GetPosition()
Returns the origin, width, and height of the scalar bar drawn by this legend.
void SetPoint(float x, float y) override
Set the point this legend is anchored to.
static vtkColorLegend * New()
void UpdateAxisPosition()
Moves the axis whenever the position of this legend changes.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkSmartPointer< vtkCallbackCommand > Callback
vtkSmartPointer< vtkImageData > ImageData
virtual void ComputeTexture()
Need to be reimplemented by subclasses, ComputeTexture() is called at paint time if the texture is no...
virtual vtkScalarsToColors * GetTransferFunction()
Set/Get the transfer function that is used to draw the scalar bar within this legend.
virtual void SetTextureSize(float w, float h)
Set the size of the scalar bar drawn by this legend.
static void OnScalarsToColorsModified(vtkObject *caller, unsigned long eid, void *clientdata, void *calldata)
Called whenever the ScalarsToColors function(s) is modified.
virtual void SetPosition(const vtkRectf &pos)
Set the origin, width, and height of the scalar bar drawn by this legend.
virtual vtkStdString GetTitle()
Get/set the title text of the legend.
~vtkColorLegend() override
void Update() override
Perform any updates to the item that may be necessary before rendering.
vtkSmartPointer< vtkAxis > Axis
virtual void ScalarsToColorsModified(vtkObject *caller, unsigned long eid, void *calldata)
Called whenever the ScalarsToColors function(s) is modified.
vtkScalarsToColors * TransferFunction
virtual void SetTitle(const vtkStdString &title)
Get/set the title text of the legend.
bool Paint(vtkContext2D *painter) override
Paint the texture into a rectangle defined by the bounds.
virtual void SetTransferFunction(vtkScalarsToColors *transfer)
Set/Get the transfer function that is used to draw the scalar bar within this legend.
bool MouseMoveEvent(const vtkContextMouseEvent &mouse) override
Mouse move event.
Class for drawing 2D primitives to a graphical context.
Definition: vtkContext2D.h:73
data structure to represent mouse events.
vtkFrustumSelector is a vtkSelector that selects elements based on whether they are inside or interse...
topologically and geometrically regular array of data
Definition: vtkImageData.h:157
a simple class to control print indentation
Definition: vtkIndent.h:113
abstract base class for most VTK objects
Definition: vtkObject.h:82
Superclass for mapping scalar values to colors.
Hold a reference to a vtkObjectBase instance.
Wrapper around std::string to keep symbols short.
Definition: vtkStdString.h:105