Canvas

FlexControlDrawablePanelContainerControlBindableWidgetWidgetReferences
public sealed class Canvas : FlexControl
Canvas control for hosting Grasshopper documents.

Constructors

Canvas

#
public Canvas()
Create a new canvas control.

Fields

ThumbnailHeight

#
public const int ThumbnailHeight = 300
The default height of document thumbnail images.

ThumbnailWidth

#
public const int ThumbnailWidth = 500
The default width of document thumbnail images.

Properties

AllowedActions

#
public CanvasActions AllowedActions { get; }
Access the set of allowed actions on a canvas. It is highly recommended to never change these settings on a canvas which you (the developer) did not create.

AllowPan

public bool AllowPan { get; set; }
Gets whether this control supports mouse panning.
inherited fromFlexControl
AllowPan

AllowScrollGesture

protected bool AllowScrollGesture { get; set; }
Gets or sets whether this control captures two-finger trackpad scroll and mouse-wheel events via its ScrollGesture. Set to false for FlexControls hosted in a Scrollable so the parent receives the scroll natively (native direction, momentum, rubber-band).
inherited fromFlexControl

AllowZoom

public bool AllowZoom { get; set; }
Gets whether this control supports mouse zooming.
inherited fromFlexControl
AllowZoom

AutoWindowSelect

public bool AutoWindowSelect { get; set; }
Gets or sets whether a window selection automatically starts if a primary mousedown goes unhandled.
inherited fromFlexControl

Border

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

ContentBounds

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

ContentToControl

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

ControlToContent

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

CurrentlyDrawingCanvas

#
public static Canvas CurrentlyDrawingCanvas { get; }
Gets the canvas which is currently drawing itself. Due to the non-concurrent nature of UI framework updates it's a fair bet that only one control at any given time is being drawn. However, if you need this property to make code work the way it was intended, it's an indication something has been poorly designed.

CurrentWindowSelection

public WindowSelection CurrentWindowSelection { get; }
Gets the current window selection. This field will only be non-null during a window selection process. If you wish to respond to a completes window selection, handle the WindowSelection event.
inherited fromFlexControl

CursorEditActive

#
public static Cursor CursorEditActive { get; }
Gets the default cursor used for active edit mode.

CursorEditArmed

#
public static Cursor CursorEditArmed { get; }
Gets the default cursor used for armed edit mode.

CursorMode

#
public CursorMode CursorMode { get; }
Gets the current high-level cursor mode. Setting this property updates the displayed cursor as a side effect, ensuring the on-screen cursor always matches the logical state.

CursorQuestion

#
public static Cursor CursorQuestion { get; }
Gets the default question mark cursor used for component lookup.

CursorWireIn

#
public static Cursor CursorWireIn { get; }
Gets the default cursor used for input grips.

CursorWireOut

#
public static Cursor CursorWireOut { get; }
Gets the default cursor used for input grips.

Document

#
public Document Document { get; set; }
Gets or sets the document displayed in this canvas. This will never return null as a new document is created on an is-needed basis.

DrawContentBoundary

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

DrawScrollbars

public 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. If AllowPan is set to False, then scrollbars will never be shown.
inherited fromFlexControl
DrawScrollbars

FloatingButtonRail

protected virtual RectangleF FloatingButtonRail { get; }
Gets the rail along which floating buttons are positioned. By default, the rail is equal to the inner bounds offset by the button size. Override this property to define a custom rail, for example if some regions near the control boundary need to remain free of buttons.
inherited fromFlexControl

FloatingButtons

public FloatingButtonCollection FloatingButtons { get; }
Gets the floating button collection for this control.
inherited fromFlexControl
FloatingButtons

FocusObject

public IResponsive FocusObject { get; }
Gets the object which currently has focus, if any. Focused objects are most likely either IInteractions or IResponsives.
inherited fromFlexControl
FocusObject

FullFrameDuration

#
public TimeSpan FullFrameDuration { get; }

GridDuration

#
public TimeSpan GridDuration { get; }

IconDuration

#
public TimeSpan IconDuration { get; }

InnerBounds

public RectangleF InnerBounds { get; }
Gets the area in control coordinates for the content of the control. This area does not include the control border.
inherited fromFlexControl
InnerBounds

InnerScreenBounds

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

InNestedNavigationMode

#
public bool InNestedNavigationMode { get; }
Gets whether this canvas is currently in nested navigation mode. That is, whether current modifiers are either SHIFT or CTRL+SHIFT.

IntegerOrigin

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

IsDragSource

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

IsDropTarget

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

LayoutDuration

#
public TimeSpan LayoutDuration { get; }

MaximumZoom

public float MaximumZoom { get; set; }
Gets or sets the maximum allowed zoom.
inherited fromFlexControl
MaximumZoom

MinimumZoom

public float MinimumZoom { get; set; }
Gets or sets the minimum allowed zoom.
inherited fromFlexControl
MinimumZoom

MouseDwellDelay

public TimeSpan MouseDwellDelay { get; set; }
Gets or sets the duration required before a FlexControl.MouseDwell event is raised. Negative or zero length durations mean the FlexControl.MouseDwell event is never raised.
inherited fromFlexControl

OuterBounds

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

ParentControl

public IFlexControl ParentControl { get; set; }
Gets or sets the parent control.
inherited fromFlexControl
ParentControl

Projection

public Projection Projection { get; set; }
Gets or sets the projection for this control.
inherited fromFlexControl
Projection

RedrawOnMouseMove

#
public bool RedrawOnMouseMove { get; set; }
Gets or sets whether the canvas needs to trigger a redraw on every mouse-move event. Note that this field is set to false on every redraw, so it must be assigned anew every time.

ResizeBehaviour

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

ResponsivesBackwards

public IEnumerable<IResponsive> ResponsivesBackwards { get; }
Enumerate over all registered responsive objects in reverse order.
inherited fromFlexControl

ResponsivesForwards

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

ScreenBounds

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

ShapeDuration

#
public TimeSpan ShapeDuration { get; }

ShowTilesWhenEmpty

#
public bool ShowTilesWhenEmpty { get; set; }
Gets whether or not tiles are shown when the canvas contains an empty document.

ShowUndoHistory

#
public bool ShowUndoHistory { get; set; }
Gets or sets whether the undo history browser ought to be displayed.

Skin

#
public Skin Skin { get; }
Gets the skin to use in this canvas.

SkinDim

#
public Skin SkinDim { get; set; }
Gets or sets the dark mode skin.

SkinLit

#
public Skin SkinLit { get; set; }
Gets or sets the bright mode skin.

SnapXAction

#
public SnappingAction SnapXAction { get; set; }
Gets or sets the snapping action for the X-direction to draw.

SnapYAction

#
public SnappingAction SnapYAction { get; set; }
Gets or sets the snapping action for the Y-direction to draw.

TextDuration

#
public TimeSpan TextDuration { get; }

Tiles

#
public TileSet Tiles { get; }
Gets the tiles currently shown on the canvas.

ViewportDragging

#
public bool ViewportDragging { get; set; }
Gets or sets whether draggable geometry can currently be dragged by directly clicking on it in the viewports. The state is mirrored into the loaded document, and restored from it whenever a different document is loaded.

VisibleFrame

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

WindowSelectGroups

#
public bool WindowSelectGroups { get; set; }
Gets or sets whether a window selection will include groups.

WindowSelectObjects

#
public bool WindowSelectObjects { get; set; }
Gets or sets whether a window selection will include objects.

WindowSelectWires

#
public bool WindowSelectWires { get; set; }
Gets or sets whether a window selection will include wires.

WireDuration

#
public TimeSpan WireDuration { get; }

ZoomFeedbackLocation

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

ZuiVariableParameterState

#
public float ZuiVariableParameterState { get; }
Gets the current state of the variable parameter ZUI based on recent zooming history.

ZuiVariableParameterThreshold

#
public float ZuiVariableParameterThreshold { get; set; }
Gets or sets the zoom threshold at which variable parameter UI appears.

ZuiWireDetailingState

#
public float ZuiWireDetailingState { get; }
Gets the current state of the wire detailing based on recent zooming history.

ZuiWireDetailingThreshold

#
public float ZuiWireDetailingThreshold { get; set; }
Gets or sets the zoom threshold at which wires are drawn in full detail.

Methods

AddSparkle

public void AddSparkle(ISparkle sparkle)
Add a sparkle to this control.
inherited fromFlexControl
sparkle (ISparkle)Sparkle to add.

Animate<T>

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

AnimatedZoomFactor

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

BeginWindowSelect

public void BeginWindowSelect()
Start a window selection process.
inherited fromFlexControl
BeginWindowSelect

ComputeWrappingBounds

public 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.
inherited fromFlexControl
location (PointF)Hint location in control coordinates.
Wrapping bounds in control coordinates.

CreateFloatingButtons

protected virtual void CreateFloatingButtons()
Override this method to add a set of floating buttons to your control. It will automatically be called at the end of the constructor. You can always choose to add buttons later, but why not Zoidberg?
inherited fromFlexControl

DeleteSelection

#
public void DeleteSelection()
Delete all selected objects in the current document.

DispatchRotation

#
protected override Response DispatchRotation(ResponseRotationArgs e)
After the generic FlexControl dispatch returns Ignored, route the rotation gesture through a document hit-test so attributes on canvas objects can participate via their Responses. The hit-test runs once per gesture session and the result is cached, so the gesture stays on the original object even if its rotation moves it away from the cursor.

DrawPickMap

#
public Bitmap DrawPickMap()
Draw the picking index map for the current canvas state.

DrawToBitmap

#
public Bitmap DrawToBitmap()
Draw this canvas to a bitmap using the default thumbnail size.

DrawToBitmap

#
public Bitmap DrawToBitmap(int width, int height, bool drawBackground, bool drawWires, bool drawMessages)
Draw this canvas to a bitmap. Content is drawn at its own coordinates from the top left corner, and only objects near the visible frame of this canvas take part.
width (int)
height (int)
drawBackground (bool)
drawWires (bool)
drawMessages (bool)

DrawToBitmap

#
public Bitmap DrawToBitmap(RectangleF region, int width, int height, bool drawBackground, bool drawWires, bool drawMessages)
Draw a region of this canvas to a bitmap.
region (RectangleF)Region to draw, in content coordinates. The region is scaled to fit the bitmap without distorting it. An empty region draws content at its own coordinates from the top left corner, framed by whatever this canvas can see.
width (int)Bitmap width in pixels.
height (int)Bitmap height in pixels.
drawBackground (bool)True to fill the canvas background colour.
drawWires (bool)True to draw wires.
drawMessages (bool)True to draw warning and error balloons.

DrawWindowSelectionEdge

public 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.
inherited fromFlexControl

DrawWindowSelectionEdge

public 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.
inherited fromFlexControl
edge (Pen)Edge edge to use.

DrawWindowSelectionFill

public 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.
inherited fromFlexControl

DrawWindowSelectionFill

public 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.
inherited fromFlexControl
fill (Brush)Fill brush to use.

EndWindowSelect

public void EndWindowSelect()
If, for any reason, you wish to terminate a window selection process prematurely, call this method.
inherited fromFlexControl
EndWindowSelect

FloatingButtonTooltipOverride

protected virtual bool FloatingButtonTooltipOverride(FloatingButton button)
Override this method to provide a custom tooltip for floating buttons.
inherited fromFlexControl
button (FloatingButton)Button for tooltip.
True if the standard tooltip ought to be suppressed.

LooksLikeSingleClick

protected bool LooksLikeSingleClick(MouseEventArgs e)
Test whether the given mouse event is compatible with a single-click-event given the most recent MouseDown event cache.
inherited fromFlexControl
e (MouseEventArgs)

Map

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

Map

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

OnKeyDown

protected override void OnKeyDown(KeyEventArgs e)
Key down handler.
inherited fromFlexControl
e (KeyEventArgs)
Control.OnKeyDown

OnKeyUp

protected override void OnKeyUp(KeyEventArgs e)
Key up handler.
inherited fromFlexControl
e (KeyEventArgs)
Control.OnKeyUp

OnLoad

protected override void OnLoad(EventArgs e)
Raises the Load event, and recurses to this container's children
inherited fromFlexControl
e (EventArgs)Event arguments
Container.OnLoad

OnLoadComplete

protected override void OnLoadComplete(EventArgs e)
Raises the LoadComplete event, and recurses to this container's children
inherited fromFlexControl
e (EventArgs)Event arguments
Container.OnLoadComplete

OnMouseDoubleClick

protected sealed override void OnMouseDoubleClick(MouseEventArgs e)
Default mousedoubleclick handler for IControl. The default handling includes event delegation to the entire IInteraction stack.
inherited fromFlexControl
e (MouseEventArgs)
Control.OnMouseDoubleClick

OnMouseDown

protected sealed override void OnMouseDown(MouseEventArgs e)
Default mousedown handler for IControl. The default handling includes event delegation to the entire IInteraction stack, as well as the creation of Pan and Zoom interactions if needed.
inherited fromFlexControl
e (MouseEventArgs)
Control.OnMouseDown

OnMouseLeave

protected sealed override void OnMouseLeave(MouseEventArgs e)
Default mouseleave handler for IControl. The default handling deals with the hover tracking mechanism.
inherited fromFlexControl
e (MouseEventArgs)
Control.OnMouseLeave

OnMouseMove

protected sealed override void OnMouseMove(MouseEventArgs e)
Default mousemove handler for IControl. The default handling includes event delegation to the entire IInteraction stack, as well as the updating of any active window selection and hover delay tracking.
inherited fromFlexControl
e (MouseEventArgs)
Control.OnMouseMove

OnMouseUp

protected sealed override void OnMouseUp(MouseEventArgs e)
Default mouseup handler for IControl. The default handling includes event delegation to the entire IInteraction stack, as well as the terminating of any window selections and the popping of context menus. Furthermore, this method decides whether to provide a Click event for interaction objects.
inherited fromFlexControl
e (MouseEventArgs)
Control.OnMouseUp

OnMouseWheel

protected sealed override void OnMouseWheel(MouseEventArgs e)
Default mousewheel handler for IControl. The default handling includes event delegation to the entire IInteraction stack, as well as scroll zooming.
inherited fromFlexControl
e (MouseEventArgs)
Control.OnMouseWheel

OnPaint

protected override void OnPaint(PaintEventArgs e)
Runs the drawing pipeline. Do not override this method unless you know *exactly* what you are doing. Handle the Draw(object, ControlDrawEventArgs) event instead.
inherited fromFlexControl
e (PaintEventArgs)
Drawable.OnPaint

OnPinchGesture

#
protected override void OnPinchGesture(PointF cursor, float magnification)
SHIFT + pinch relays the pinch into the nested navigation target under the cursor, driving its zoom. Any other modifier falls through to the base implementation, which zooms the canvas projection.
cursor (PointF)
magnification (float)

OnPopulateContextMenu

protected virtual bool OnPopulateContextMenu(MouseEventArgs e)
Override this method to populate the context menu, or handle the PopulateContextMenu event. This method will automatically show the menu if it contains any items.
inherited fromFlexControl
e (MouseEventArgs)Mouse event arguments associated with this menu popup.
True if menu was shown.

OnScrollGesture

#
protected override void OnScrollGesture(SizeF motion)
SHIFT + two-finger scroll relays the scroll into the nested navigation target under the cursor, driving its pan. Any other modifier falls through to the base implementation, which pans the canvas projection.
motion (SizeF)

OnSizeChanged

protected override void OnSizeChanged(EventArgs e)
Raises the SizeChanged event.
inherited fromFlexControl
e (EventArgs)Event arguments
Control.OnSizeChanged

OnTextInput

protected override void OnTextInput(TextInputEventArgs e)
Text input handler.
inherited fromFlexControl
e (TextInputEventArgs)
Control.OnTextInput

PopFocus

public void PopFocus(IResponsive responsive)
Pop a responsive object off the focus stack. It doesn't matter if it's at the head of the stack, but if it is, the new head will receive focus.
inherited fromFlexControl
responsive (IResponsive)

PushFocus

public void PushFocus(IResponsive responsive)
Push a new responsive object into the top of the focus stack. This does not register the object with this control.
inherited fromFlexControl
responsive (IResponsive)

RegisterIResponsive

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

ResolvePick

#
public SelectionResult ResolvePick(PointF point, bool includeGrips, bool includeForeground, bool includeBackground, bool includeWires, bool recursive)
Resolve the target of a pick operation on all the objects and wires in the document currently on display in this canvas.
point (PointF)Pick location.
includeGrips (bool)If true, parameter inlets and outlets will be considered.
includeForeground (bool)If true, objects drawn on top of wires will be considered.
includeBackground (bool)If true, objects drawn undernath wires will be considered. I.e. groups.
includeWires (bool)If true, wires drawn between the background and foreground objects will be considered.
recursive (bool)If true, subobjects are considered inside top level objects.
Pick result.

ScheduleRedraw

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

ScheduleRedraw

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

ShowInlineEditor

#
public void ShowInlineEditor(RectangleF frame, string initial, Func<string, IResult> apply, Action cancel = null)
Show a single-line text editor anchored to a rectangle in canvas content (world) coordinates. The editor tracks the canvas projection so it remains anchored to the same content rectangle when the user pans or zooms while editing, with its font scaled to match the current zoom.

The apply callback is invoked on every change to the text and is responsible for applying the change to the underlying model. If IResult.Success is true the editor displays a neutral state. If IResult.Success is false the editor tints its background and exposes IResult.Error as a tooltip, but no other action is taken — the most recently applied valid state is retained.

The editor closes automatically when it loses focus, and when the user presses Enter or Tab. In all these cases the last successfully applied value is kept. When the user presses Escape the cancel callback is invoked first (so the caller can restore the original state) and the editor then closes. The cancel callback is only invoked on Escape.

Only one inline editor can be active at a time; calling this method while another editor is open closes the existing one (without invoking its cancel) before opening the new one.

frame (RectangleF)Anchor rectangle in canvas content coordinates.
initial (string)Initial text shown in the editor. The contents are pre-selected so the user can immediately overtype.
apply (Func<string, IResult>)Called on every text change. The caller applies the parsed value when the result is successful. Must not be null.
cancel (Action = null)Optional callback invoked only when the user presses Escape, to allow the caller to revert their model to the original state.

ShowInstantiationPopup

#
public void ShowInstantiationPopup(bool mouseCentred, string initialText = null)
Show the object instantiation window.
mouseCentred (bool)
initialText (string = null)

ShowSearchPopup

#
public void ShowSearchPopup()
Show the search window.

UnregisterIResponsive

public void UnregisterIResponsive(IResponsive responsive)
Remove a responsive object from this control's awareness.
inherited fromFlexControl
responsive (IResponsive)

UpdateMapping

protected void UpdateMapping()
Update the mapping matrices. You *must* call this method whenever you change something that might affect the positioning of the content. For example origin, zoom, bounds...
inherited fromFlexControl

Events

AfterPaintBackground

#
public event EventHandler<CanvasPaintEventArgs> AfterPaintBackground
Raised after the default background grid has been drawn.

AfterPaintGroups

#
public event EventHandler<CanvasPaintEventArgs> AfterPaintGroups
Raised after the groups have been drawn.

AfterPaintObjects

#
public event EventHandler<CanvasPaintEventArgs> AfterPaintObjects
Raised after the objects have been drawn.

AfterPaintWires

#
public event EventHandler<CanvasPaintEventArgs> AfterPaintWires
Raised after the wires have been drawn.

BeforePaintBackground

#
public event EventHandler<CanvasBackgroundPaintEventArgs> BeforePaintBackground
Raised before the default background grid is drawn. It is possible to override the default background painting by handling this event.

BeforePaintGroups

#
public event EventHandler<CanvasPaintEventArgs> BeforePaintGroups
Raised before the groups are drawn.

BeforePaintObjects

#
public event EventHandler<CanvasPaintEventArgs> BeforePaintObjects
Raised before the objects are drawn.

BeforePaintWires

#
public event EventHandler<CanvasPaintEventArgs> BeforePaintWires
Raised before the wires are drawn.

DocumentChanged

#
public event EventHandler DocumentChanged
Raised whenever a different document is loaded in this canvas.

DocumentModified

#
public event EventHandler DocumentModified
Raised whenever the document loaded in this canvas changes its Document.Modified property.

Draw

This event is raised whenever the control paints itself.
inherited fromFlexControl
Draw

MouseDwell

public event EventHandler<MouseDwellEventArgs> MouseDwell
Raised when the mouse dwells over some pixel without moving for a while.
inherited fromFlexControl

PopulateContextMenu

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

ProjectionChanged

public event EventHandler<ProjectionChangedEventArgs> ProjectionChanged
Raised whenever the projection of a control changes.
inherited fromFlexControl
ProjectionChanged

WindowSelection

public event EventHandler<WindowSelectionEventArgs> WindowSelection
Raised whenever a window selection completes.
inherited fromFlexControl
WindowSelection