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  virtual void PrintSelf(ostream &os, vtkIndent indent);
43  static vtkColorLegend* New();
44 
48  enum {
49  VERTICAL = 0,
50  HORIZONTAL
51  };
52 
57  virtual void GetBounds(double bounds[4]);
58 
64  virtual void Update();
65 
71  virtual bool Paint(vtkContext2D *painter);
72 
74 
78  virtual void SetTransferFunction(vtkScalarsToColors* transfer);
81 
85  virtual void SetPoint(float x, float y);
86 
90  virtual void SetTextureSize(float w, float h);
91 
98  virtual void SetPosition(const vtkRectf& pos);
99 
105 
113 
115 
119  virtual void SetOrientation(int orientation);
120  vtkGetMacro(Orientation, int);
122 
124 
127  virtual void SetTitle(const vtkStdString &title);
130 
132 
136  vtkSetMacro(DrawBorder, bool);
137  vtkGetMacro(DrawBorder, bool);
138  vtkBooleanMacro(DrawBorder, bool);
140 
144  virtual bool MouseMoveEvent(const vtkContextMouseEvent &mouse);
145 
146 protected:
148  virtual ~vtkColorLegend();
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 
171 
181 
182 private:
183  vtkColorLegend(const vtkColorLegend &) VTK_DELETE_FUNCTION;
184  void operator=(const vtkColorLegend &) VTK_DELETE_FUNCTION;
185 };
186 
187 #endif
takes care of drawing 2D axes
Definition: vtkAxis.h:72
supports function callbacks
draw the chart legend
Legend item to display vtkScalarsToColors.
static vtkColorLegend * New()
virtual void SetOrientation(int orientation)
Set/get the orientation of the legend.
vtkRectf GetBoundingRect(vtkContext2D *painter)
Request the space the legend requires to be drawn.
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 bool Paint(vtkContext2D *painter)
Paint the texture into a rectangle defined by the bounds.
virtual void SetPoint(float x, float y)
Set the point this legend is anchored to.
virtual vtkRectf GetPosition()
Returns the origin, width, and height of the scalar bar drawn by this legend.
virtual vtkScalarsToColors * GetTransferFunction()
virtual ~vtkColorLegend()
virtual bool MouseMoveEvent(const vtkContextMouseEvent &mouse)
Mouse move event.
void UpdateAxisPosition()
Moves the axis whenever the position of this legend changes.
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 void SetTextureSize(float w, float h)
Set the size of the scalar bar drawn by this legend.
virtual void Update()
Perform any updates to the item that may be necessary before rendering.
static void OnScalarsToColorsModified(vtkObject *caller, unsigned long eid, void *clientdata, void *calldata)
virtual void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
virtual void SetPosition(const vtkRectf &pos)
Set the origin, width, and height of the scalar bar drawn by this legend.
virtual vtkStdString GetTitle()
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.
virtual void SetTransferFunction(vtkScalarsToColors *transfer)
Set/Get the transfer function that is used to draw the scalar bar within this legend.
Class for drawing 2D primitives to a graphical context.
Definition: vtkContext2D.h:58
data structure to represent mouse events.
topologically and geometrically regular array of data
Definition: vtkImageData.h:46
a simple class to control print indentation
Definition: vtkIndent.h:40
abstract base class for most VTK objects
Definition: vtkObject.h:60
Superclass for mapping scalar values to colors.
Wrapper around std::string to keep symbols short.
Definition: vtkStdString.h:49
@ orientation
Definition: vtkX3D.h:262
@ title
Definition: vtkX3D.h:500
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkBooleanMacro(IgnoreDriverBugs, bool)
Updates the extensions string.