VTK
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 
24 #ifndef vtkColorLegend_h
25 #define vtkColorLegend_h
26 
27 #include "vtkChartsCoreModule.h" // For export macro
28 #include "vtkChartLegend.h"
29 #include "vtkSmartPointer.h" // For SP ivars
30 #include "vtkVector.h" // For vtkRectf
31 
32 class vtkAxis;
34 class vtkImageData;
35 class vtkScalarsToColors;
36 class vtkCallbackCommand;
37 
38 class VTKCHARTSCORE_EXPORT vtkColorLegend: public vtkChartLegend
39 {
40 public:
42  void PrintSelf(ostream &os, vtkIndent indent) override;
43  static vtkColorLegend* New();
44 
48  enum {
49  VERTICAL = 0,
50  HORIZONTAL
51  };
52 
57  virtual void GetBounds(double bounds[4]);
58 
64  void Update() override;
65 
71  bool Paint(vtkContext2D *painter) override;
72 
74 
78  virtual void SetTransferFunction(vtkScalarsToColors* transfer);
79  virtual vtkScalarsToColors * GetTransferFunction();
81 
85  void SetPoint(float x, float y) override;
86 
90  virtual void SetTextureSize(float w, float h);
91 
98  virtual void SetPosition(const vtkRectf& pos);
99 
104  virtual vtkRectf GetPosition();
105 
112  vtkRectf GetBoundingRect(vtkContext2D* painter) override;
113 
115 
119  virtual void SetOrientation(int orientation);
120  vtkGetMacro(Orientation, int);
122 
124 
127  virtual void SetTitle(const vtkStdString &title);
128  virtual vtkStdString GetTitle();
130 
132 
136  vtkSetMacro(DrawBorder, bool);
137  vtkGetMacro(DrawBorder, bool);
138  vtkBooleanMacro(DrawBorder, bool);
140 
144  bool MouseMoveEvent(const vtkContextMouseEvent &mouse) override;
145 
146 protected:
147  vtkColorLegend();
148  ~vtkColorLegend() override;
149 
154  virtual void ComputeTexture();
155 
157 
161  virtual void ScalarsToColorsModified(vtkObject* caller, unsigned long eid,
162  void* calldata);
163  static void OnScalarsToColorsModified(vtkObject* caller, unsigned long eid,
164  void *clientdata, void* calldata);
166 
170  void UpdateAxisPosition();
171 
181 
182 private:
183  vtkColorLegend(const vtkColorLegend &) = delete;
184  void operator=(const vtkColorLegend &) = delete;
185 };
186 
187 #endif
vtkContextMouseEvent
data structure to represent mouse events.
Definition: vtkContextMouseEvent.h:40
vtkChartLegend::New
static vtkChartLegend * New()
Creates a 2D Chart object.
vtkColorLegend::Orientation
int Orientation
Definition: vtkColorLegend.h:180
vtkChartLegend
draw the chart legend
Definition: vtkChartLegend.h:42
vtkSmartPointer< vtkImageData >
vtkObject
abstract base class for most VTK objects
Definition: vtkObject.h:59
vtkVector.h
vtkContext2D
Class for drawing 2D primitives to a graphical context.
Definition: vtkContext2D.h:58
vtkColorLegend::Callback
vtkSmartPointer< vtkCallbackCommand > Callback
Definition: vtkColorLegend.h:175
vtkColorLegend::TransferFunction
vtkScalarsToColors * TransferFunction
Definition: vtkColorLegend.h:172
vtkChartLegend::GetBoundingRect
virtual vtkRectf GetBoundingRect(vtkContext2D *painter)
Request the space the legend requires to be drawn.
vtkX3D::title
Definition: vtkX3D.h:500
vtkChartLegend::MouseMoveEvent
bool MouseMoveEvent(const vtkContextMouseEvent &mouse) override
Mouse move event.
vtkColorLegend::ImageData
vtkSmartPointer< vtkImageData > ImageData
Definition: vtkColorLegend.h:173
vtkImageData
topologically and geometrically regular array of data
Definition: vtkImageData.h:45
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkSmartPointer.h
vtkScalarsToColors
Superclass for mapping scalar values to colors.
Definition: vtkScalarsToColors.h:66
vtkChartLegend::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkChartLegend::SetPoint
virtual void SetPoint(float, float)
Set point the legend box is anchored to.
vtkColorLegend
Legend item to display vtkScalarsToColors.
Definition: vtkColorLegend.h:38
vtkChartLegend::Update
void Update() override
Update the geometry of the axis.
vtkX3D::orientation
Definition: vtkX3D.h:262
vtkAxis
takes care of drawing 2D axes
Definition: vtkAxis.h:71
vtkChartLegend.h
vtkCallbackCommand
supports function callbacks
Definition: vtkCallbackCommand.h:50
vtkColorLegend::DrawBorder
bool DrawBorder
Definition: vtkColorLegend.h:178
vtkStdString
Wrapper around std::string to keep symbols short.
Definition: vtkStdString.h:40
vtkColorLegend::Axis
vtkSmartPointer< vtkAxis > Axis
Definition: vtkColorLegend.h:174
vtkChartLegend::Paint
bool Paint(vtkContext2D *painter) override
Paint event for the axis, called whenever the axis needs to be drawn.
vtkRectf
Definition: vtkRect.h:332
h
vtkColorLegend::Position
vtkRectf Position
Definition: vtkColorLegend.h:179
vtkColorLegend::CustomPositionSet
bool CustomPositionSet
Definition: vtkColorLegend.h:177
vtkColorLegend::Interpolate
bool Interpolate
Definition: vtkColorLegend.h:176