32 #ifndef __vtkChartXY_h
33 #define __vtkChartXY_h
35 #include "vtkChartsCoreModule.h"
38 #include "vtkVector.h"
46 class vtkChartXYPrivate;
60 virtual void Update();
64 virtual bool Paint(vtkContext2D *painter);
87 int GetPlotCorner(
vtkPlot *plot);
90 void SetPlotCorner(
vtkPlot *plot,
int corner);
104 virtual void SetTooltip(vtkTooltipItem *tooltip);
107 virtual vtkTooltipItem* GetTooltip();
126 vtkSetMacro(DrawAxesAtOrigin,
bool);
127 vtkGetMacro(DrawAxesAtOrigin,
bool);
128 vtkBooleanMacro(DrawAxesAtOrigin,
bool);
134 vtkSetMacro(AutoAxes,
bool);
135 vtkGetMacro(AutoAxes,
bool);
136 vtkBooleanMacro(AutoAxes,
bool);
141 vtkSetMacro(HiddenAxisBorder,
int);
142 vtkGetMacro(HiddenAxisBorder,
int);
149 vtkSetMacro(ForceAxesToBounds,
bool);
150 vtkGetMacro(ForceAxesToBounds,
bool);
151 vtkBooleanMacro(ForceAxesToBounds,
bool);
161 vtkSetMacro(BarWidthFraction,
float);
162 vtkGetMacro(BarWidthFraction,
float);
167 virtual void SetTooltipInfo(
const vtkContextMouseEvent &,
175 virtual bool Hit(
const vtkContextMouseEvent &mouse);
178 virtual bool MouseEnterEvent(
const vtkContextMouseEvent &mouse);
181 virtual bool MouseMoveEvent(
const vtkContextMouseEvent &mouse);
184 virtual bool MouseLeaveEvent(
const vtkContextMouseEvent &mouse);
187 virtual bool MouseButtonPressEvent(
const vtkContextMouseEvent &mouse);
190 virtual bool MouseButtonReleaseEvent(
const vtkContextMouseEvent &mouse);
194 virtual bool MouseWheelEvent(
const vtkContextMouseEvent &mouse,
int delta);
198 virtual bool KeyPressEvent(
const vtkContextKeyEvent &key);
208 void RecalculatePlotTransforms();
212 void RecalculatePlotBounds();
217 virtual bool UpdateLayout(vtkContext2D* painter);
222 virtual int GetLegendBorder(vtkContext2D* painter,
int axisPosition);
226 virtual void SetLegendPosition(
const vtkRectf& rect);
282 vtkChartXYPrivate *ChartPrivate;
286 void CalculateBarPlots();
292 bool LocatePointInPlots(
const vtkContextMouseEvent &mouse,
293 int invokeEvent = -1);
296 int LocatePointInPlot(
const vtkVector2f &position,
297 const vtkVector2f &tolerance, vtkVector2f &plotPos,
301 bool RemovePlotFromCorners(
vtkPlot *plot);
303 void ZoomInAxes(
vtkAxis *x,
vtkAxis *y,
float *orign,
float *max);
307 void TransformBoxOrPolygon(
bool polygonMode, vtkTransform2D *transform,
308 const vtkVector2f &mousePosition,
309 vtkVector2f &min, vtkVector2f &max,
329 #endif //__vtkChartXY_h
Wrapper around std::string to keep symbols short.
virtual void SetShowLegend(bool visible)
vtkContextPolygon SelectionPolygon
virtual vtkIdType GetNumberOfAxes()
virtual void RecalculateBounds()
virtual void PrintSelf(ostream &os, vtkIndent indent)
bool DrawSelectionPolygon
virtual void ClearPlots()
Factory class for drawing 2D charts.
virtual bool RemovePlot(vtkIdType index)
takes care of drawing 2D axes
vtkVector2i ScreenPosition
virtual vtkChartLegend * GetLegend()
a simple class to control print indentation
virtual vtkIdType GetNumberOfPlots()
Abstract class for 2D plots.
vtkSmartPointer< vtkChartLegend > Legend
Factory class for drawing XY charts.
virtual bool Paint(vtkContext2D *painter)=0
takes care of drawing the plot grid
virtual vtkPlot * GetPlot(vtkIdType index)
vtkSmartPointer< vtkTooltipItem > Tooltip
virtual void SetSelectionMethod(int method)
virtual vtkPlot * AddPlot(int type)
virtual vtkAxis * GetAxis(int axisIndex)