VTK  9.5.20250718
vtkColorLegend.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-License-Identifier: BSD-3-Clause
3
31#ifndef vtkColorLegend_h
32#define vtkColorLegend_h
33
34#include "vtkChartLegend.h"
35#include "vtkChartsCoreModule.h" // For export macro
36#include "vtkSmartPointer.h" // For SP ivars
37#include "vtkVector.h" // For vtkRectf
38#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
39
40VTK_ABI_NAMESPACE_BEGIN
41class vtkAxis;
43class vtkImageData;
46
47class VTKCHARTSCORE_EXPORT VTK_MARSHALAUTO vtkColorLegend : public vtkChartLegend
48{
49public:
51 void PrintSelf(ostream& os, vtkIndent indent) override;
53
57 enum
58 {
59 VERTICAL = 0,
60 HORIZONTAL
61 };
62
67 virtual void GetBounds(double bounds[4]);
68
74 void Update() override;
75
81 bool Paint(vtkContext2D* painter) override;
82
84
88 virtual void SetTransferFunction(vtkScalarsToColors* transfer);
91
95 void SetPoint(float x, float y) override;
96
100 virtual void SetTextureSize(float w, float h);
101 virtual void GetTextureSize(float& w, float& h);
102
109 virtual void SetPosition(const vtkRectf& pos);
110
116
124
126
130 virtual void SetOrientation(int orientation);
131 vtkGetMacro(Orientation, int);
133
135
138 virtual void SetTitle(const vtkStdString& title);
141
143
147 vtkSetMacro(DrawBorder, bool);
148 vtkGetMacro(DrawBorder, bool);
149 vtkBooleanMacro(DrawBorder, bool);
151
155 bool MouseMoveEvent(const vtkContextMouseEvent& mouse) override;
156
157protected:
159 ~vtkColorLegend() override;
160
165 virtual void ComputeTexture();
166
168
172 virtual void ScalarsToColorsModified(vtkObject* caller, unsigned long eid, void* calldata);
174 vtkObject* caller, unsigned long eid, void* clientdata, void* calldata);
176
181
191
192private:
193 vtkColorLegend(const vtkColorLegend&) = delete;
194 void operator=(const vtkColorLegend&) = delete;
195};
196
197VTK_ABI_NAMESPACE_END
198#endif
takes care of drawing 2D axes
Definition vtkAxis.h:171
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...
vtkSmartPointer< vtkScalarsToColors > TransferFunction
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.
virtual void GetTextureSize(float &w, float &h)
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.
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.
data structure to represent mouse events.
topologically and geometrically regular array of data
a simple class to control print indentation
Definition vtkIndent.h:108
abstract base class for most VTK objects
Definition vtkObject.h:162
Superclass for mapping scalar values to colors.
Computes the portion of a dataset which is inside a selection.
Hold a reference to a vtkObjectBase instance.
Wrapper around std::string to keep symbols short.
#define VTK_MARSHALAUTO