Properties

AllowPan

#
bool AllowPan { get; }
Gets whether this control supports mouse panning.

AllowZoom

#
bool AllowZoom { get; }
Gets whether this control supports mouse zooming.

Border

#
ControlBorder Border { get; set; }
Gets or sets the border drawn around this control.

ContentBounds

#
RectangleF ContentBounds { get; set; }
Gets or sets the bounding box of the content. Use an empty rectangle to indicate boundless content.

ContentToControl

#
IMatrix ContentToControl { get; }
Gets the transformation matrix from content coordinates to control coordinates.

ControlToContent

#
IMatrix ControlToContent { get; }
Gets the transformation matrix from control coordinates to content coordinates.

DrawContentBoundary

#
bool DrawContentBoundary { get; set; }
Gets or sets whether the content boundary ought to be drawn when visible.

DrawEndTime

#
DateTime DrawEndTime { get; }
Gets the end of the most recent drawing pass. If a drawing is currently in progress, DateTime.Max is returned as it is not yet known when the pass will end.

DrawScrollbars

#
bool DrawScrollbars { get; set; }
Gets whether this control should display scrollbars when needed. Scrollbars will only be displayed when the content exceeds the inner bounds.

DrawStartTime

#
DateTime DrawStartTime { get; }
Gets the start of the most recent (and possibly current) drawing pass.

FloatingButtons

#
FloatingButtonCollection FloatingButtons { get; }
Gets the floating button collection associated with this control.

FocusObject

#
IResponsive FocusObject { get; }
Gets the object (if any) which currently has focus within the control.

InnerBounds

#
RectangleF InnerBounds { get; }
Gets the area in control coordinates for the content of the control. This area does not include the control border, nor the scrollbars.

InnerScreenBounds

#
RectangleF InnerScreenBounds { get; }
Gets the inner bounds of this control in screen coordinates.

IntegerOrigin

#
bool IntegerOrigin { get; set; }
Gets or sets whether this control only allows integer accuracy coordinates for the origin point.

IsDragSource

#
bool IsDragSource { get; set; }
Gets or sets whether this control is potentially a source for drag+drop operations.

IsDropTarget

#
bool IsDropTarget { get; set; }
Gets or sets whether this control is potentially a target for drag+drop operations.

MaximumZoom

#
float MaximumZoom { get; set; }
Gets or sets the maximum allowed zoom.

MinimumZoom

#
float MinimumZoom { get; set; }
Gets or sets the minimum allowed zoom.

OuterBounds

#
RectangleF OuterBounds { get; }
Gets the bounds of this control in container coordinates.

ParentControl

#
IFlexControl ParentControl { get; set; }
Gets or sets the parent control.

Projection

#
Projection Projection { get; set; }
Gets or sets the projection for this control.

ResizeBehaviour

#
ContentResizeBehaviour ResizeBehaviour { get; set; }
Gets or sets the projection behaviour of the content during control resizing events.

ResponsivesForwards

#
IEnumerable<IResponsive> ResponsivesForwards { get; }
Enumerate over all registered responsive objects.

ScreenBounds

#
RectangleF ScreenBounds { get; }
Gets the bounds of this control in screen coordinates.

VisibleFrame

#
RectangleF VisibleFrame { get; }
Gets the rectangle in content coordinates which represents the visible portion. This basically means the InnerBounds mapped into content coordinates.

ZoomFeedbackLocation

#
FeedbackLocation ZoomFeedbackLocation { get; set; }
Gets or sets the location for zoom change feedback.

Methods

Animate<T>

#
T Animate<T>(Animated<T> animated)
Evaluate an animator. This method automatically schedules redraw events if those are needed for smooth animations.
animated (Animated<T>)Animator to evaluate.
Animated value.

AnimatedZoomFactor

#
float AnimatedZoomFactor(ZoomThreshold threshold)
Gets the normalised factor (0.0, 1.0) which indicates to what extend the display is in the given state.
threshold (ZoomThreshold)Threshold.
Normalised value.

BeginWindowSelect

#
void BeginWindowSelect()
Start a window selection process. This method is typically called from within a MouseDown handler.

ComputeWrappingBounds

#
RectangleF ComputeWrappingBounds(PointF location)
Determine the implied wrapping bounds given the control and the screen containing the location. The wrapping bounds are either the bounds of the screen containing the location, or the intersection of the screen containing the location and the bounds of the control if this intersection is not empty.
location (PointF)Hint location in control coordinates.
Wrapping bounds in control coordinates.

DrawWindowSelectionEdge

#
void DrawWindowSelectionEdge()
If a window selection is currently in progress, draw the fill of that window selection fence. By calling this method you override the default window selection drawing pipeline, which allows you to have finer control over the layering of the window rectangle background and foreground.

DrawWindowSelectionEdge

#
void DrawWindowSelectionEdge(Pen edge)
If a window selection is currently in progress, draw the fill of that window selection fence. By calling this method you override the default window selection drawing pipeline, which allows you to have finer control over the layering of the window rectangle background and foreground.
edge (Pen)Edge edge to use.

DrawWindowSelectionFill

#
void DrawWindowSelectionFill()
If a window selection is currently in progress, draw the fill of that window selection fence. By calling this method you override the default window selection drawing pipeline, which allows you to have finer control over the layering of the window rectangle background and foreground.

DrawWindowSelectionFill

#
void DrawWindowSelectionFill(Brush fill)
If a window selection is currently in progress, draw the fill of that window selection fence. By calling this method you override the default window selection drawing pipeline, which allows you to have finer control over the layering of the window rectangle background and foreground.
fill (Brush)Fill brush to use.

EndWindowSelect

#
void EndWindowSelect()
If, for any reason, you wish to terminate a window selection process prematuraly, call this method. A window selection process will automatically end on the next mouseup.

Map

#
PointF Map(PointF point, CoordinateSystem from, CoordinateSystem to)
Map a point from one coordinate system to another.
point (PointF)Point to map.
from (CoordinateSystem)Coordinate system in which the point is currently defined.
to (CoordinateSystem)Target coordinate system.
Mapped point.

Map

#
RectangleF Map(RectangleF rectangle, CoordinateSystem from, CoordinateSystem to)
Map a rectangle from one coordinate system to another.
rectangle (RectangleF)Rectangle to map.
from (CoordinateSystem)Coordinate system in which the rectangle is currently defined.
to (CoordinateSystem)Target coordinate system.
Mapped rectangle.

RegisterIResponsive

#
void RegisterIResponsive(IResponsive responsive)
Add a responsive object to this control. Responsive objects which have been properly registered will automatically have their response methods invoked in case of mouse/keybaord events on the control. The object will not be drawn though, that is the responsibility of the owner.
responsive (IResponsive)Responsive to add.

ScheduleRedraw

#
void ScheduleRedraw()
Schedule a redraw in the near future. Redraw will happen as quickly as possible, though the message queue will be emptied first.

ScheduleRedraw

#
void ScheduleRedraw(TimeSpan delay)
Schedule a redraw at a roughly defined delay.
delay (TimeSpan)Time until redraw after the current drawing operation completes.

UnregisterIResponsive

#
void UnregisterIResponsive(IResponsive responsive)
Remove a responsive object from this control.
responsive (IResponsive)Responsive object to remove.

Events

Draw

#
This event is raised whenever the control paints itself.

PopulateContextMenu

#
event EventHandler<PopulateContextMenuEventArgs> PopulateContextMenu
Raised whenever the context menu ought to be populated.

ProjectionChanged

#
event EventHandler<ProjectionChangedEventArgs> ProjectionChanged
Raised whenever the projection of a control changes.

WindowSelection

#
event EventHandler<WindowSelectionEventArgs> WindowSelection
Raised whenever a window selection completes.