30 #ifndef vtkPlotRangeHandlesItem_h
31 #define vtkPlotRangeHandlesItem_h
33 #include "vtkChartsCoreModule.h"
38 VTK_ABI_NAMESPACE_BEGIN
70 void GetBounds(
double bounds[4])
override;
76 virtual void GetHandlesRange(
double range[2]);
83 vtkSetMacro(HandleWidth,
float);
84 vtkGetMacro(HandleWidth,
float);
91 vtkSetClampMacro(HandleOrientation,
int, VERTICAL, HORIZONTAL);
92 vtkGetMacro(HandleOrientation,
int);
106 vtkSetVector4Macro(Extent,
double);
107 vtkGetVector4Macro(Extent,
double);
125 vtkBooleanMacro(SynchronizeRangeHandles,
vtkTypeBool);
141 vtkGetObjectMacro(HighlightBrush,
vtkBrush);
146 virtual void ComputeHandlesDrawRange();
161 void GetAxesRange(
double* abcissaRange,
double* ordinateRange);
162 void GetAxesUnscaledRange(
double* abcissaRange,
double* ordinateRange);
168 void ComputeRange(
double*
range);
173 void ComputeHandleDelta(
double screenBounds[4]);
213 virtual void SetActiveHandlePosition(
double position);
219 bool IsActiveHandleMoved(
double tolerance);
224 void SetCursor(
int cursor);
229 float HandleWidth = 2;
230 float HandleDelta = 0;
231 float LeftHandleDrawRange[2] = { 0, 0 };
232 float RightHandleDrawRange[2] = { 0, 0 };
233 int ActiveHandle = NO_HANDLE;
234 int HoveredHandle = NO_HANDLE;
235 float HoveredPosition[2] = { 0, 0 };
237 double ActiveHandlePosition = 0;
238 double ActiveHandleRangeValue = 0;
241 double Extent[4] = { 0, 1, 0, 1 };
244 int HandleOrientation = VERTICAL;
247 VTK_ABI_NAMESPACE_END
248 #endif // vtkPlotRangeHandlesItem_h
vtkNew< vtkBrush > RangeLabelBrush
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual bool MouseButtonPressEvent(const vtkContextMouseEvent &mouse)
Mouse button down event Return true if the item holds the event, false if the event can be propagated...
virtual bool Paint(vtkContext2D *painter)
Paint event for the item, called whenever the item needs to be drawn.
virtual void GetBounds(double bounds[4])
Get the bounds for this plot as (Xmin, Xmax, Ymin, Ymax).
bool Hit(const vtkContextMouseEvent &mouse) override
Returns true if the supplied x, y coordinate is inside the item.
virtual void TransformScreenToData(const vtkVector2f &in, vtkVector2f &out)
Transform the mouse event in the control-points space.
item to show and control a range on vtkAxis
Class for drawing 2D primitives to a graphical context.
provides a brush that fills shapes drawn by vtkContext2D.
data structure to represent mouse events.
a simple class to control print indentation
virtual bool MouseButtonReleaseEvent(const vtkContextMouseEvent &mouse)
Mouse button release event.
void SetHandleOrientationToVertical()
Set/Get the handles orientation in the plot.
Abstract class for 2D plots.
virtual bool MouseEnterEvent(const vtkContextMouseEvent &mouse)
Mouse enter event.
void SetHandleOrientationToHorizontal()
Set/Get the handles orientation in the plot.
virtual void TransformDataToScreen(const vtkVector2f &in, vtkVector2f &out)
Transform the mouse event in the control-points space.
virtual bool MouseMoveEvent(const vtkContextMouseEvent &mouse)
Mouse move event.
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
vtkNew< vtkBrush > HighlightBrush
virtual bool MouseDoubleClickEvent(const vtkContextMouseEvent &mouse)
Mouse button double click event.
virtual bool MouseLeaveEvent(const vtkContextMouseEvent &mouse)
Mouse leave event.