42 #ifndef vtkPlotRangeHandlesItem_h
43 #define vtkPlotRangeHandlesItem_h
45 #include "vtkChartsCoreModule.h"
80 void GetBounds(
double bounds[4])
override;
86 virtual void GetHandlesRange(
double range[2]);
93 vtkSetMacro(HandleWidth,
float);
94 vtkGetMacro(HandleWidth,
float);
101 vtkSetClampMacro(HandleOrientation,
int, VERTICAL, HORIZONTAL);
102 vtkGetMacro(HandleOrientation,
int);
116 vtkSetVector4Macro(Extent,
double);
117 vtkGetVector4Macro(Extent,
double);
135 vtkBooleanMacro(SynchronizeRangeHandles,
vtkTypeBool);
151 vtkGetObjectMacro(HighlightBrush,
vtkBrush);
156 virtual void ComputeHandlesDrawRange();
171 void GetAxesRange(
double* abcissaRange,
double* ordinateRange);
172 void GetAxesUnscaledRange(
double* abcissaRange,
double* ordinateRange);
178 void ComputeRange(
double*
range);
183 void ComputeHandleDelta(
double screenBounds[4]);
193 const double inX,
const double inY,
double& outX,
double& outY)
override;
195 const double inX,
const double inY,
double& outX,
double& outY)
override;
225 virtual void SetActiveHandlePosition(
double position);
231 bool IsActiveHandleMoved(
double tolerance);
236 void SetCursor(
int cursor);
241 float HandleWidth = 2;
242 float HandleDelta = 0;
243 float LeftHandleDrawRange[2] = { 0, 0 };
244 float RightHandleDrawRange[2] = { 0, 0 };
245 int ActiveHandle = NO_HANDLE;
246 int HoveredHandle = NO_HANDLE;
247 float HoveredPosition[2] = { 0, 0 };
249 double ActiveHandlePosition = 0;
250 double ActiveHandleRangeValue = 0;
253 double Extent[4] = { 0, 1, 0, 1 };
256 int HandleOrientation = VERTICAL;
259 #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.