Complete API surface of the Beep.Skia assembly: 338 public types with their documented members. Follow the family guide for usage patterns.

Types in this assembly

AddComponentAction (class)

Action for adding a component.

MemberKindDescription
AddComponentAction(DrawingManager manager, SkiaComponent component)MethodInitializes a new instance of the AddComponentAction class.
override void Execute()MethodGets or sets the execute.
override void Undo()MethodGets or sets the undo.

AlignComponentsAction (class)

Action for alignment/distribution operations.

MemberKindDescription
AlignComponentsAction(DrawingManager manager, List<SkiaComponent> components, List<SKPoint> beforePositions)MethodInitializes a new instance of the AlignComponentsAction class.
override void Execute()MethodGets or sets the execute.
override void Undo()MethodGets or sets the undo.

ApiResponse (class)

Transport-neutral API response envelope.

MemberKindDescription
bool SuccessPropertyGets or sets the success.
string ErrorPropertyGets or sets the error.
object PayloadPropertyGets or sets the payload.
static ApiResponse Ok(object payload = null)MethodGets or sets the ok.
static ApiResponse Fail(string error)MethodGets or sets the fail.

AuditEntry (class)

An audit-trail entry for a collaboration action.

MemberKindDescription
string IdPropertyGets or sets the id.
string DocumentIdPropertyGets or sets the document id.
string UserIdPropertyGets or sets the user id.
string ActionPropertyGets or sets the action.
string DetailsPropertyGets or sets the details.
DateTime TimestampPropertyGets or sets the timestamp.
override string ToString()MethodGets or sets the to string.

AutomationConnection (class)

A named connection definition used by automation nodes (database, API, file share, ...). Credentials are referenced by name and resolved through the CredentialVault.

MemberKindDescription
string NamePropertyGets or sets the name.
string ProviderPropertyGets or sets the provider.
string EndpointPropertyGets or sets the endpoint.
string DatabasePropertyGets or sets the database.
string CredentialNamePropertyGets or sets the credential name.
Dictionary<string, string> PropertiesPropertyGets or sets the properties.
DateTime UpdatedAtPropertyGets or sets the updated at.
AutomationConnection Clone()MethodGets or sets the clone.

AutomationDataSourceRegistry (class)

Ambient registry for the automation data-source provider.

MemberKindDescription
static IAutomationDataSourceProvider ProviderPropertyGets or sets the active provider (null disables real data access).
static bool HasProviderPropertyTrue when a provider is registered.
static void Clear()MethodRemoves the registered provider.

AutomationNode (class)

Base class for automation nodes that provides both visual representation and automation execution capabilities. Combines SkiaComponent visual behavior with IAutomationNode automation interface.

MemberKindDescription
new string IdPropertyGets the unique identifier for this automation node.
new string NamePropertyGets the display name of this automation node.
abstract string DescriptionPropertyGets the description of what this automation node does.
abstract NodeType NodeTypePropertyGets the type of this automation node.
NodeStatus StatusPropertyGets the current status of this automation node.
void SetExecutionStatus(NodeStatus status)MethodSets the execution status from a host (used for live workflow run visualization). The node status to display.
Dictionary<string, object> ConfigurationPropertyGets or sets the configuration parameters for this node.
IList<IConnectionPoint> InputConnectionsPropertyGets the input connection points for this automation node. Backed by the component's canvas connection points so serialization and the drawing manager see exactly the ports the automation runtime uses.
IList<IConnectionPoint> OutputConnectionsPropertyGets the output connection points for this automation node. Backed by the component's canvas connection points so serialization and the drawing manager see exactly the ports the automation runtime uses.
new bool IsEnabledPropertyGets a value indicating whether this node is currently enabled for execution.
event EventHandler<NodeExecutionEventArgs> StatusChangedEventEvent raised when the node's execution status changes.
event EventHandler<NodeErrorEventArgs> ErrorOccurredEventEvent raised when the node encounters an error during execution.
abstract Task<bool> InitializeAsync(Dictionary<string, object> configuration, CancellationToken cancellationToken = default)MethodInitializes the automation node with the specified configuration. The configuration parameters for the node. Token to cancel the initialization. A task representing the initialization operation.
abstract Task<ValidationResult> ValidateAsync(Model.ExecutionContext inputData, CancellationToken cancellationToken = default)MethodValidates the current configuration and input data for this node. The input data to validate. Token to cancel the validation. A task containing the validation result.
abstract Task<NodeResult> ExecuteAsync(Model.ExecutionContext context, CancellationToken cancellationToken = default)MethodExecutes the automation node's logic with the provided execution context. The execution context containing input data and workflow state. Token to cancel the execution. A task containing the execution result.
abstract Dictionary<string, object> GetInputSchema()MethodGets the schema defining the input parameters this node expects. A dictionary describing the input schema.
abstract Dictionary<string, object> GetOutputSchema()MethodGets the schema defining the output parameters this node produces. A dictionary describing the output schema.
virtual Task ResetAsync()MethodResets the node to its initial state, clearing any cached data or temporary state.
virtual void ApplyNodeProperties()MethodApplies values from NodeProperties back to this node's public settable properties (by name) and updates Configuration. Name matching is case-insensitive.
void DrawNode(SKCanvas canvas, DrawingContext context)MethodPublic method to draw the node (used by WorkflowCanvas). The canvas to draw on. The drawing context.

BorderStyle (enum)

Specifies the border style of a control.

BuiltinIcons (class)

Built-in SVG icon library for Beep.Skia components. Each icon is stored as an SVG path string suitable for use with SvgImage or MaterialControl. These match the most common diagramming and UI icon needs.

MemberKindDescription
static string GetSvg(string name)MethodGets a built-in SVG icon by name. Returns null if not found.
static IEnumerable<string> NamesPropertyAll available icon names.

Button (class)

A Material Design 3.0 button component with SVG icon support.

MemberKindDescription
string TextPropertyGets or sets the text displayed on the button.
SKColor BackgroundColorPropertyGets or sets the background color of the button.
new SKColor TextColorPropertyGets or sets the text color of the button.
float CornerRadiusPropertyGets or sets the corner radius of the button.
ButtonVariant VariantPropertyGets or sets the button variant (Material Design 3.0).
string LeadingIconPropertyGets or sets the leading SVG icon path or URL.
string TrailingIconPropertyGets or sets the trailing SVG icon path or URL.
string ErrorMessagePropertyGets or sets the error message to display below the button.
string TitlePropertyGets or sets the title text to display above the button.
Button()MethodInitializes a new instance of the Button class.
Button(string text) : this()MethodInitializes a new instance of the Button class with specified text.

ButtonGroup (class)

A Material Design 3.0 Button Group component that arranges buttons in horizontal, vertical, or grid layouts.

MemberKindDescription
ButtonGroupLayout LayoutPropertyGets or sets the layout direction of the button group.
ButtonGroupVariant VariantPropertyGets or sets the button group variant (Material Design 3.0).
float SpacingPropertyGets or sets the spacing between buttons in pixels.
float ButtonWidthPropertyGets or sets the default width for buttons in the group.
float ButtonHeightPropertyGets or sets the default height for buttons in the group.
bool EqualWidthPropertyGets or sets whether all buttons should have equal width.
SKColor GroupBackgroundColorPropertyGets or sets the background color of the button group.
float CornerRadiusPropertyGets or sets the corner radius of the button group.
IReadOnlyList<Button> ButtonsPropertyGets the collection of buttons in the group.
ButtonGroup()MethodInitializes a new instance of the ButtonGroup class.
void AddButton(Button button)MethodAdds a button to the group. The button to add.
bool RemoveButton(Button button)MethodRemoves a button from the group. The button to remove. True if the button was removed; otherwise, false.
static ButtonGroup CreateHorizontalGroup(params string[] buttonTexts)MethodCreates a simple horizontal button group with the specified button texts. The texts for the buttons. A configured ButtonGroup instance.
static ButtonGroup CreateVerticalGroup(params string[] buttonTexts)MethodCreates a vertical button group with the specified button texts. The texts for the buttons. A configured ButtonGroup instance.
static ButtonGroup CreateButtonGrid(string[] buttonTexts, int columns)MethodCreates a button grid with the specified button texts and grid dimensions. The texts for the buttons. The number of columns in the grid. A configured ButtonGroup instance.

ButtonGroupLayout (enum)

Material Design 3.0 button group layout options.

ButtonGroupVariant (enum)

Material Design 3.0 button group variants.

ButtonStyle (enum)

Specifies the style of a button.

ButtonVariant (enum)

Material Design 3.0 button variants.

Card (class)

A Material Design 3.0 Card component that displays content and actions on a single topic. Cards are surfaces that display content and actions on a single subject.

MemberKindDescription
CardVariant VariantPropertyGets or sets the card variant (Elevated, Filled, or Outlined).
bool IsClickablePropertyGets or sets whether the card is clickable.
bool IsSelectablePropertyGets or sets whether the card is selectable.
new bool IsSelectedPropertyGets or sets whether the card is selected.
float CornerRadiusPropertyGets or sets the corner radius of the card.
SKColor CardBackgroundColorPropertyGets or sets the background color of the card.
SKColor CardOutlineColorPropertyGets or sets the outline color of the card (for Outlined variant).
float CardElevationPropertyGets or sets the elevation of the card.
event EventHandler<EventArgs> CardClickedEventOccurs when the card is clicked.
Card()MethodInitializes a new instance of the Card class.
Card(float width, float height) : this()MethodInitializes a new instance of the Card class with specified dimensions. The width of the card. The height of the card.
void AddHeaderComponent(SkiaComponent component)MethodAdds a component to the card's header area. The component to add.
void RemoveHeaderComponent(SkiaComponent component)MethodRemoves a component from the card's header area. The component to remove.
void AddMediaComponent(SkiaComponent component)MethodAdds a component to the card's media area. The component to add.
void RemoveMediaComponent(SkiaComponent component)MethodRemoves a component from the card's media area. The component to remove.
void AddContentComponent(SkiaComponent component)MethodAdds a component to the card's content area. The component to add.
void RemoveContentComponent(SkiaComponent component)MethodRemoves a component from the card's content area. The component to remove.
void AddActionComponent(SkiaComponent component)MethodAdds a component to the card's action area. The component to add.
void RemoveActionComponent(SkiaComponent component)MethodRemoves a component from the card's action area. The component to remove.

CardVariant (enum)

Specifies the visual variant of a card.

CascadingMenu (class)

A Material Design 3.0 Cascading Menu component that supports nested submenus.

MemberKindDescription
int SubmenuDelayPropertyGets or sets the delay before showing submenus (in milliseconds).
event EventHandler<CascadingMenuEventArgs> SubmenuShowingEventOccurs when a submenu is about to be shown.
event EventHandler<CascadingMenuEventArgs> SubmenuHiddenEventOccurs when a submenu is hidden.
CascadingMenu()MethodInitializes a new instance of the CascadingMenu class.
void AddItem(CascadingMenuItem item)MethodAdds a cascading menu item. The cascading menu item to add.
CascadingMenuItem AddItem(string text, CascadingMenu submenu = null, string icon = "", string shortcut = "")MethodAdds a cascading menu item with the specified text and submenu. The text for the menu item. The submenu to display when hovered. The icon for the menu item. The keyboard shortcut.
void RemoveItem(CascadingMenuItem item)MethodRemoves a cascading menu item. The cascading menu item to remove.
void ShowSubmenu(CascadingMenuItem item)MethodShows the submenu for the specified item. The menu item whose submenu to show.
void HideSubmenu()MethodHides the currently shown submenu.

CascadingMenuEventArgs (class)

Cascading menu event arguments.

CascadingMenuItem (class)

Represents an item in a cascading menu that can have a submenu.

MemberKindDescription
string TextPropertyGets or sets the text of the menu item.
CascadingMenu SubmenuPropertyGets or sets the submenu associated with this item.
CascadingMenu ParentMenuPropertyGets or sets the parent menu that contains this item.
string IconPropertyGets or sets the icon for the menu item.
string ShortcutPropertyGets or sets the keyboard shortcut.
bool IsHoveredPropertyGets or sets whether the item is hovered.
bool HasSubmenuPropertyGets whether this item has a submenu.
CascadingMenuItem(string text, CascadingMenu submenu = null, string icon = "", string shortcut = "")MethodInitializes a new instance of the CascadingMenuItem class. The text of the menu item. The submenu to display when hovered. The icon for the menu item. The keyboard shortcut.
void Draw(SKCanvas canvas, SKRect bounds)MethodDraws the cascading menu item. The canvas to draw on. The bounds to draw within.
static CascadingMenuItem Separator()MethodCreates a separator cascading menu item.

Checkbox (class)

A Material Design 3.0 Checkbox component that allows users to select one or more items from a list, or turn an item on or off.

MemberKindDescription
CheckState CheckStatePropertyGets or sets the current check state of the checkbox.
new bool IsEnabledPropertyGets or sets whether the checkbox is enabled.
bool IsCheckedPropertyGets or sets whether the checkbox is checked (convenience property).
bool IsIndeterminatePropertyGets or sets whether the checkbox is indeterminate.
event EventHandler<EventArgs> CheckStateChangedEventOccurs when the check state of the checkbox changes.
Checkbox()MethodInitializes a new instance of the Checkbox class.
Checkbox(CheckState initialState) : this()MethodInitializes a new instance of the Checkbox class with the specified initial state. The initial check state of the checkbox.
Checkbox(bool isChecked) : this()MethodInitializes a new instance of the Checkbox class with the specified initial checked state. Whether the checkbox should be initially checked.
void ToggleState()MethodToggles the checkbox between checked and unchecked states.
void NextState()MethodSets the checkbox to the next state in the cycle.
void PreviousState()MethodSets the checkbox to the previous state in the cycle.

CheckBoxGroup (class)

A group of check box controls.

MemberKindDescription
CheckBoxGroupItemCollection ItemsPropertyGets the collection of items in the check box group.
CheckBoxGroupStyle StylePropertyGets or sets the style of the check box group.
Orientation OrientationPropertyGets or sets the orientation of the check box group.
BorderStyle BorderStylePropertyGets or sets the border style of the check box group.
int ItemHeightPropertyGets or sets the height of each item.
int SpacingPropertyGets or sets the spacing between items.
CheckBoxGroup()MethodInitializes a new instance of the CheckBoxGroup class.

CheckBoxGroupItem (class)

Represents an item in a check box group.

MemberKindDescription
string TextPropertyGets or sets the text of the item.
bool CheckedPropertyGets or sets whether the item is checked.
object TagPropertyGets or sets the tag associated with the item.
CheckBoxGroupItem()MethodInitializes a new instance of the CheckBoxGroupItem class.
CheckBoxGroupItem(string text)MethodInitializes a new instance of the CheckBoxGroupItem class with the specified text.
CheckBoxGroupItem(string text, bool isChecked)MethodInitializes a new instance of the CheckBoxGroupItem class with the specified text and checked state.

CheckBoxGroupItemCollection (class)

A collection of check box items.

CheckBoxGroupStyle (enum)

Specifies the style of a check box group.

CheckBoxStyle (enum)

Specifies the style of a check box.

CheckMarkStyle (enum)

Specifies the style of a check mark.

CheckState (enum)

Specifies the check state of a checkbox.

CollaborationRole (enum)

Permission level a user has on a shared diagram document.

CollaborationSerializer (class)

Persists collaboration state to and from JSON.

MemberKindDescription
static string ToJson(CollaborationService service)MethodSerializes a service's state to JSON.
static CollaborationService FromJson(string json)MethodRestores a new service from JSON.
static void Save(CollaborationService service, string filePath)MethodWrites collaboration state to a file.
static CollaborationService Load(string filePath)MethodReads collaboration state from a file.

CollaborationService (class)

In-memory collaboration service: users, document sharing with roles, comments, presence tracking, and an audit trail. Transport-agnostic so it can back a desktop host, a REST API, or a real-time server. All state is guarded by a single lock: the service is shared by UI and server callers, so concurrent comments/grants/presence updates must not corrupt it. Read APIs return snapshots so callers cannot mutate internal state (role changes must go through Grant/Revoke/SetPublic).

MemberKindDescription
IReadOnlyList<CollaborationUser> UsersPropertyRegistered users.
IReadOnlyList<DiagramComment> AllCommentsPropertyAll comments across documents.
IReadOnlyList<AuditEntry> AuditTrailPropertyFull audit trail.
void RegisterUser(CollaborationUser user)MethodRegisters or replaces a user.
CollaborationUser GetUser(string userId)MethodGets a user by id, or null.
DocumentShare Share( string documentId, string ownerId, params (string UserId, CollaborationRole Role)[] members)MethodShares a document with the given members. The owner is registered as Admin. Returns a snapshot of the resulting share.
DocumentShare GetShare(string documentId)MethodGets a snapshot of the sharing state for a document, or null when not shared.
CollaborationRole? GetRole(string documentId, string userId)MethodGets a user's role on a document (public documents grant Viewer).
bool CanView(string documentId, string userId)MethodGets or sets the can view.
bool CanComment(string documentId, string userId)MethodGets or sets the can comment.
bool CanEdit(string documentId, string userId)MethodGets or sets the can edit.
bool CanAdminister(string documentId, string userId)MethodGets or sets the can administer.
bool Grant(string documentId, string requesterId, string userId, CollaborationRole role)MethodGrants or updates a member role (admin only).
bool Revoke(string documentId, string requesterId, string userId)MethodRevokes a member (admin only; the owner cannot be revoked).
bool SetPublic(string documentId, string requesterId, bool isPublic)MethodToggles public (view-only) access (admin only).
DiagramComment AddComment(string documentId, string userId, string text, string componentId = null)MethodAdds a comment (requires Commenter or higher). Returns null when not permitted.
bool ResolveComment(string documentId, string commentId, string userId)MethodResolves a comment (author or admin only).
IReadOnlyList<DiagramComment> GetComments(string documentId, bool includeResolved = false)MethodGets comments for a document (optionally including resolved ones).
void SetPresence(string documentId, string userId, string activity = null)MethodMarks a user as active on a document (requires view permission).
IReadOnlyList<PresenceEntry> GetPresence(string documentId, TimeSpan? activeWindow = null)MethodGets active presence entries within the given window (default 5 minutes).
bool RemovePresence(string documentId, string userId)MethodRemoves a user's presence from a document.
IReadOnlyList<AuditEntry> GetAudit(string documentId)MethodGets the audit trail for a document (newest last).
CollaborationSnapshot CreateSnapshot()MethodCaptures the persistable state (users, shares, comments, audit).
void Restore(CollaborationSnapshot snapshot)MethodReplaces all state from a snapshot (no-op when null).

CollaborationSnapshot (class)

Serializable collaboration state (users, shares, comments, audit). Presence is intentionally excluded — it is ephemeral.

MemberKindDescription
int VersionPropertyGets or sets the version.
List<UserRecord> UsersPropertyGets or sets the users.
List<DocumentShare> SharesPropertyGets or sets the shares.
List<DiagramComment> CommentsPropertyGets or sets the comments.
List<AuditEntry> AuditPropertyGets or sets the audit.

CollaborationUser (class)

A user participating in collaboration.

MemberKindDescription
string IdPropertyGets or sets the id.
string DisplayNamePropertyGets or sets the display name.
string EmailPropertyGets or sets the email.
SKColor ColorPropertyPresence color used for cursors/avatars.

ColorPicker (class)

A Material Design 3.0 color picker component

MemberKindDescription
SKColor SelectedColorPropertyGets or sets the selected color
float HuePropertyGets or sets the hue component (0-360)
float SaturationPropertyGets or sets the saturation component (0-1)
float ValuePropertyGets or sets the value/brightness component (0-1)
float AlphaPropertyGets or sets the alpha component (0-1)
bool ShowAlphaPropertyGets or sets whether to show the alpha slider
float ColorWheelRadiusPropertyGets or sets the color wheel radius
float BrightnessBarWidthPropertyGets or sets the brightness bar width
event EventHandler ColorChangedEventOccurs when the selected color changes
ColorPicker()MethodInitializes a new instance of the ColorPicker class

ColorPickerStyle (enum)

Specifies the style of a color picker.

ComboBoxItem (class)

Represents an item in a combo box.

MemberKindDescription
string TextPropertyGets or sets the text of the item.
object ValuePropertyGets or sets the value associated with the item.
bool EnabledPropertyGets or sets whether the item is enabled.
ComboBoxItem()MethodInitializes a new instance of the ComboBoxItem class.
ComboBoxItem(string text)MethodInitializes a new instance of the ComboBoxItem class with the specified text.
ComboBoxItem(string text, object value)MethodInitializes a new instance of the ComboBoxItem class with the specified text and value.
override string ToString()MethodReturns a string representation of the item.

ComboBoxItemCollection (class)

A collection of combo box items.

MemberKindDescription
void Add(string text)MethodAdds an item with the specified text to the collection.
void Add(string text, object value)MethodAdds an item with the specified text and value to the collection.

ComboBoxStyle (enum)

Specifies the style of a combo box.

CommentPin (class)

A comment pin anchored to a component in the diagram.

MemberKindDescription
string ComponentIdPropertyComponent this pin is anchored to.
int IndexProperty1-based display number.
SKPoint PositionPropertyCenter of the pin in world coordinates.
SKRect ComponentBoundsPropertyBounds of the anchored component.
List<string> CommentIdsPropertyUnresolved comment ids anchored to this component.
int CommentCountPropertyGets or sets the comment count.
bool Contains(SKPoint point, float radius = CommentPinLayer.PinRadius)MethodGets or sets the contains.
override string ToString()MethodGets or sets the to string.

CommentPinLayer (class)

Computes and renders comment pins for unresolved comments anchored to components. Pins sit on the top-right corner of their component, like review badges.

MemberKindDescription
const float PinRadius = 11fConstantConstant pin radius.
const float PinOffset = 4fConstantConstant pin offset.
IReadOnlyList<CommentPin> PinsPropertyGets or sets the pins.
void Rebuild(IEnumerable<SkiaComponent> components, IEnumerable<DiagramComment> comments, int maxPins = 100)MethodRebuilds pins from unresolved comments and diagram components. A comment anchors to a component when ComponentId matches the component's Name (case-insensitive) or id.
CommentPin HitTest(SKPoint point)MethodReturns the pin under a world-space point, or null.
void Clear()MethodClears all pins.
void Draw(SKCanvas canvas, SKColor? accent = null)MethodDraws the pins onto the canvas (world-space transform expected).

ComponentCategory (class)

Represents a category of components in the palette.

ComponentClickEventArgs (class)

Event args for component (node) click events.

MemberKindDescription
IDrawableComponent ComponentPropertyGets or sets the component.
SKPoint ClickPositionPropertyGets or sets the click position.
MouseButton ButtonPropertyGets or sets the button.
bool IsDoubleClickPropertyGets or sets the is double click.

ComponentDragEventArgs (class)

Provides data for component drag events.

ComponentDragState (enum)

Specifies the state of a component drag operation.

ComponentDropEventArgs (class)

Event args for when a component is dropped after a drag operation. Provides final positions in canvas and screen space along with final bounds.

MemberKindDescription
SkiaComponent ComponentPropertyGets or sets the component.
SKPoint CanvasPositionPropertyGets or sets the canvas position.
SKPoint ScreenPositionPropertyGets or sets the screen position.
SKRect BoundsPropertyGets or sets the bounds.
SKPoint LocationPropertyGets or sets the location.

ComponentDto (class)

MemberKindDescription
string TypePropertyGets or sets the type.
float XPropertyGets or sets the x.
float YPropertyGets or sets the y.
float WidthPropertyGets or sets the width.
float HeightPropertyGets or sets the height.
string NamePropertyGets or sets the name.
Dictionary<string, string> PropertyBagPropertyGets or sets the property bag.
Dictionary<string, JsonElement> TypedPropertyBagPropertyGets or sets the typed property bag.
List<Guid> InPointIdsPropertyGets or sets the in point ids.
List<Guid> OutPointIdsPropertyGets or sets the out point ids.

ComponentEventArgs (class)

Provides event arguments for component-related events.

MemberKindDescription
SkiaComponent ComponentPropertyGets the component associated with the event.
ComponentEventArgs(SkiaComponent component)MethodInitializes a new instance of the ComponentEventArgs class. The component associated with the event.

ComponentInteractionEventArgs (class)

Event arguments for component interaction events. Provides detailed information about component clicks, hovers, and other interactions.

MemberKindDescription
SkiaComponent ComponentPropertyGets the component that was interacted with.
SKPoint CanvasPositionPropertyGets the mouse position in canvas coordinates where the interaction occurred.
SKPoint ScreenPositionPropertyGets the mouse position in screen coordinates where the interaction occurred.
int MouseButtonPropertyGets the mouse button involved in the interaction (0=left, 1=right, 2=middle).
SKKeyModifiers ModifiersPropertyGets the keyboard modifiers pressed during the interaction.
bool HandledPropertyGets or sets whether this event has been handled and should not propagate further.
InteractionType InteractionTypePropertyGets the interaction type (Click, DoubleClick, RightClick, Hover, etc.).
object TagPropertyGets custom data associated with this interaction.
ComponentInteractionEventArgs( SkiaComponent component, SKPoint canvasPosition, SKPoint screenPosition, int mouseButton, SKKeyModifiers modifiers, InteractionType interactionType)MethodInitializes a new instance of the ComponentInteractionEventArgs class.

ComponentItem (class)

Represents a component item that can be either a class or a method.

ComponentManager (class)

Manages the lifecycle, rendering, and interaction of Skia components. This is the central coordinator for the Skia component framework.

MemberKindDescription
SKCanvas CanvasPropertyGets or sets the Skia canvas used for rendering.
DrawingContext DrawingContextPropertyGets the current drawing context.
InteractionContext InteractionContextPropertyGets the current interaction context.
SKColor BackgroundColorPropertyGets or sets the background color of the canvas.
bool AutoClearCanvasPropertyGets or sets a value indicating whether the component manager should automatically clear the canvas before rendering.
event EventHandler CanvasChangedEventOccurs when the canvas is changed.
event EventHandler RenderingEventOccurs before rendering begins.
event EventHandler RenderedEventOccurs after rendering is complete.
event EventHandler<ComponentEventArgs> ComponentAddedEventOccurs when a component is added to the manager.
event EventHandler<ComponentEventArgs> ComponentRemovedEventOccurs when a component is removed from the manager.
ComponentManager()MethodInitializes a new instance of the ComponentManager class.
ComponentManager(SKCanvas canvas) : this()MethodInitializes a new instance of the ComponentManager class with the specified canvas. The Skia canvas to use for rendering.
void AddComponent(SkiaComponent component)MethodAdds a component to the manager. The component to add.
void RemoveComponent(SkiaComponent component)MethodRemoves a component from the manager. The component to remove.
IReadOnlyCollection<SkiaComponent> GetComponents()MethodGets all components managed by this manager. A read-only collection of components.
SkiaComponent FindComponent(string name)MethodFinds a component by name. The name of the component to find. The component with the specified name, or null if not found.
IEnumerable<T> FindComponents<T>() where T : SkiaComponentMethodFinds components of the specified type. The type of components to find. A collection of components of the specified type.
void Update()MethodUpdates all managed components.
void Render()MethodRenders all managed components to the canvas.
bool HandleMouseDown(SKPoint point, int button = 0, int modifiers = 0)MethodHandles mouse down events. The mouse position. The mouse button that was pressed. Modifier keys that were pressed. true if the event was handled; otherwise, false.
bool HandleMouseMove(SKPoint point, int modifiers = 0)MethodHandles mouse move events. The mouse position. Modifier keys that were pressed. true if the event was handled; otherwise, false.
bool HandleMouseUp(SKPoint point, int button = 0, int modifiers = 0)MethodHandles mouse up events. The mouse position. The mouse button that was released. Modifier keys that were pressed. true if the event was handled; otherwise, false.
void Dispose()MethodPerforms application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

ComponentMetadata (class)

Metadata container for component information.

ComponentPalette (class)

A component palette that displays available Skia components in an organized list with drag and drop functionality for design-time component creation.

MemberKindDescription
event EventHandler<ComponentItem> ComponentSelectedEventOccurs when a component is selected in the palette.
event EventHandler<ComponentDragEventArgs> ComponentDragStartedEventOccurs when a component starts being dragged from the palette.
event EventHandler<ComponentDragEventArgs> ComponentDraggingEventOccurs when a component is being dragged.
event EventHandler<ComponentDragEventArgs> ComponentDragEndedEventOccurs when a component drag operation ends.
ObservableCollection<ComponentCategory> CategoriesPropertyGets or sets the categories of components to display.
ComponentCategory SelectedCategoryPropertyGets or sets the currently selected category.
float ItemHeightPropertyGets or sets the height of each component item.
float CategoryHeaderHeightPropertyGets or sets the height of category headers.
ComponentItem DraggedComponentPropertyGets the currently dragged component.
bool IsDraggingPropertyGets whether a component is currently being dragged.
ComponentPalette()MethodInitializes a new instance of the ComponentPalette class.
void LoadComponentsFromRegistry()MethodLoads components from the SkiaComponentRegistry and organizes them into categories.

ComponentPropertiesCancelledEventArgs (class)

Event arguments for component properties cancelled event.

MemberKindDescription
SkiaComponent ComponentPropertyGets the component whose property editing was cancelled.
ComponentPropertiesCancelledEventArgs(SkiaComponent component)MethodInitializes a new instance of the ComponentPropertiesCancelledEventArgs class. The component whose property editing was cancelled.

ComponentPropertiesSavedEventArgs (class)

Event arguments for component properties saved event.

MemberKindDescription
SkiaComponent ComponentPropertyGets the component whose properties were saved.
ComponentPropertiesSavedEventArgs(SkiaComponent component)MethodInitializes a new instance of the ComponentPropertiesSavedEventArgs class. The component whose properties were saved.

ComponentPropertyEditor (class)

Generic property editor for any SkiaComponent, providing a comprehensive interface for editing component properties, configuration, and display settings.

MemberKindDescription
DrawingManager ManagerPropertyGets or sets the manager.
override bool ShowInPalettePropertyGets or sets the show in palette.
event EventHandler<ComponentPropertiesSavedEventArgs> PropertiesSavedEventEvent raised when properties are saved.
event EventHandler<ComponentPropertiesCancelledEventArgs> PropertiesCancelledEventEvent raised when editing is cancelled.
event EventHandler PropertyValueChangedEventEvent raised whenever a property value changes via the editor controls.
SkiaComponent SelectedComponentPropertyGets or sets the currently selected component for editing.
Beep.Skia.Model.IConnectionLine SelectedLinePropertyGets or sets the currently selected line for editing.
bool IsDirtyPropertyGets whether the current properties have unsaved changes.
ComponentPropertyEditor()MethodInitializes a new instance of the ComponentPropertyEditor class.
override bool HandleMouseDown(SKPoint point, InteractionContext context)MethodGets or sets the handle mouse down.
override bool HandleMouseMove(SKPoint point, InteractionContext context)MethodGets or sets the handle mouse move.
override bool HandleMouseUp(SKPoint point, InteractionContext context)MethodGets or sets the handle mouse up.
void HandleKeyChar(char ch)MethodGets or sets the handle key char.
void HandleKeyDown(PropertyEditorKey key)MethodGets or sets the handle key down.

ComponentStateChangedEventArgs (class)

Provides event arguments for component state changes.

MemberKindDescription
ComponentState OldStatePropertyGets the previous state of the component.
ComponentState NewStatePropertyGets the new state of the component.
ComponentStateChangedEventArgs(ComponentState oldState, ComponentState newState)MethodInitializes a new instance of the ComponentStateChangedEventArgs class. The previous state. The new state.

ConditionalNode (class)

Automation node that provides conditional branching logic for workflow automation. Evaluates conditions and directs flow to different paths based on results.

MemberKindDescription
ConditionalNode()MethodInitializes a new instance of the ConditionalNode class.
List<ConditionRule> ConditionsPropertyGets or sets the list of conditions to evaluate.
string LogicOperatorPropertyGets or sets the logic operator to combine conditions (AND, OR).
string DefaultPathPropertyGets or sets the default path when conditions don't match (true, false, custom path name).
bool EvaluateAllConditionsPropertyGets or sets whether to evaluate all conditions or stop at first match.
Dictionary<string, List<IAutomationNode>> ConditionalPathsPropertyGets or sets the conditional execution paths.
bool AllowCustomPathsPropertyGets or sets whether custom named paths are allowed beyond true/false.
override string DescriptionPropertyGets the description of what this automation node does.
override NodeType NodeTypePropertyGets the type of this automation node.
override Task<bool> InitializeAsync(Dictionary<string, object> configuration, CancellationToken cancellationToken = default)MethodInitializes the conditional node with the specified configuration. The configuration parameters for the node. Token to cancel the initialization. A task representing the initialization operation.
override async Task<ValidationResult> ValidateAsync(Model.ExecutionContext inputData, CancellationToken cancellationToken = default)MethodValidates the current configuration and input data for this node. The input data to validate. Token to cancel the validation. A task containing the validation result.
override async Task<NodeResult> ExecuteAsync(Model.ExecutionContext context, CancellationToken cancellationToken = default)MethodExecutes the conditional logic and returns the result with the chosen path. The execution context containing input data and workflow state. Token to cancel the execution. A task containing the execution result.
override Dictionary<string, object> GetInputSchema()MethodGets the schema defining the input parameters this node expects. A dictionary describing the input schema.
override Dictionary<string, object> GetOutputSchema()MethodGets the schema defining the output parameters this node produces. A dictionary describing the output schema.

ConditionEvaluationResult (class)

Represents the result of evaluating a single condition.

MemberKindDescription
string ConditionPropertyGets or sets the condition description.
bool ResultPropertyGets or sets the evaluation result.
object ActualValuePropertyGets or sets the actual value that was evaluated.
object ExpectedValuePropertyGets or sets the expected value for comparison.
string ErrorPropertyGets or sets any error that occurred during evaluation.
TimeSpan EvaluationTimePropertyGets or sets the time taken to evaluate this condition.

ConditionRule (class)

Represents a condition rule for evaluation.

MemberKindDescription
string FieldPropertyGets or sets the field name or path to evaluate.
string OperatorPropertyGets or sets the comparison operator.
object ValuePropertyGets or sets the value to compare against.
string CustomPathPropertyGets or sets the custom path to take if this condition is true (optional).

ConnectAutomationNodesAction (class)

Action for connecting automation nodes.

MemberKindDescription
ConnectAutomationNodesAction(DrawingManager manager, Components.AutomationNode node1, Components.AutomationNode node2, IConnectionLine line, IConnectionPoint outputPoint, IConnectionPoint inputPoint)MethodInitializes a new instance of the ConnectAutomationNodesAction class.
override void Execute()MethodGets or sets the execute.
override void Undo()MethodGets or sets the undo.

ConnectComponentsAction (class)

Action for connecting components.

MemberKindDescription
ConnectComponentsAction(DrawingManager manager, SkiaComponent component1, SkiaComponent component2, IConnectionLine line)MethodInitializes a new instance of the ConnectComponentsAction class.
override void Execute()MethodGets or sets the execute.
override void Undo()MethodGets or sets the undo.

ConnectionChangedEventArgs (class)

Event arguments for connection added/removed events.

MemberKindDescription
IDrawableComponent SourcePropertyThe source component (connector / initiator).
IDrawableComponent TargetPropertyThe target component (connected / receiver).
ConnectionDirection DirectionPropertyDirection relative to the component firing the event.
ConnectionChangedEventArgs(IDrawableComponent source, IDrawableComponent target, ConnectionDirection direction)MethodInitializes a new instance of the ConnectionChangedEventArgs class. Source component. Target component. Direction relative to event sender.

ConnectionCreatedEventArgs (class)

Event arguments for connection creation events.

MemberKindDescription
WorkflowConnection ConnectionPropertyGets or sets the connection.

ConnectionDirection (enum)

Direction of a connection relative to the component raising the event.

ConnectionLine (class)

Represents a visual connection line between two connection points that can be drawn on a Skia canvas. This class implements the IConnectionLine interface and provides functionality for drawing lines, arrows, labels, animations, and user interaction handling.

MemberKindDescription
ConnectionLine(Action invalidateVisualAction)MethodInitializes a new instance of the ConnectionLine class with an invalidate visual action. The action to call when the visual needs to be invalidated.
IConnectionPoint StartPropertyGets or sets the starting connection point of this line.
IConnectionPoint EndPropertyGets or sets the ending connection point of this line.
SKPoint EndPointPropertyGets or sets the end point coordinates when not connected to an end connection point.
bool IsConnectedPropertyGets or sets a value indicating whether this connection line is connected.
bool IsSelectedPropertyGets or sets a value indicating whether this connection line is selected.
bool IsVisiblePropertyGets or sets whether this line is visible. Hidden lines are skipped by the renderer.
bool IsAnimatedPropertyGets or sets a value indicating whether this connection line should be animated.
bool IsDataFlowAnimatedPropertyGets or sets a value indicating whether data flow animation is enabled.
float DataFlowSpeedPropertyGets or sets the speed of the data flow animation (pixels per second).
float DataFlowParticleSizePropertyGets or sets the size of the data flow particles.
SKColor DataFlowColorPropertyGets or sets the color of the data flow particles.
bool ShowStartArrowPropertyGets or sets a value indicating whether to show an arrow at the start of the line.
bool ShowEndArrowPropertyGets or sets a value indicating whether to show an arrow at the end of the line.
SKPaint PaintPropertyGets or sets the paint object used for drawing the connection line.
string Label1PropertyGets or sets the first label text to display on the connection line.
string Label2PropertyGets or sets the second label text to display on the connection line.
string Label3PropertyGets or sets the third label text to display on the connection line.
string DataTypeLabelPropertyGets or sets the data type label to display on the connection line. If not set, will automatically use the data type from the start connection point.
string GuardConditionPropertyOptional guard condition evaluated before a state-machine transition fires.
string TransitionActionPropertyOptional action executed when a state-machine transition fires.
string TriggerEventPropertyOptional trigger event name that causes the transition to fire.
event EventHandler<ConnectionArgs> StartArrowClickedEventOccurs when the start arrow of the connection line is clicked.
event EventHandler<ConnectionArgs> EndArrowClickedEventOccurs when the end arrow of the connection line is clicked.
event EventHandler<LineArgs> LineClickedEventOccurs when the connection line itself is clicked.
SKColor LineColorPropertyGets or sets the color of the connection line.
ConnectionLine(IConnectionPoint start, IConnectionPoint end, Action invalidateVisualAction)MethodInitializes a new instance of the ConnectionLine class with start and end connection points. The starting connection point. The ending connection point. The action to call when the visual needs to be invalidated. Thrown when start, end, or invalidateVisualAction is null.
ConnectionLine(IConnectionPoint start, SKPoint end, Action invalidateVisualAction)MethodInitializes a new instance of the ConnectionLine class with a start connection point and end coordinates. The starting connection point. The ending point coordinates. The action to call when the visual needs to be invalidated. Thrown when start or invalidateVisualAction is null.
void Draw(SKCanvas canvas)MethodDraws the connection line on the specified Skia canvas. The canvas to draw on.
bool LineContainsPoint(SKPoint point)MethodDetermines whether the specified point lies on the connection line within the click threshold. The point to test. true if the point is on the line; otherwise, false.
bool ArrowContainsPoint(SKPoint point, bool startArrow)MethodDetermines whether the specified point lies within an arrow of the connection line. The point to test. true to test the start arrow; false to test the end arrow. true if the point is within the arrow; otherwise, false.
void OnClick(SKPoint clickPoint)MethodHandles click events on the connection line, determining whether an arrow or the line itself was clicked. The point where the click occurred.
void StartAnimation()MethodStarts the animation of the connection line if it is set to be animated.
void StopAnimation()MethodStops the animation of the connection line.
void Dispose()MethodReleases all resources used by the connection line.

ConnectionManager (class)

Registry of named connections with credential resolution through a vault.

MemberKindDescription
CredentialVault VaultPropertyCredential vault used to resolve connection secrets.
ConnectionManager(CredentialVault vault = null)MethodInitializes a new instance of the ConnectionManager class.
int CountPropertyGets or sets the count.
void Register(AutomationConnection connection)MethodAdds or replaces a connection definition.
AutomationConnection Get(string name)MethodGets a connection by name, or null.
bool Remove(string name)MethodRemoves a connection.
IReadOnlyList<AutomationConnection> List()MethodLists all connections (sorted by name).
Dictionary<string, object> Resolve(string name, bool includeSecrets = true)MethodResolves a connection into a flat settings dictionary, merging custom properties and credential values. Missing credentials add a "_warning" entry instead of throwing.
string TestConnection(string name)MethodPerforms a configuration-level connection test (provider/endpoint/credential presence). Provider-specific network probing is left to the host.

ConnectionPoint (class)

Represents a connection point on a workflow component that can be connected to other connection points. This class implements the IConnectionPoint interface and provides functionality for managing connections between workflow components.

MemberKindDescription
Guid IdPropertyGets the unique identifier of this connection point.
ConnectionPoint()MethodInitializes a new instance of the ConnectionPoint class.
bool IsAvailablePropertyGets or sets a value indicating whether this connection point is available for connection.
SKPoint PositionPropertyGets or sets the position of this connection point.
SKPoint OffsetPropertyGets or sets the offset of this connection point from its parent component.
SKPoint CenterPropertyGets or sets the center point of this connection point.
SKRect RectPropertyGets or sets the rectangular bounds of this connection point.
int RadiusPropertyGets or sets the radius of this connection point (used for circular connection points).
int IndexPropertyGets or sets the index of this connection point within its parent component.
SKRect BoundsPropertyGets or sets the bounding rectangle of this connection point.
ComponentShape ShapePropertyGets or sets the shape of this connection point.
IDrawableComponent ComponentPropertyGets or sets the parent workflow component that owns this connection point.
IConnectionPoint ConnectionPropertyGets or sets the connection point that this connection point is connected to.
ConnectionPointType TypePropertyGets or sets the type of this connection point (input or output).
string DataTypePropertyGets or sets the data type of this connection point (e.g., "string", "number", "object"). Used for data flow visualization and connection validation.
event EventHandler<ConnectionEventArgs> ConnectionMadeEventOccurs when a connection is made from this connection point to another connection point.
void ConnectTo(IConnectionPoint target)MethodConnects this connection point to the specified target connection point. The target connection point to connect to.
void Disconnect()MethodDisconnects this connection point from any connected connection point.

ConnectionPointExtensions (class)

Extension methods for LINQ operations on connection points.

MemberKindDescription
static IEnumerable<IConnectionPoint> Concat(this IList<IConnectionPoint> first, IList<IConnectionPoint> second)MethodConcatenates two collections of connection points.

ConnectionRemovedEventArgs (class)

Event arguments for connection removal events.

MemberKindDescription
WorkflowConnection ConnectionPropertyGets or sets the connection.

ContextMenu (class)

A Material Design 3.0 Context Menu component that appears on right-click.

MemberKindDescription
SKPoint TriggerPointPropertyGets or sets the point where the context menu was triggered.
object ContextObjectPropertyGets or sets the context object associated with this menu.
event EventHandler<ContextMenuEventArgs> ShowingEventOccurs when the context menu is about to be shown.
ContextMenu()MethodInitializes a new instance of the ContextMenu class.
void Show(SKPoint triggerPoint, object contextObject = null)MethodShows the context menu at the specified position with the given context object. The point where the context menu was triggered. The context object associated with the menu.
void AddContextItem(string text, EventHandler action, bool autoIcon = true)MethodAdds a context menu item with automatic icon assignment based on common actions. The menu item text. The action to perform. Whether to automatically assign an icon based on the text.
void AddStandardItems( bool includeCopy = true, bool includeCut = true, bool includePaste = true, bool includeDelete = true, bool includeSelectAll = false)MethodAdds standard context menu items for common operations. Whether to include copy operation. Whether to include cut operation. Whether to include paste operation. Whether to include delete operation. Whether to include select all operation.
void AddStandardItems( DrawingManager manager, bool includeCopy = true, bool includeCut = true, bool includePaste = true, bool includeDelete = true, bool includeSelectAll = true)MethodAdds standard context menu items wired to DrawingManager commands. The menu hides itself after a command is invoked. The drawing manager that provides the commands. Whether to include copy operation. Whether to include cut operation. Whether to include paste operation. Whether to include delete operation. Whether to include select all operation.

ContextMenuEventArgs (class)

Context menu event arguments.

ContextMenuExtensions (class)

Extension methods for context menu functionality.

MemberKindDescription
static void ShowContextMenu(this MaterialControl control, ContextMenu menu, SKPoint position, object contextObject = null)MethodShows a context menu for the specified control at the given position. The control to show the context menu for. The context menu to show. The position to show the menu at. The context object.
static void AttachContextMenu(this MaterialControl control, ContextMenu menu)MethodAttaches a context menu to a control with automatic right-click handling. The control to attach the context menu to. The context menu to attach.

ContextMenuStyle (enum)

Specifies the style of a context menu.

CredentialEntry (class)

A named credential. Secret is held in memory; exports encrypt it.

MemberKindDescription
string NamePropertyGets or sets the name.
CredentialType TypePropertyGets or sets the type.
string UsernamePropertyGets or sets the username.
string SecretPropertyGets or sets the secret.
Dictionary<string, string> MetadataPropertyGets or sets the metadata.
DateTime UpdatedAtPropertyGets or sets the updated at.
CredentialEntry Clone()MethodGets or sets the clone.

CredentialType (enum)

Kind of credential stored in the vault.

CredentialVault (class)

In-memory credential store with passphrase-encrypted export/import (AES + PBKDF2). Secrets are never included in listings; use Get to retrieve them.

MemberKindDescription
CredentialVault(string passphrase = null)MethodInitializes a new instance of the CredentialVault class.
int CountPropertyNumber of stored credentials.
void Set(CredentialEntry entry)MethodAdds or replaces a credential.
CredentialEntry Get(string name)MethodGets a copy of the credential (including the secret), or null when missing.
bool Remove(string name)MethodRemoves a credential.
IReadOnlyList<CredentialEntry> List()MethodLists credentials with secrets masked (safe for UI display).
string Export()MethodExports the vault to JSON. Secrets are encrypted when a passphrase was supplied; otherwise they are stored as-is (development mode).
void Import(string json)MethodImports a vault export, replacing current contents. Throws when the passphrase is wrong.
static string Mask(string secret)MethodMasks a secret for display: keeps the last two characters.

CycleDetectionRule (class)

Detects cycles in the directed graph (excluding undirected links).

MemberKindDescription
string NamePropertyGets or sets the name.
string DescriptionPropertyGets or sets the description.
IEnumerable<DiagramIssue> Validate(IReadOnlyList<SkiaComponent> components, IReadOnlyList<IConnectionLine> lines)MethodGets or sets the validate.

DataGrid (class)

A Material Design 3.0 data grid component

MemberKindDescription
List<DataGridColumn> ColumnsPropertyGets or sets the columns in the data grid
List<DataGridRow> RowsPropertyGets or sets the rows in the data grid
int SelectedRowIndexPropertyGets or sets the index of the selected row
float RowHeightPropertyGets or sets the height of each row
float HeaderHeightPropertyGets or sets the height of the header
SKColor HeaderBackgroundColorPropertyGets or sets the header background color
SKColor RowBackgroundColorPropertyGets or sets the row background color
SKColor SelectedRowBackgroundColorPropertyGets or sets the selected row background color
SKColor GridLineColorPropertyGets or sets the grid line color
float GridLineWidthPropertyGets or sets the grid line width
bool ShowGridLinesPropertyGets or sets whether to show grid lines
bool ShowHeadersPropertyGets or sets whether to show headers
DataGrid()MethodInitializes a new instance of the DataGrid class
void AddColumn(DataGridColumn column)MethodAdds a column to the data grid
void RemoveColumn(DataGridColumn column)MethodRemoves a column from the data grid
void AddRow(DataGridRow row)MethodAdds a row to the data grid
void RemoveRow(DataGridRow row)MethodRemoves a row from the data grid
void ClearRows()MethodClears all rows from the data grid
DataGridRow GetRowAt(int index)MethodGets the row at the specified index
DataGridColumn GetColumnAt(int index)MethodGets the column at the specified index

DataGridColumn (class)

Represents a column in a DataGrid

MemberKindDescription
string HeaderPropertyGets or sets the column header text
string PropertyNamePropertyGets or sets the property name to bind to
float WidthPropertyGets or sets the column width
bool IsVisiblePropertyGets or sets whether the column is visible
TextAlignment TextAlignmentPropertyGets or sets the text alignment for the column
DataGrid ParentGridPropertyGets the parent DataGrid

DataGridRow (class)

Represents a row in a DataGrid

MemberKindDescription
object DataItemPropertyGets or sets the data item for this row
bool IsSelectedPropertyGets or sets whether the row is selected
SKColor BackgroundColorPropertyGets or sets the background color
DataGrid ParentGridPropertyGets the parent DataGrid
object GetCellValue(DataGridColumn column)MethodGets the cell value for a specific column
void SetCellValue(DataGridColumn column, object value)MethodSets the cell value for a specific column

DataGridStyle (enum)

Specifies the style of a data grid.

DataInputNode (class)

Automation node that provides manual data input capabilities for workflows. Supports JSON editing, form-based input, and programmatic data entry. Similar to n8n's "Set" node or Make.com's data input functionality.

MemberKindDescription
DataInputNode()MethodInitializes a new instance of the DataInputNode class.
string InputModePropertyGets or sets the input mode (JSON, Form, Code).
string JsonDataPropertyGets or sets the JSON data for JSON input mode.
Dictionary<string, object> FormDataPropertyGets or sets the form data for Form input mode.
List<FormField> FormFieldsPropertyGets or sets the form fields configuration for Form input mode.
bool AllowMultipleEntriesPropertyGets or sets whether multiple data entries are allowed.
List<Dictionary<string, object>> MultipleEntriesPropertyGets or sets the multiple data entries.
string DataSchemaPropertyGets or sets the JSON schema for input validation.
bool ValidateInputPropertyGets or sets whether to validate input data.
override string DescriptionPropertyGets the description of what this automation node does.
override NodeType NodeTypePropertyGets the type of this automation node.
override Task<bool> InitializeAsync(Dictionary<string, object> configuration, CancellationToken cancellationToken = default)MethodInitializes the data input node with the specified configuration. The configuration parameters for the node. Token to cancel the initialization. A task representing the initialization operation.
override async Task<ValidationResult> ValidateAsync(Model.ExecutionContext inputData, CancellationToken cancellationToken = default)MethodValidates the current configuration and input data for this node. The input data to validate. Token to cancel the validation. A task containing the validation result.
override async Task<NodeResult> ExecuteAsync(Model.ExecutionContext context, CancellationToken cancellationToken = default)MethodExecutes the data input and returns the configured data. The execution context containing input data and workflow state. Token to cancel the execution. A task containing the execution result.
override Dictionary<string, object> GetInputSchema()MethodGets the schema defining the input parameters this node expects. A dictionary describing the input schema.
override Dictionary<string, object> GetOutputSchema()MethodGets the schema defining the output parameters this node produces. A dictionary describing the output schema.
void AddEntry(Dictionary<string, object> entry)MethodAdds a new entry to the multiple entries collection. The entry to add.
void RemoveEntry(int index)MethodRemoves an entry from the multiple entries collection. The index of the entry to remove.
void ClearEntries()MethodClears all entries from the multiple entries collection.

DataSourceAutomationNode (class)

Automation node that provides access to BeepDataSources for use in workflow pipelines. Allows querying databases, files, APIs, and other data sources as part of automation workflows.

MemberKindDescription
string DataSourceNamePropertyGets or sets the data source name.
string EntityNamePropertyGets or sets the name of the entity (table, collection, etc.) to query.
string QueryStringPropertyGets or sets the query string to execute against the data source. Can be SQL, MongoDB query, REST endpoint, etc. depending on the data source type.
Dictionary<string, object> QueryParametersPropertyGets or sets the parameters for the query.
string OutputFormatPropertyGets or sets the output format for the data (json, xml, csv, etc.).
int MaxRowsPropertyGets or sets the maximum number of rows to return.
bool UseCachePropertyGets or sets whether to use caching for query results.
TimeSpan CacheTimeoutPropertyGets or sets the cache timeout duration.
DataSourceAutomationNode()MethodInitializes a new instance of the DataSourceAutomationNode class.
DataSourceAutomationNode(IDMEEditor dmeEditor, IDMLogger logger, IErrorsInfo errorObject)MethodInitializes a new instance of the DataSourceAutomationNode class with data source manager dependencies. The DME editor instance for data source management. The logger instance for logging operations. The error handler instance.
void SetDataSourceManager(IDMEEditor dmeEditor, IDMLogger logger, IErrorsInfo errorObject)MethodSets the data source manager dependencies for this node. The DME editor instance for data source management. The logger instance for logging operations. The error handler instance.
override string DescriptionPropertyGets the description of what this automation node does.
override NodeType NodeTypePropertyGets the type of this automation node.
override Task<bool> InitializeAsync(Dictionary<string, object> configuration, CancellationToken cancellationToken = default)MethodInitializes the data source automation node with the specified configuration. The configuration parameters for the node. Token to cancel the initialization. A task representing the initialization operation.
override async Task<ValidationResult> ValidateAsync(Model.ExecutionContext inputData, CancellationToken cancellationToken = default)MethodValidates the current configuration and input data for this node. The input data to validate. Token to cancel the validation. A task containing the validation result.
override async Task<NodeResult> ExecuteAsync(Model.ExecutionContext context, CancellationToken cancellationToken = default)MethodExecutes the data source query and returns the results. The execution context containing input data and workflow state. Token to cancel the execution. A task containing the execution result.
override Dictionary<string, object> GetInputSchema()MethodGets the schema defining the input parameters this node expects. A dictionary describing the input schema.
override Dictionary<string, object> GetOutputSchema()MethodGets the schema defining the output parameters this node produces. A dictionary describing the output schema.

DataTransformNode (class)

Automation node that transforms and manipulates data as part of workflow automation. Supports filtering, mapping, aggregation, and custom transformations on input data.

MemberKindDescription
string TransformTypePropertyGets or sets the type of transformation to perform (Map, Filter, Aggregate, Custom).
Dictionary<string, object> TransformConfigPropertyGets or sets the transformation configuration parameters.
List<FieldMapping> FieldMappingsPropertyGets or sets the field mappings for data transformation.
List<FilterCondition> FiltersPropertyGets or sets the filter conditions for data filtering.
string CustomScriptPropertyGets or sets the custom transformation script (for Custom transform type).
string OutputFormatPropertyGets or sets the output format for the transformed data.
bool PreserveOriginalPropertyGets or sets whether to preserve the original data alongside the transformed data.
override string DescriptionPropertyGets the description of what this automation node does.
override NodeType NodeTypePropertyGets the type of this automation node.
override Task<bool> InitializeAsync(Dictionary<string, object> configuration, CancellationToken cancellationToken = default)MethodInitializes the data transform node with the specified configuration. The configuration parameters for the node. Token to cancel the initialization. A task representing the initialization operation.
override async Task<ValidationResult> ValidateAsync(Model.ExecutionContext inputData, CancellationToken cancellationToken = default)MethodValidates the current configuration and input data for this node. The input data to validate. Token to cancel the validation. A task containing the validation result.
override async Task<NodeResult> ExecuteAsync(Model.ExecutionContext context, CancellationToken cancellationToken = default)MethodExecutes the data transformation and returns the results. The execution context containing input data and workflow state. Token to cancel the execution. A task containing the execution result.
override Dictionary<string, object> GetInputSchema()MethodGets the schema defining the input parameters this node expects. A dictionary describing the input schema.
override Dictionary<string, object> GetOutputSchema()MethodGets the schema defining the output parameters this node produces. A dictionary describing the output schema.

DatePicker (class)

A Material Design 3.0 Date Picker component that allows users to select dates.

MemberKindDescription
event EventHandler<DateTime> DateSelectedEventOccurs when the selected date changes.
event EventHandler DialogOpenedEventOccurs when the date picker dialog opens.
event EventHandler DialogClosedEventOccurs when the date picker dialog closes.
DateTime SelectedDatePropertyGets or sets the currently selected date.
string DateFormatPropertyGets or sets the date format string.
new SKColor TextColorPropertyGets or sets the text color.
SKColor AccentColorPropertyGets or sets the accent color for selected dates.
bool ShowTodayButtonPropertyGets or sets whether to show the "Today" button.
DateTime? MinDatePropertyGets or sets the minimum selectable date.
DateTime? MaxDatePropertyGets or sets the maximum selectable date.
DatePicker()MethodInitializes a new instance of the DatePicker class.
DatePicker(float width, float height) : this()MethodInitializes a new instance of the DatePicker class with specified dimensions. The width of the date picker. The height of the date picker.
void ToggleCalendar()MethodToggles the calendar dialog visibility.
void OpenCalendar()MethodOpens the calendar dialog.
void CloseCalendar()MethodCloses the calendar dialog.

DatePickerStyle (enum)

Specifies the style of a date picker.

DeadEndNodeRule (class)

Detects nodes that have inputs but no outputs (dead ends).

MemberKindDescription
string NamePropertyGets or sets the name.
string DescriptionPropertyGets or sets the description.
IEnumerable<DiagramIssue> Validate(IReadOnlyList<SkiaComponent> components, IReadOnlyList<IConnectionLine> lines)MethodGets or sets the validate.

DeleteComponentsAction (class)

Action for deleting multiple components.

MemberKindDescription
DeleteComponentsAction(DrawingManager manager, List<SkiaComponent> components, List<IConnectionLine> lines)MethodInitializes a new instance of the DeleteComponentsAction class.
override void Execute()MethodGets or sets the execute.
override void Undo()MethodGets or sets the undo.

DiagramAssistantRegistry (class)

Tries registered assistants in order and returns the first successful suggestion, falling back through providers. Always contains the rule-based assistant by default.

MemberKindDescription
DiagramAssistantRegistry(bool includeDefaultAssistant = true)MethodInitializes a new instance of the DiagramAssistantRegistry class.
IReadOnlyList<IDiagramAssistant> AssistantsPropertyGets or sets the assistants.
void Register(IDiagramAssistant assistant, int priority = 0)MethodAdds an assistant at the given priority (0 = first to be tried).
bool Unregister(string name)MethodRemoves an assistant by name.
DiagramSuggestion Generate(DiagramRequest request)MethodGenerates a suggestion using the first assistant that succeeds. Warnings from failed attempts are carried onto the final result.

DiagramClickEventArgs (class)

Event args for diagram canvas click events (clicking empty space).

MemberKindDescription
SKPoint ClickPositionPropertyGets or sets the click position.
MouseButton ButtonPropertyGets or sets the button.

DiagramComment (class)

A comment, optionally anchored to a component in the diagram.

MemberKindDescription
string IdPropertyGets or sets the id.
string DocumentIdPropertyGets or sets the document id.
string AuthorIdPropertyGets or sets the author id.
string TextPropertyGets or sets the text.
string ComponentIdPropertyOptional anchor: component name/id the comment refers to.
DateTime CreatedAtPropertyGets or sets the created at.
bool ResolvedPropertyGets or sets the resolved.
string ResolvedByPropertyGets or sets the resolved by.
DateTime? ResolvedAtPropertyGets or sets the resolved at.

DiagramDto (class)

Serializable DTOs to persist a diagram: components and connection lines. Keeps per-component basic geometry and type, and connection endpoints by connection point GUIDs.

MemberKindDescription
const int CurrentSchemaVersion = 2ConstantSchema version of the serialized payload. Increment when the DTO shape changes.
int SchemaVersionPropertyGets or sets the schema version of this payload.
string ThemeNamePropertyGets or sets the name of the theme active when the diagram was saved.
List<ComponentDto> ComponentsPropertyGets or sets the components.
List<LineDto> LinesPropertyGets or sets the lines.

DiagramInteractionEventArgs (class)

Event arguments for canvas/diagram interaction events.

MemberKindDescription
SKPoint CanvasPositionPropertyGets the mouse position in canvas coordinates where the interaction occurred.
SKPoint ScreenPositionPropertyGets the mouse position in screen coordinates where the interaction occurred.
int MouseButtonPropertyGets the mouse button involved in the interaction (0=left, 1=right, 2=middle).
SKKeyModifiers ModifiersPropertyGets the keyboard modifiers pressed during the interaction.
bool HandledPropertyGets or sets whether this event has been handled and should not propagate further.
InteractionType InteractionTypePropertyGets the interaction type (Click, DoubleClick, RightClick, etc.).
object TagPropertyGets custom data associated with this interaction.
DiagramInteractionEventArgs( SKPoint canvasPosition, SKPoint screenPosition, int mouseButton, SKKeyModifiers modifiers, InteractionType interactionType)MethodInitializes a new instance of the DiagramInteractionEventArgs class.

DiagramIssue (class)

Validation result for a diagram issue.

MemberKindDescription
string MessagePropertyGets or sets the message.
DiagramIssueSeverity SeverityPropertyGets or sets the severity.
SkiaComponent ComponentPropertyGets or sets the component.
IConnectionLine LinePropertyGets or sets the line.
string RuleNamePropertyGets or sets the rule name.
string FixSuggestionPropertyGets or sets the fix suggestion.
override string ToString()MethodGets or sets the to string.

DiagramIssueSeverity (enum)

DiagramRequest (class)

A request for an AI/assisted diagram generation.

MemberKindDescription
string PromptPropertyNatural-language or DSL description of the diagram.
string DiagramKindPropertyOptional kind hint: "flowchart" (default) or "mindmap".
int MaxNodesPropertyMaximum number of nodes to generate.

DiagramSuggestion (class)

The result of an assisted generation attempt.

MemberKindDescription
bool SuccessPropertyGets or sets the success.
DiagramDto DiagramPropertyGenerated diagram, loadable via DrawingManager.LoadFromDto.
string ExplanationPropertyHuman-readable summary of what was generated.
List<string> WarningsPropertyNon-fatal issues encountered while generating.
string ProviderPropertyName of the assistant that produced this suggestion.
static DiagramSuggestion Failed(string provider, string reason)MethodGets or sets the failed.

DiagramTemplates (class)

Provides pre-built diagram templates as DiagramDto objects that can be loaded via DrawingManager.LoadFromDto().

MemberKindDescription
static DiagramDto FlowChartOrderValidation()MethodGets or sets the flow chart order validation.
static DiagramDto ERDEcommerce()MethodGets or sets the ERD ecommerce.
static DiagramDto ETLPipeline()MethodGets or sets the ETL pipeline.
static DiagramDto DFDOrderSystem()MethodGets or sets the DFD order system.
static DiagramDto UMLClassDiagram()MethodGets or sets the UML class diagram.
static DiagramDto NetworkSocialGraph()MethodGets or sets the network social graph.
static DiagramDto MindMapProductStrategy()MethodGets or sets the mind map product strategy.
static DiagramDto StateMachineLogin()MethodGets or sets the state machine login.
static DiagramDto BusinessPurchaseApproval()MethodGets or sets the business purchase approval.
static DiagramDto PMSprintPlan()MethodGets or sets the PM sprint plan.
static DiagramDto FlowChartApproval()MethodGets or sets the flow chart approval.
static DiagramDto StateMachineOrder()MethodGets or sets the state machine order.
static IReadOnlyDictionary<string, Func<DiagramDto>> AllPropertyGets or sets the all.

DiagramValidator (class)

Validates a diagram against a set of pluggable rules. Call DrawingManager.ValidateDiagram() to run all registered rules.

MemberKindDescription
IReadOnlyList<IDiagramRule> RulesPropertyGets or sets the rules.
void AddRule(IDiagramRule rule)MethodGets or sets the add rule.
void AddDefaultRules()MethodGets or sets the add default rules.
List<DiagramIssue> Validate(IReadOnlyList<SkiaComponent> components, IReadOnlyList<IConnectionLine> lines)MethodGets or sets the validate.

DisconnectComponentsAction (class)

Action for disconnecting components.

MemberKindDescription
DisconnectComponentsAction(DrawingManager manager, SkiaComponent component1, SkiaComponent component2, IConnectionLine line)MethodInitializes a new instance of the DisconnectComponentsAction class.
override void Execute()MethodGets or sets the execute.
override void Undo()MethodGets or sets the undo.

DocumentShare (class)

Sharing state of a diagram document.

MemberKindDescription
string DocumentIdPropertyGets or sets the document id.
string OwnerIdPropertyGets or sets the owner id.
Dictionary<string, CollaborationRole> MembersPropertyMember roles (userId → role). The owner is always Admin.
bool IsPublicPropertyWhen true, any registered user can view the document.
override string ToString()MethodGets or sets the to string.

DrawerPosition (enum)

Specifies the position of the navigation drawer.

DrawerType (enum)

Specifies the type of the navigation drawer.

DrawingAction (class)

Base class for all drawing actions that can be undone/redone. Actions are created after their change has been applied by the caller; Execute re-applies the change when redone, Undo reverses it.

MemberKindDescription
abstract void Execute()MethodRe-applies the action (used for redo).
abstract void Undo()MethodUndoes the action.

DrawingManager (class)

Gets or sets the drawing manager.

MemberKindDescription
void Draw(SKCanvas canvas)MethodDraws all components and connection lines on the specified canvas. The canvas to draw on.

Dropdown (class)

A Material Design 3.0 dropdown/combobox component.

MemberKindDescription
event EventHandler<DropdownItem> SelectedItemChangedEventOccurs when the selected item changes.
event EventHandler DropdownOpenedEventOccurs when the dropdown is opened.
event EventHandler DropdownClosedEventOccurs when the dropdown is closed.
List<DropdownItem> ItemsPropertyGets or sets the list of items in the dropdown.
DropdownItem SelectedItemPropertyGets or sets the currently selected item.
string SelectedValuePropertyGets or sets the selected value (convenience property).
string LabelPropertyGets or sets the label text displayed above the dropdown.
string PlaceholderPropertyGets or sets the placeholder text when no item is selected.
string ErrorMessagePropertyGets or sets the error message to display.
DropdownVariant VariantPropertyGets or sets the dropdown variant.
ItemDisplayStyle DisplayStylePropertyGets or sets the item display style.
new bool IsEnabledPropertyGets or sets whether the dropdown is enabled.
float CornerRadiusPropertyGets or sets the corner radius.
new SKColor TextColorPropertyGets or sets the text color.
SKColor LabelColorPropertyGets or sets the label color.
SKColor BorderColorPropertyGets or sets the border color.
SKColor BackgroundColorPropertyGets or sets the background color.
float FontSizePropertyGets or sets the font size.
float DropdownHeightPropertyGets or sets the maximum height of the dropdown list.
int MaxVisibleItemsPropertyGets or sets the maximum number of visible items in the dropdown.
bool IsExpandedPropertyGets whether the dropdown is currently expanded.
Dropdown()MethodInitializes a new instance of the Dropdown class.
override bool ContainsPoint(SKPoint point)MethodOverride hit testing to include the expanded dropdown list area when open.
void AddItem(string text, string value = null, object tag = null, string iconPath = null, SKColor? iconColor = null)MethodAdds an item to the dropdown.
void RemoveItem(DropdownItem item)MethodRemoves an item from the dropdown.
void ClearItems()MethodClears all items from the dropdown.
void ToggleDropdown()MethodToggles the dropdown expansion state.
void OpenDropdown()MethodOpens the dropdown.
void CloseDropdown()MethodCloses the dropdown.

DropdownItem (class)

Represents an item in the dropdown list.

DropdownVariant (enum)

Material Design 3.0 dropdown variants.

DslEdge (class)

A parsed DSL edge.

MemberKindDescription
string FromPropertyGets or sets the from.
string ToPropertyGets or sets the to.
string LabelPropertyGets or sets the label.

DslGraph (class)

Parsed graph of nodes and edges with warnings.

MemberKindDescription
List<DslNode> NodesPropertyGets or sets the nodes.
List<DslEdge> EdgesPropertyGets or sets the edges.
List<string> WarningsPropertyGets or sets the warnings.
DslNode Find(string name)MethodGets or sets the find.

DslNode (class)

A parsed DSL node with layout geometry.

MemberKindDescription
string NamePropertyGets or sets the name.
string TypeKeywordPropertyGets or sets the type keyword.
string ClassNamePropertyResolved component class name (e.g. ProcessNode, DecisionNode).
string TitlePropertyGets or sets the title.
int RankPropertyGets or sets the rank.
float XPropertyGets or sets the x.
float YPropertyGets or sets the y.
float WidthPropertyGets or sets the width.
float HeightPropertyGets or sets the height.

EmptyDiagramRule (class)

Warns when the diagram is empty.

MemberKindDescription
string NamePropertyGets or sets the name.
string DescriptionPropertyGets or sets the description.
IEnumerable<DiagramIssue> Validate(IReadOnlyList<SkiaComponent> components, IReadOnlyList<IConnectionLine> lines)MethodGets or sets the validate.

EventTrigger (class)

Event-driven trigger fired by external code (webhook handlers, queue consumers, API endpoints, or data-change notifiers) calling Notify.

MemberKindDescription
override string NamePropertyGets or sets the name.
override TriggerType TriggerTypePropertyGets or sets the trigger type.
TriggerType EventKindPropertyAllows hosting a webhook/API/data-change trigger with the same implementation.
EventTrigger()MethodInitializes a new instance of the EventTrigger class.
EventTrigger(TriggerType eventKind)MethodInitializes a new instance of the EventTrigger class.
override Task<bool> StartAsync(CancellationToken cancellationToken = default)MethodGets or sets the start async.
override Task<bool> StopAsync(CancellationToken cancellationToken = default)MethodGets or sets the stop async.
Task Notify(Dictionary<string, object> payload = null)MethodFires the trigger with the given payload (webhook body, queue message, changed record, ...).
override Dictionary<string, object> GetConfigurationSchema()Method

ExecutionJob (class)

A submitted workflow execution job with its inputs and result.

MemberKindDescription
string IdPropertyGets or sets the id.
string WorkflowIdPropertyGets or sets the workflow id.
string WorkflowNamePropertyGets or sets the workflow name.
string SubmittedByPropertyGets or sets the submitted by.
DateTime SubmittedAtPropertyGets or sets the submitted at.
DateTime? StartedAtPropertyGets or sets the started at.
DateTime? CompletedAtPropertyGets or sets the completed at.
JobState StatePropertyGets or sets the state.
string ExecutionIdPropertyEngine execution id once the job starts running.
string ErrorPropertyFailure message when State is Failed.
Dictionary<string, object> InputsPropertyInput variables for this execution.
WorkflowResult ResultPropertyEngine result once the job has finished.
TimeSpan? DurationPropertyGets or sets the duration.
override string ToString()MethodGets or sets the to string.

ExtensionComponentDescriptor (class)

A component contributed by an extension.

MemberKindDescription
string ExtensionIdPropertyGets or sets the extension id.
Type ComponentTypePropertyGets or sets the component type.
string CategoryPropertyGets or sets the category.
string DisplayNamePropertyGets or sets the display name.
string AssemblyQualifiedNamePropertyGets or sets the assembly qualified name.
override string ToString()MethodGets or sets the to string.

ExtensionInstallResult (class)

Outcome of an install/update/uninstall operation.

MemberKindDescription
bool SuccessPropertyGets or sets the success.
string ErrorPropertyGets or sets the error.
InstalledExtension ExtensionPropertyGets or sets the extension.
static ExtensionInstallResult Ok(InstalledExtension extension)MethodGets or sets the ok.
static ExtensionInstallResult Fail(string error)MethodGets or sets the fail.

ExtensionLoadedEventArgs (class)

Raised after an extension has been loaded (successfully or with errors).

MemberKindDescription
ExtensionLoadedEventArgs(LoadedExtension extension)MethodInitializes a new instance of the ExtensionLoadedEventArgs class.
LoadedExtension ExtensionPropertyGets or sets the extension.

ExtensionManifest (class)

Manifest describing an extension package. Stored as manifest.json inside a .beepkg archive.

MemberKindDescription
const string FileName = "manifest.json"ConstantConstant file name.
int SchemaVersionPropertyGets or sets the schema version.
string IdPropertyGets or sets the id.
string NamePropertyGets or sets the name.
string VersionPropertyGets or sets the version.
string AuthorPropertyGets or sets the author.
string DescriptionPropertyGets or sets the description.
List<string> TagsPropertyGets or sets the tags.
string MinHostVersionPropertyMinimum host version required (semantic version).
List<string> DependenciesPropertyExtension ids this package depends on.
DateTime PublishedAtPropertyGets or sets the published at.
string Validate()MethodValidates required fields. Returns null when valid, otherwise the error.

ExtensionPackage (class)

An extension package: manifest plus its source archive.

MemberKindDescription
ExtensionManifest ManifestPropertyGets or sets the manifest.
string PackagePathPropertyGets or sets the package path.
long SizeBytesPropertyGets or sets the size bytes.
string Sha256PropertyGets or sets the sha256.
string IdPropertyGets or sets the id.
string NamePropertyGets or sets the name.
string VersionPropertyGets or sets the version.
override string ToString()MethodGets or sets the to string.

ExtensionPackageBuilder (class)

Creates .beepkg archives (zip with manifest.json at the root).

MemberKindDescription
const string PackageExtension = ".beepkg"ConstantConstant package extension.
static ExtensionPackage Build(string sourceDirectory, ExtensionManifest manifest, string outputPath)MethodBuilds a package from a directory. The manifest is written as manifest.json and every other file in the directory is included.
static string ComputeSha256(string filePath)MethodGets or sets the compute sha256.
static ExtensionManifest ReadManifest(string packagePath)MethodReads a manifest from a package archive without extracting it. Returns null when the archive is missing, corrupt, or has no manifest.

ExtensionPackageManager (class)

Installs, updates, and uninstalls extension packages. Packages are extracted to installRoot/&lt;id&gt;/&lt;version&gt;; the active version of each extension is tracked in installed.json. Extract paths are validated against zip-slip entries.

MemberKindDescription
ExtensionPackageManager(string installRoot, IExtensionRegistry registry = null, string hostVersion = "1.0.0")MethodInitializes a new instance of the ExtensionPackageManager class.
string InstallRootPropertyRoot folder that holds installed extensions.
IExtensionRegistry RegistryPropertyOptional registry used by InstallFromRegistry and Update.
long MaxEntryUncompressedBytesPropertyMaximum uncompressed size of a single package entry (default 256 MB).
long MaxTotalUncompressedBytesPropertyMaximum total uncompressed size of a package (default 512 MB). Guards against zip bombs.
int MaxEntryCountPropertyMaximum number of entries in a package (default 10,000).
SemanticVersion HostVersionPropertyHost version used for manifest min-host-version checks.
IReadOnlyList<InstalledExtension> InstalledPropertyInstalled extensions keyed by id (active version).
IReadOnlyList<InstallLogEntry> LogPropertyOperation log, oldest first.
InstalledExtension GetInstalled(string id)MethodGets or sets the get installed.
bool IsInstalled(string id, string version = null)MethodGets or sets the is installed.
IReadOnlyList<string> GetLoadDirectories()MethodFolders that should be scanned by SkiaExtensionHost for the active extensions.
ExtensionInstallResult Install(string packagePath, bool force = false)MethodInstalls a package archive. Validates the manifest, host version, and dependencies.
ExtensionInstallResult InstallFromRegistry(string id, string version = null, bool force = false)MethodDownloads a package from the registry and installs it.
ExtensionInstallResult Uninstall(string id)MethodRemoves an installed extension and its files.
ExtensionInstallResult Update(string id, bool force = false)MethodInstalls the newest registry version when it is newer than the installed one.

ExtractedComponentResult (class)

Result of component extraction operation containing the component instance and metadata.

MemberKindDescription
bool SuccessPropertyGets or sets whether the extraction was successful.
SkiaComponent ComponentPropertyGets or sets the extracted component instance.
AssemblyClassDefinition DefinitionPropertyGets or sets the original component definition.
Type ComponentTypePropertyGets or sets the component type.
string AssemblyNamePropertyGets or sets the assembly name where the component is defined.
string NamespacePropertyGets or sets the namespace of the component.
List<MethodsClass> MethodsPropertyGets or sets the list of methods available in the component.
List<string> ErrorsPropertyGets or sets the list of errors that occurred during extraction.
string ErrorMessagePropertyGets a formatted string of all errors.

FabMenu (class)

A Material Design 3.0 Floating Action Button Menu component. Provides a main FAB that opens a menu with multiple action items.

MemberKindDescription
event EventHandler<FabMenuItemEventArgs> MenuItemClickedEventOccurs when a menu item is clicked.
event EventHandler MenuOpenedEventOccurs when the menu is opened.
event EventHandler MenuClosedEventOccurs when the menu is closed.
FabMenu()MethodInitializes a new instance of the FabMenu class.
string MainIconPropertyGets or sets the main FAB icon.
FloatingActionButton.FabType MainFabTypePropertyGets or sets the main FAB type.
FabMenuDirection DirectionPropertyGets or sets the menu direction.
float ItemSpacingPropertyGets or sets the spacing between menu items.
SKColor OverlayColorPropertyGets or sets the overlay color when the menu is open.
bool IsOpenPropertyGets whether the menu is currently open.
bool IsAnimatingPropertyGets whether the menu is currently animating.
void AddMenuItem(FabMenuItem item)MethodAdds a menu item to the FAB menu. The menu item to add.
void RemoveMenuItem(FabMenuItem item)MethodRemoves a menu item from the FAB menu. The menu item to remove.
void ClearMenuItems()MethodClears all menu items.
void OpenMenu()MethodOpens the FAB menu.
void CloseMenu()MethodCloses the FAB menu.
void ToggleMenu()MethodToggles the FAB menu open/closed state.
override bool ContainsPoint(SKPoint point)MethodDetermines whether the specified point is contained within the FAB menu. The point to test. True if the point is contained within the FAB menu.

FabMenuDirection (enum)

Material Design 3.0 FAB menu directions.

FabMenuItem (class)

Represents a menu item in the FAB menu.

FabMenuItemEventArgs (class)

Event arguments for FAB menu item clicks.

FabSize (enum)

Material Design 3.0 FAB sizes.

FabType (enum)

Material Design 3.0 FAB types.

FieldMapping (class)

Represents a field mapping for data transformation.

MemberKindDescription
string SourceFieldPropertyGets or sets the source field name or path.
string TargetFieldPropertyGets or sets the target field name.
string TransformPropertyGets or sets the transformation to apply to the field value.

FileWatchTrigger (class)

File-system trigger: fires when files matching a filter are created, changed, deleted, or renamed under a watched directory. Configuration: Path, Filter (default *.*), IncludeSubdirectories.

MemberKindDescription
override string NamePropertyGets or sets the name.
override TriggerType TriggerTypePropertyGets or sets the trigger type.
string PathPropertyDirectory to watch.
string FilterPropertyFile filter (e.g., *.csv).
bool IncludeSubdirectoriesPropertyWhether to watch subdirectories.
override Task<bool> InitializeAsync(Dictionary<string, object> configuration, CancellationToken cancellationToken = default)MethodGets or sets the initialize async.
override Task<ValidationResult> ValidateAsync(CancellationToken cancellationToken = default)MethodGets or sets the validate async.
override Task<bool> StartAsync(CancellationToken cancellationToken = default)MethodGets or sets the start async.
override Task<bool> StopAsync(CancellationToken cancellationToken = default)MethodGets or sets the stop async.
override Dictionary<string, object> GetConfigurationSchema()Method

FilterCondition (class)

Represents a filter condition for data filtering.

MemberKindDescription
string FieldPropertyGets or sets the field name to filter on.
string OperatorPropertyGets or sets the filter operator (equals, contains, etc.).
object ValuePropertyGets or sets the value to filter by.

FloatingActionButton (class)

A Material Design 3.0 Floating Action Button (FAB) component.

MemberKindDescription
string IconPropertyGets or sets the icon displayed on the FAB (SVG path or Unicode character).
SKColor BackgroundColorPropertyGets or sets the background color of the FAB.
SKColor IconColorPropertyGets or sets the icon color of the FAB.
FabSize SizePropertyGets or sets the size of the FAB.
FabType TypePropertyGets or sets the type of the FAB.
string ExtendedTextPropertyGets or sets the extended text for extended FAB.
FloatingActionButton()MethodInitializes a new instance of the FloatingActionButton class.
FloatingActionButton(string icon)MethodInitializes a new instance of the FloatingActionButton class with an icon. The icon to display.
override bool ContainsPoint(SKPoint point)MethodDetermines whether the specified point is contained within the FAB. The point to test. True if the point is contained within the FAB.
new bool HandleMouseDown(SKPoint point, InteractionContext context)MethodPublic wrapper for mouse down events (used by demos).
new bool HandleMouseMove(SKPoint point, InteractionContext context)MethodPublic wrapper for mouse move events (used by demos).

FlowchartDslParser (class)

Parses a compact flowchart DSL into a graph and lays it out top-down. Grammar (one statement per line): node ["(type)"] ["title"] ["->" node ...] [": edge label"] Examples: Start(start) "Start" -> Receive "Receive order" -> Valid(decision) "Valid?" Valid -> Process "Process payment" : yes Valid -> Notify "Notify customer" : no Process -> End(end) "End" Lines starting with # or // are comments. Node names are case-insensitive; a node is created on first mention and reused afterwards.

MemberKindDescription
static DslGraph Parse(string text, int maxNodes = 60)MethodParses DSL text into a graph and applies the top-down layout.
static void Layout(DslGraph graph)MethodAssigns ranks (top-down depth) and row/column positions.

FlowLayout (class)

A layout manager that arranges components in a flow, similar to text flow. Components are placed horizontally until there's no more space, then wrap to the next line.

MemberKindDescription
float HorizontalSpacingPropertyGets or sets the horizontal spacing between components.
float VerticalSpacingPropertyGets or sets the vertical spacing between rows of components.
void Layout(IEnumerable<SkiaComponent> components, SKRect bounds, float padding = 0)MethodLays out the specified components within the given bounds. The components to layout. The bounds in which to layout the components. The padding around the layout area.

ForceDirectedLayout (class)

Force-directed layout for network graphs. Uses simple spring-electric repulsion/attraction to position nodes.

MemberKindDescription
int IterationsPropertyGets or sets the iterations.
float RepulsionStrengthPropertyGets or sets the repulsion strength.
float AttractionStrengthPropertyGets or sets the attraction strength.
float IdealEdgeLengthPropertyGets or sets the ideal edge length.
float DampingPropertyGets or sets the damping.
float CenterXPropertyGets or sets the center x.
float CenterYPropertyGets or sets the center y.
void Arrange(IReadOnlyList<SkiaComponent> components, IReadOnlyList<IConnectionLine> lines)MethodGets or sets the arrange.

FormField (class)

Represents a form field configuration for the DataInputNode.

MemberKindDescription
string NamePropertyGets or sets the field name.
string TypePropertyGets or sets the field type (text, number, boolean, date, select).
string LabelPropertyGets or sets the field label.
object DefaultValuePropertyGets or sets the default value.
bool RequiredPropertyGets or sets whether the field is required.
string PlaceholderPropertyGets or sets the placeholder text.
List<string> OptionsPropertyGets or sets the options for select fields.

GridAutoLayout (class)

Grid layout for UML class diagrams and similar structured layouts.

MemberKindDescription
int ColumnsPropertyGets or sets the columns.
float HorizontalSpacingPropertyGets or sets the horizontal spacing.
float VerticalSpacingPropertyGets or sets the vertical spacing.
float StartXPropertyGets or sets the start x.
float StartYPropertyGets or sets the start y.
void Arrange(IReadOnlyList<SkiaComponent> components, IReadOnlyList<IConnectionLine> lines)MethodGets or sets the arrange.

GridLayout (class)

A layout manager that arranges components in a grid with a fixed number of columns.

MemberKindDescription
int ColumnsPropertyGets or sets the number of columns in the grid.
float HorizontalSpacingPropertyGets or sets the horizontal spacing between components.
float VerticalSpacingPropertyGets or sets the vertical spacing between components.
GridLayout() { }MethodInitializes a new instance of the GridLayout class.
GridLayout(int columns)MethodInitializes a new instance of the GridLayout class with specified columns. The number of columns in the grid.
void Layout(IEnumerable<SkiaComponent> components, SKRect bounds, float padding = 0)MethodLays out the specified components within the given bounds. The components to layout. The bounds in which to layout the components. The padding around the layout area.

GroupBoxStyle (enum)

Specifies the style of a group box.

HierarchicalLayout (class)

Hierarchical (layered Sugiyama-style) auto-layout for flowcharts and DAG diagrams. Places nodes in layers based on longest path from sources, then minimizes crossings.

MemberKindDescription
bool TopToBottomPropertyGets or sets the top to bottom.
float LayerSpacingPropertyGets or sets the layer spacing.
float NodeSpacingPropertyGets or sets the node spacing.
float StartXPropertyGets or sets the start x.
float StartYPropertyGets or sets the start y.
void Arrange(IReadOnlyList<SkiaComponent> components, IReadOnlyList<IConnectionLine> lines)MethodGets or sets the arrange.

HistoryManager (class)

Helper class for managing undo/redo operations in the drawing manager. Callers apply a change first and then record the action with ExecuteAction; the action's Execute/Undo methods are used when replaying history.

MemberKindDescription
int MaxHistoryDepthPropertyGets or sets the maximum number of undo steps retained. 0 means unlimited.
bool IsApplyingHistoryPropertyGets a value indicating whether an undo/redo replay is currently in progress. While replaying, nested history recording is suppressed to protect the stacks.
bool CanUndoPropertyGets a value indicating whether undo is available.
bool CanRedoPropertyGets a value indicating whether redo is available.
event EventHandler HistoryChangedEventOccurs when the undo/redo state changes.
HistoryManager(DrawingManager drawingManager)MethodInitializes a new instance of the HistoryManager class. The drawing manager that owns this history manager.
void ExecuteAction(DrawingAction action)MethodRecords an already-applied action on the undo stack. The action to record.
void Undo()MethodUndoes the last action.
void Redo()MethodRedoes the last undone action.
void Clear()MethodClears the undo/redo history.
int UndoCountPropertyGets the number of actions that can be undone.
int RedoCountPropertyGets the number of actions that can be redone.

HoverChangedEventArgs (class)

Event args for hover state changes.

MemberKindDescription
IDrawableComponent ComponentPropertyGets or sets the component.
IConnectionLine LinePropertyGets or sets the line.
bool IsHoveredPropertyGets or sets the is hovered.
SKPoint PositionPropertyGets or sets the position.

HttpRequestNode (class)

Automation node that makes HTTP requests as part of workflow automation. Supports GET, POST, PUT, DELETE methods with configurable headers, authentication, and data transformation.

MemberKindDescription
string UrlPropertyGets or sets the URL for the HTTP request.
string MethodPropertyGets or sets the HTTP method (GET, POST, PUT, DELETE, etc.).
Dictionary<string, string> HeadersPropertyGets or sets the HTTP headers to include in the request.
string RequestBodyPropertyGets or sets the request body content.
string AuthTypePropertyGets or sets the authentication type (None, Bearer, Basic, ApiKey).
string AuthTokenPropertyGets or sets the authentication token or credentials.
int TimeoutSecondsPropertyGets or sets the request timeout in seconds.
bool FollowRedirectsPropertyGets or sets whether to follow HTTP redirects automatically.
string ResponseFormatPropertyGets or sets the expected response format for parsing (json, xml, text, binary).
override string DescriptionPropertyGets the description of what this automation node does.
override NodeType NodeTypePropertyGets the type of this automation node.
override Task<bool> InitializeAsync(Dictionary<string, object> configuration, CancellationToken cancellationToken = default)MethodInitializes the HTTP request node with the specified configuration. The configuration parameters for the node. Token to cancel the initialization. A task representing the initialization operation.
override async Task<ValidationResult> ValidateAsync(Model.ExecutionContext inputData, CancellationToken cancellationToken = default)MethodValidates the current configuration and input data for this node. The input data to validate. Token to cancel the validation. A task containing the validation result.
override async Task<NodeResult> ExecuteAsync(Model.ExecutionContext context, CancellationToken cancellationToken = default)MethodExecutes the HTTP request and returns the response. The execution context containing input data and workflow state. Token to cancel the execution. A task containing the execution result.
override Dictionary<string, object> GetInputSchema()MethodGets the schema defining the input parameters this node expects. A dictionary describing the input schema.
override Dictionary<string, object> GetOutputSchema()MethodGets the schema defining the output parameters this node produces. A dictionary describing the output schema.

IAutoLayout (interface)

Interface for automatic diagram layout algorithms. Takes components and connection lines and repositions components.

IAutomationDataSourceProvider (interface)

Host-provided bridge to a real data-source stack (e.g., BeepDataSources / BeepDM). Register an implementation with AutomationDataSourceRegistry and DataSourceAutomationNode will use it instead of simulated data.

IDiagramAssistant (interface)

Contract for diagram assistants (rule-based, local model, or cloud LLM). Implementations must be safe to call synchronously and must not throw for bad input.

IDiagramRule (interface)

Plugable validation rule for a diagram.

IExtensionRegistry (interface)

A source of extension packages. Implemented offline by LocalExtensionRegistry; an HTTP-backed implementation can plug in for a hosted marketplace.

ILayoutManager (interface)

Interface for layout managers that can arrange components within a container.

InstalledExtension (class)

An extension installed into the local install root.

MemberKindDescription
string IdPropertyGets or sets the id.
string NamePropertyGets or sets the name.
string VersionPropertyGets or sets the version.
string InstallPathPropertyGets or sets the install path.
DateTime InstalledAtPropertyGets or sets the installed at.
bool EnabledPropertyGets or sets the enabled.
override string ToString()MethodGets or sets the to string.

InstallLogEntry (class)

A single line in the package-manager operation log.

MemberKindDescription
DateTime TimestampPropertyGets or sets the timestamp.
string ActionPropertyGets or sets the action.
string DetailPropertyGets or sets the detail.
bool SuccessPropertyGets or sets the success.
override string ToString()MethodGets or sets the to string.

InteractionHelper (class)

Helper class for handling user interactions in the drawing manager.

MemberKindDescription
bool IsDraggingPropertyGets a value indicating whether a component is being dragged.
bool IsDraggingLinePropertyGets a value indicating whether a line is being dragged.
bool IsSelectingPropertyGets a value indicating whether a selection is being made.
bool IsPanningPropertyGets a value indicating whether the canvas is being panned.
bool IsDrawingLinePropertyGets a value indicating whether a line is being drawn.
SkiaComponent DraggingComponentPropertyGets the currently dragged component.
IConnectionLine DraggingLinePropertyGets the currently dragged line.
SKPoint MousePositionPropertyGets the current mouse position.
SKRect SelectionRectPropertyGets the current selection rectangle.
InteractionHelper(DrawingManager drawingManager)MethodInitializes a new instance of the InteractionHelper class. The drawing manager that owns this interaction helper.
void HandleMouseDown(SKPoint point, SKKeyModifiers modifiers = SKKeyModifiers.None, int mouseButton = 0)MethodHandles mouse down events. The point where the mouse down occurred. Keyboard modifiers. Mouse button pressed (0=left, 1=right, 2=middle).
void HandleMouseUp(SKPoint point, SKKeyModifiers modifiers = SKKeyModifiers.None, int mouseButton = 0)MethodHandles mouse up events. The point where the mouse up occurred. Keyboard modifiers. Mouse button released (0=left, 1=right, 2=middle).
void HandleMouseMove(SKPoint point, SKKeyModifiers modifiers = SKKeyModifiers.None)MethodHandles mouse move events. The point where the mouse move occurred. Keyboard modifiers.
void HandleMouseWheel(SKPoint point, float delta)MethodHandles mouse wheel events for zooming. The point where the mouse wheel event occurred. The wheel delta value.

InteractionType (enum)

Types of interactions that can occur in the diagram.

ISkiaExtension (interface)

Entry point for a Beep.Skia extension package. Implementations must have a public parameterless constructor; the SkiaExtensionHost discovers and loads them from assemblies or a plugin directory.

ISkiaExtensionContext (interface)

Registration surface passed to Initialize.

ItemDisplayStyle (enum)

Dropdown item display styles.

JobState (enum)

Lifecycle state of a submitted workflow execution job.

JobStateChangedEventArgs (class)

Raised when a job transitions between states.

MemberKindDescription
JobStateChangedEventArgs(ExecutionJob job, JobState oldState, JobState newState)MethodInitializes a new instance of the JobStateChangedEventArgs class.
ExecutionJob JobPropertyGets or sets the job.
JobState OldStatePropertyGets or sets the old state.
JobState NewStatePropertyGets or sets the new state.

KeyModifiers (enum)

Specifies the state of modifier keys on the keyboard.

Label (class)

A Material Design 3.0 text label component with typography support and optional SVG icons.

MemberKindDescription
string TextPropertyGets or sets the text displayed by the label.
LabelStyle StylePropertyGets or sets the Material Design 3.0 typography style.
SKTextAlign TextAlignPropertyGets or sets the text alignment.
float FontSizePropertyGets or sets the font size (for backward compatibility).
SKFontStyleWeight FontWeightPropertyGets the font weight based on the current typography style.
new SKColor TextColorPropertyGets or sets the text color (for backward compatibility).
string LeadingIconPropertyGets or sets the leading SVG icon path or URL.
string TrailingIconPropertyGets or sets the trailing SVG icon path or URL.
string ErrorMessagePropertyGets or sets the error message to display below the label.
string TitlePropertyGets or sets the title text to display above the label.
Label()MethodInitializes a new instance of the Label class.
Label(string text) : this()MethodInitializes a new instance of the Label class with specified text.
Label(string text, LabelStyle style) : this(text)MethodInitializes a new instance of the Label class with specified text and style.

LabelStyle (enum)

Material Design 3.0 typography styles for labels.

LineClickEventArgs (class)

Event args for connection line click events.

MemberKindDescription
IConnectionLine LinePropertyGets or sets the line.
SKPoint ClickPositionPropertyGets or sets the click position.
MouseButton ButtonPropertyGets or sets the button.
bool IsDoubleClickPropertyGets or sets the is double click.

LineDto (class)

MemberKindDescription
Guid StartPointIdPropertyGets or sets the start point id.
Guid EndPointIdPropertyGets or sets the end point id.
int StartComponentIndexPropertyOptional component indices used by templates (before GUIDs exist). When both are >= 0, template loading connects these components directly.
int EndComponentIndexPropertyGets or sets the end component index.
bool ShowStartArrowPropertyGets or sets the show start arrow.
bool ShowEndArrowPropertyGets or sets the show end arrow.
string Label1PropertyGets or sets the label1.
string Label2PropertyGets or sets the label2.
string Label3PropertyGets or sets the label3.
string DataTypeLabelPropertyGets or sets the data type label.
string GuardConditionPropertyGets or sets the guard condition.
string TransitionActionPropertyGets or sets the transition action.
string TriggerEventPropertyGets or sets the trigger event.
uint LineColorPropertyGets or sets the line color.
int RoutingModePropertyGets or sets the routing mode.
int FlowDirectionPropertyGets or sets the flow direction.
int Label1PlacementPropertyGets or sets the label1 placement.
int Label2PlacementPropertyGets or sets the label2 placement.
int Label3PlacementPropertyGets or sets the label3 placement.
int DataLabelPlacementPropertyGets or sets the data label placement.
float ArrowSizePropertyGets or sets the arrow size.
float[] DashPatternPropertyGets or sets the dash pattern.
bool ShowStatusIndicatorPropertyGets or sets the show status indicator.
int StatusPropertyGets or sets the status.
uint StatusColorPropertyGets or sets the status color.
bool IsAnimatedPropertyGets or sets the is animated.
bool IsDataFlowAnimatedPropertyGets or sets the is data flow animated.
float DataFlowSpeedPropertyGets or sets the data flow speed.
float DataFlowParticleSizePropertyGets or sets the data flow particle size.
uint DataFlowColorPropertyGets or sets the data flow color.
int StartMultiplicityPropertyGets or sets the start multiplicity.
int EndMultiplicityPropertyGets or sets the end multiplicity.
string SchemaJsonPropertyGets or sets the schema json.
string ExpectedSchemaJsonPropertyGets or sets the expected schema json.

LineInteractionEventArgs (class)

Event arguments for connection line interaction events.

MemberKindDescription
IConnectionLine LinePropertyGets the connection line that was interacted with.
SKPoint CanvasPositionPropertyGets the mouse position in canvas coordinates where the interaction occurred.
SKPoint ScreenPositionPropertyGets the mouse position in screen coordinates where the interaction occurred.
int MouseButtonPropertyGets the mouse button involved in the interaction (0=left, 1=right, 2=middle).
SKKeyModifiers ModifiersPropertyGets the keyboard modifiers pressed during the interaction.
bool HandledPropertyGets or sets whether this event has been handled and should not propagate further.
InteractionType InteractionTypePropertyGets the interaction type (Click, DoubleClick, RightClick, Hover, etc.).
bool IsArrowClickPropertyGets whether an arrow head was clicked (true) or the line itself (false).
object TagPropertyGets custom data associated with this interaction.
LineInteractionEventArgs( IConnectionLine line, SKPoint canvasPosition, SKPoint screenPosition, int mouseButton, SKKeyModifiers modifiers, InteractionType interactionType, bool isArrowClick = false)MethodInitializes a new instance of the LineInteractionEventArgs class.

List (class)

A Material Design 3.0 List component with support for single-line, two-line, and three-line items.

MemberKindDescription
event EventHandler<ListItem> ItemSelectedEventOccurs when an item is selected.
event EventHandler<ListItem> ItemClickedEventOccurs when an item is clicked.
ObservableCollection<ListItem> ItemsPropertyGets or sets the collection of list items.
ListItem SelectedItemPropertyGets or sets the currently selected item (for single selection mode).
ListType TypePropertyGets or sets the list type (single-line, two-line, or three-line).
bool ShowDividersPropertyGets or sets whether to show dividers between items.
bool AllowSelectionPropertyGets or sets whether items can be selected.
SelectionMode ModePropertyGets or sets the selection mode.
float ItemHeightPropertyGets or sets the height of each list item.
float DividerThicknessPropertyGets or sets the thickness of dividers.
SKColor DividerColorPropertyGets or sets the color of dividers.
float FontSizePropertyGets or sets the font size for list items.
List()MethodInitializes a new instance of the List class.
void AddItem(string primaryText, string secondaryText = null, string tertiaryText = null, string leadingIcon = null, string trailingIcon = null, object tag = null)MethodAdds an item to the list.
void AddItem(ListItem item)MethodAdds a ListItem to the list.
void RemoveItem(ListItem item)MethodRemoves an item from the list.
void ClearItems()MethodClears all items from the list.
void SelectItem(ListItem item)MethodSelects an item in the list.

ListBoxItem (class)

Represents an item in a list box.

MemberKindDescription
string TextPropertyGets or sets the text of the item.
object ValuePropertyGets or sets the value associated with the item.
bool SelectedPropertyGets or sets whether the item is selected.
ListBoxItem()MethodInitializes a new instance of the ListBoxItem class.
ListBoxItem(string text)MethodInitializes a new instance of the ListBoxItem class with the specified text.
ListBoxItem(string text, object value)MethodInitializes a new instance of the ListBoxItem class with the specified text and value.
override string ToString()MethodReturns a string representation of the item.

ListBoxItemCollection (class)

A collection of list box items.

MemberKindDescription
void Add(string text)MethodAdds an item with the specified text to the collection.
void Add(string text, object value)MethodAdds an item with the specified text and value to the collection.

ListBoxStyle (enum)

Specifies the style of a list box.

ListItem (class)

Represents an item in a list component

MemberKindDescription
string TextPropertyGets or sets the item text
string SubTextPropertyGets or sets the item sub-text
string IconPropertyGets or sets the icon name or path
SKColor TextColorPropertyGets or sets the text color
SKColor SubTextColorPropertyGets or sets the sub-text color
SKColor IconColorPropertyGets or sets the icon color
SKColor BackgroundColorPropertyGets or sets the background color
SKColor SelectedBackgroundColorPropertyGets or sets the selected background color
SKColor HoverBackgroundColorPropertyGets or sets the hover background color
float HeightPropertyGets or sets the item height
bool IsVisiblePropertyGets or sets whether the item is visible
bool IsEnabledPropertyGets or sets whether the item is enabled
bool IsSelectedPropertyGets or sets whether the item is selected
object TagPropertyGets or sets the tag object
bool IsHoveredPropertyGets whether the item is currently hovered
bool IsPressedPropertyGets whether the item is currently pressed
List ParentListPropertyGets the parent List
event EventHandler ClickEventOccurs when the item is clicked
ListItem()MethodInitializes a new instance of the ListItem class
ListItem(string text)MethodInitializes a new instance of the ListItem class with text
ListItem(string text, string subText)MethodInitializes a new instance of the ListItem class with text and sub-text
virtual void PerformClick()MethodRaises the Click event

ListItemCollection (class)

A collection of ListItem objects

MemberKindDescription
ListItemCollection(List parentList)MethodInitializes a new instance of the ListItemCollection class
void Add(string text)MethodAdds a ListItem to the collection
void Add(string text, string subText)MethodAdds a ListItem to the collection with text and sub-text

ListType (enum)

Material Design 3.0 list types.

ListViewStyle (enum)

Specifies the style of a list view.

LoadedExtension (class)

Result of loading one extension.

MemberKindDescription
ISkiaExtension ExtensionPropertyGets or sets the extension.
string IdPropertyGets or sets the id.
string NamePropertyGets or sets the name.
string VersionPropertyGets or sets the version.
string DescriptionPropertyGets or sets the description.
List<Type> ComponentTypesPropertyGets or sets the component types.
List<string> ErrorsPropertyGets or sets the errors.
bool SuccessPropertyGets or sets the success.
override string ToString()MethodGets or sets the to string.

LocalExtensionRegistry (class)

Offline registry backed by a folder of .beepkg files. Useful for tests, air-gapped installs, and as a local cache in front of a hosted marketplace.

MemberKindDescription
LocalExtensionRegistry(string root, bool scanOnCreate = true)MethodInitializes a new instance of the LocalExtensionRegistry class.
string NamePropertyGets or sets the name.
string RootPropertyFolder containing the .beepkg files.
IReadOnlyList<ExtensionPackage> PackagesPropertyPackages currently indexed, newest version per id first.
void Refresh()MethodRescans the registry folder.
IReadOnlyList<ExtensionPackage> Search(string query = null, string tag = null, int max = 50)MethodGets or sets the search.
ExtensionPackage GetPackage(string id, string version = null)MethodGets or sets the get package.
bool TryDownload(ExtensionPackage package, string targetPath, out string error)MethodGets or sets the try download.

ManualTrigger (class)

Manual trigger: fires only when ActivateAsync is called (useful for tests, run buttons, and API-triggered executions).

MemberKindDescription
override string NamePropertyGets or sets the name.
override TriggerType TriggerTypePropertyGets or sets the trigger type.
override Task<bool> StartAsync(CancellationToken cancellationToken = default)MethodGets or sets the start async.
override Task<bool> StopAsync(CancellationToken cancellationToken = default)MethodGets or sets the stop async.
override Dictionary<string, object> GetConfigurationSchema()Method

ManualTriggerEventArgs (class)

Event arguments for manual trigger events.

MemberKindDescription
DateTime TriggerTimePropertyGets or sets the time when the trigger was activated.
int ExecutionCountPropertyGets or sets the execution count.
Model.ExecutionContext ContextPropertyGets or sets the execution context.
Dictionary<string, object> TriggerDataPropertyGets or sets additional trigger data.
string TriggerSourcePropertyGets or sets the source of the trigger (Button, Keyboard, API, etc.).

ManualTriggerNode (class)

Automation node that triggers workflow execution manually through user interaction. Provides interactive buttons, keyboard shortcuts, and programmatic triggering capabilities.

MemberKindDescription
ManualTriggerNode()MethodInitializes a new instance of the ManualTriggerNode class.
event EventHandler<ManualTriggerEventArgs> ManuallyTriggeredEventEvent raised when the manual trigger is activated.
event EventHandler<TriggerConfirmationEventArgs> ConfirmationRequestedEventEvent raised when trigger confirmation is requested.
string TriggerTextPropertyGets or sets the text displayed on the trigger button.
string KeyboardShortcutPropertyGets or sets the keyboard shortcut for triggering (e.g., "Ctrl+Enter").
bool RequireConfirmationPropertyGets or sets whether confirmation is required before triggering.
string ConfirmationMessagePropertyGets or sets the confirmation message displayed to users.
bool IsTriggerablePropertyGets or sets whether the trigger is currently available for activation.
int ExecutionCountPropertyGets the number of times this trigger has been activated.
DateTime LastExecutionPropertyGets the time of the last manual trigger activation.
Dictionary<string, object> TriggerPayloadPropertyGets or sets additional payload data to include with trigger execution.
bool AutoResetPropertyGets or sets whether the trigger automatically resets to triggerable state after execution.
TimeSpan CooldownPeriodPropertyGets or sets the cooldown period between trigger activations.
bool IsInCooldownPropertyGets whether the trigger is currently in cooldown period.
TimeSpan CooldownRemainingPropertyGets the time remaining in the cooldown period.
override string DescriptionPropertyGets the description of what this automation node does.
override NodeType NodeTypePropertyGets the type of this automation node.
override Task<bool> InitializeAsync(Dictionary<string, object> configuration, CancellationToken cancellationToken = default)MethodInitializes the manual trigger node with the specified configuration. The configuration parameters for the node. Token to cancel the initialization. A task representing the initialization operation.
override async Task<ValidationResult> ValidateAsync(Model.ExecutionContext inputData, CancellationToken cancellationToken = default)MethodValidates the current configuration for this manual trigger node. The input data to validate (not used for trigger nodes). Token to cancel the validation. A task containing the validation result.
override async Task<NodeResult> ExecuteAsync(Model.ExecutionContext context, CancellationToken cancellationToken = default)MethodExecutes the manual trigger and returns trigger information. The execution context. Token to cancel the execution. A task containing the execution result.
override Dictionary<string, object> GetInputSchema()MethodGets the schema defining the input parameters this node expects. Trigger nodes typically don't require input data. A dictionary describing the input schema.
override Dictionary<string, object> GetOutputSchema()MethodGets the schema defining the output parameters this node produces. A dictionary describing the output schema.
async Task<bool> TriggerAsync(string source = "Manual", Dictionary<string, object> additionalData = null)MethodManually triggers the workflow execution. The source of the trigger (Button, Keyboard, API, etc.). Additional data to include with the trigger. True if trigger was successful.
async Task<bool> TriggerFromButtonAsync()MethodTriggers the workflow when triggered by button click. True if trigger was successful.
async Task<bool> TriggerFromKeyboardAsync()MethodTriggers the workflow when triggered by keyboard shortcut. True if trigger was successful.
void Reset()MethodResets the trigger to be available for activation again.
void SetPayload(Dictionary<string, object> payload)MethodSets the trigger payload data. The payload data to set.
bool CanTrigger()MethodChecks if the trigger can currently be activated. True if the trigger can be activated.

MaterialControl (class)

Base class for Material Design 3.0 controls with SVG support and modern styling.

MemberKindDescription
event EventHandler<EventArgs> ClickedEventOccurs when the control is clicked.
float ElevationPropertyGets or sets the elevation of the control (Material Design shadow).
string SvgIconPropertyGets or sets the SVG source for the control's icon.
SvgScaleMode SvgScaleModePropertyGets or sets how the SVG should be scaled.
bool MaintainAspectRatioPropertyGets or sets whether to maintain aspect ratio when scaling SVG.
virtual void InvalidateVisual()MethodInvalidates the visual representation of the control.
void RefreshVisual()MethodPublic wrapper for InvalidateVisual() to allow access from demo classes.

MaterialDesignColors (class)

Material Design 3.0 Color Tokens - Public static class for accessing Material Design colors

MemberKindDescription
static readonly SKColor Primary = new SKColor(0x67, 0x50, 0xA4); // PurpleMethod
static readonly SKColor OnPrimary = SKColors.WhiteField
static readonly SKColor PrimaryContainer = new SKColor(0xE9, 0xDD, 0xFF)Method
static readonly SKColor OnPrimaryContainer = new SKColor(0x21, 0x00, 0x51)Method
static readonly SKColor Secondary = new SKColor(0x62, 0x5B, 0x71)Method
static readonly SKColor OnSecondary = SKColors.WhiteField
static readonly SKColor SecondaryContainer = new SKColor(0xE8, 0xDE, 0xF8)Method
static readonly SKColor OnSecondaryContainer = new SKColor(0x1D, 0x19, 0x23)Method
static readonly SKColor Tertiary = new SKColor(0x7D, 0x52, 0x60)Method
static readonly SKColor OnTertiary = SKColors.WhiteField
static readonly SKColor TertiaryContainer = new SKColor(0xFF, 0xD8, 0xE4)Method
static readonly SKColor OnTertiaryContainer = new SKColor(0x31, 0x10, 0x1D)Method
static readonly SKColor Error = new SKColor(0xBA, 0x1A, 0x1A)Method
static readonly SKColor OnError = SKColors.WhiteField
static readonly SKColor ErrorContainer = new SKColor(0xFF, 0xDA, 0xD6)Method
static readonly SKColor OnErrorContainer = new SKColor(0x41, 0x00, 0x0D)Method
static readonly SKColor Surface = new SKColor(0xFF, 0xFB, 0xFE)Method
static readonly SKColor OnSurface = new SKColor(0x1C, 0x1B, 0x1F)Method
static readonly SKColor SurfaceVariant = new SKColor(0xE7, 0xE0, 0xEC)Method
static readonly SKColor OnSurfaceVariant = new SKColor(0x49, 0x45, 0x4F)Method
static readonly SKColor SurfaceContainerHigh = new SKColor(0xF3, 0xED, 0xF4)Method
static readonly SKColor Outline = new SKColor(0x79, 0x75, 0x7E)Method
static readonly SKColor OutlineVariant = new SKColor(0xCA, 0xC4, 0xD0)Method

Menu (class)

Material Design menu rendered with absolute coordinates (X,Y).

MemberKindDescription
IList<MenuItem> ItemsPropertyGets or sets the items.
event EventHandler<MenuItem> ItemClickedEventRaised when item clicked changes.
event EventHandler OpenedEventRaised when opened changes.
event EventHandler ClosedEventRaised when closed changes.
MenuItem SelectedItemPropertyGets or sets the selected item.
float MenuWidthPropertyGets or sets the menu width.
MenuPosition PositionPropertyGets or sets the position.
SKPoint AnchorPointPropertyGets or sets the anchor point.
bool VisiblePropertyGets or sets the visible.
Menu() { Visible = false; RecalcSize(); }MethodInitializes a new instance of the Menu class.
void AddItem(MenuItem item) { if (item == null || _items.Contains(item)) return; _items.Add(item); item.ParentMenu = this; RecalcSize(); InvalidateVisual(); }MethodGets or sets the add item.
void RemoveItem(MenuItem item) { if (item == null) return; if (_items.Remove(item)) { if (_selected == item) _selected = null; item.ParentMenu = null; RecalcSize(); InvalidateVisual(); } }MethodGets or sets the remove item.
void ClearItems() { foreach (var i in _items) i.ParentMenu = null; _items.Clear(); _selected = null; RecalcSize(); InvalidateVisual(); }MethodGets or sets the clear items.
void Show(SKPoint anchor) { AnchorPoint = anchor; Visible = true; }MethodGets or sets the show.
void Hide() { Visible = false; }MethodGets or sets the hide.
override bool ContainsPoint(SKPoint point)MethodGets or sets the contains point.

MenuBar (class)

A Material Design 3.0 Menu Bar component that displays horizontal menu items.

MemberKindDescription
IReadOnlyList<MenuBarItem> ItemsPropertyGets the list of menu bar items.
MenuBarItem ActiveItemPropertyGets or sets the currently active menu bar item.
SKColor BackgroundColorPropertyGets or sets the background color of the menu bar.
SKColor ItemHoverColorPropertyGets or sets the hover color for menu items.
SKColor ItemActiveColorPropertyGets or sets the active color for menu items.
float ItemHeightPropertyGets or sets the height of menu items.
float ItemSpacingPropertyGets or sets the spacing between menu items.
event EventHandler<MenuBarItemEventArgs> ItemClickedEventOccurs when a menu item is clicked.
event EventHandler<MenuBarItemEventArgs> ItemActivatedEventOccurs when a menu item is activated (submenu shown).
event EventHandler<MenuBarItemEventArgs> ItemDeactivatedEventOccurs when a menu item is deactivated (submenu hidden).
MenuBar()MethodInitializes a new instance of the MenuBar class.
void AddItem(MenuBarItem item)MethodAdds a menu bar item. The menu bar item to add.
MenuBarItem AddItem(string text, Menu submenu = null)MethodAdds a menu bar item with the specified text and submenu. The text for the menu item. The submenu to display when activated.
void RemoveItem(MenuBarItem item)MethodRemoves a menu bar item. The menu bar item to remove.
void ClearItems()MethodClears all menu bar items.
void ActivateItem(MenuBarItem item)MethodActivates the specified menu item. The menu item to activate.
void DeactivateActiveItem()MethodDeactivates the currently active menu item.
new void HandleMouseDown(SKPoint point, InteractionContext context)MethodPublic wrapper for mouse down events (used by demos).
new void HandleMouseMove(SKPoint point, InteractionContext context)MethodPublic wrapper for mouse move events (used by demos).

MenuBarItem (class)

Represents an item in a menu bar.

MemberKindDescription
string TextPropertyGets or sets the text of the menu item.
Menu SubmenuPropertyGets or sets the submenu associated with this item.
MenuBar MenuBarPropertyGets the menu bar that contains this item.
bool IsHoveredPropertyGets or sets whether the item is hovered.
bool IsActivePropertyGets or sets whether the item is active (submenu shown).
float WidthPropertyGets the width of the menu item.
MenuBarItem(string text, Menu submenu = null)MethodInitializes a new instance of the MenuBarItem class. The text of the menu item. The submenu to display when activated.
void Draw(SKCanvas canvas, SKRect bounds)MethodDraws the menu bar item. The canvas to draw on. The bounds to draw within.

MenuBarItemEventArgs (class)

Menu bar item event arguments.

MenuButton (class)

A Material Design 3.0 Menu Button component that combines a button with a dropdown menu.

MemberKindDescription
string TextPropertyGets or sets the text displayed on the button.
string IconPropertyGets or sets the icon displayed on the button.
Menu MenuPropertyGets or sets the dropdown menu.
bool IsMenuOpenPropertyGets whether the dropdown menu is currently open.
SKColor ButtonColorPropertyGets or sets the button color.
SKColor HoverColorPropertyGets or sets the hover color.
SKColor PressedColorPropertyGets or sets the pressed color.
float CornerRadiusPropertyGets or sets the corner radius of the button.
ButtonVariant VariantPropertyGets or sets the button variant.
event EventHandler ButtonClickedEventOccurs when the button is clicked.
event EventHandler MenuOpenedEventOccurs when the menu is opened.
event EventHandler MenuClosedEventOccurs when the menu is closed.
MenuButton()MethodInitializes a new instance of the MenuButton class.
MenuButton(string text) : this()MethodInitializes a new instance of the MenuButton class with the specified text. The text to display on the button.
MenuButton(string text, Menu menu) : this(text)MethodInitializes a new instance of the MenuButton class with the specified text and menu. The text to display on the button. The dropdown menu.
void OpenMenu()MethodOpens the dropdown menu.
void CloseMenu()MethodCloses the dropdown menu.
void ToggleMenu()MethodToggles the dropdown menu open/closed state.
new bool HandleMouseDown(SKPoint point, InteractionContext context)MethodPublic wrapper for mouse down events (used by demos).

MenuItem (class)

A Material Design 3.0 Menu Item component.

MemberKindDescription
Menu ParentMenuPropertyGets or sets the parent menu.
string TextPropertyGets or sets the text displayed in the menu item.
string IconPropertyGets or sets the icon (Unicode character or SVG path).
string ShortcutPropertyGets or sets the keyboard shortcut text.
bool IsEnabledPropertyGets or sets whether the menu item is enabled.
bool IsSelectedPropertyGets or sets whether the menu item is selected.
bool IsHoveredPropertyGets or sets whether the menu item is hovered.
bool ShowSeparatorPropertyGets or sets whether to show a separator line after this item.
MenuItemType ItemTypePropertyGets or sets the menu item type.
SKColor TextColorPropertyGets or sets the text color.
SKColor IconColorPropertyGets or sets the icon color.
float IconSizePropertyGets or sets the icon size.
object TagPropertyGets or sets additional data associated with the menu item.
event EventHandler ClickedEventOccurs when the menu item is clicked.
MenuItem()MethodInitializes a new instance of the MenuItem class.
MenuItem(string text)MethodInitializes a new instance of the MenuItem class with text. The text to display.
MenuItem(string text, string icon)MethodInitializes a new instance of the MenuItem class with text and icon. The text to display. The icon to display.
MenuItem(string text, string icon, string shortcut)MethodInitializes a new instance of the MenuItem class with text and shortcut. The text to display. The icon glyph or path. The keyboard shortcut.
void OnClick()MethodCalled when the menu item is clicked.
void Draw(SKCanvas canvas, SKRect bounds, DrawingContext drawingContext)MethodDraws the menu item on the specified canvas. The canvas to draw on. The bounds of the menu item. The drawing context.
static MenuItem Separator()MethodCreates a separator menu item. A separator menu item.

MenuItemType (enum)

Material Design 3.0 menu item types.

MenuOrientation (enum)

Specifies the orientation of a menu.

MenuPosition (enum)

MenuStyle (enum)

Specifies the style of a menu.

MindMapDslNode (class)

A parsed mind-map node with radial layout geometry.

MemberKindDescription
string TitlePropertyGets or sets the title.
int DepthPropertyGets or sets the depth.
List<MindMapDslNode> ChildrenPropertyGets or sets the children.
float XPropertyGets or sets the x.
float YPropertyGets or sets the y.
float WidthPropertyGets or sets the width.
float HeightPropertyGets or sets the height.
string TypeKeywordPropertyType keyword: central (depth 0), topic (depth 1), subtopic (depth 2+).
override string ToString()MethodGets or sets the to string.

MindMapDslParser (class)

Parses an indentation-based outline into a mind-map tree and lays it out radially. Tabs count as four spaces. Blank lines are ignored; lines starting with # or // are comments.

MemberKindDescription
static MindMapDslNode Parse(string text, out List<string> warnings, int maxNodes = 60)MethodParses an outline and applies the radial layout.
const int MaxOutlineDepth = 100ConstantMaximum outline nesting depth. The radial layout walks the tree recursively, so deeper outlines are flattened onto the deepest allowed level instead of overflowing the stack.
static MindMapDslNode ParseTree(string text, List<string> warnings = null, int maxNodes = 60)MethodParses the outline without laying it out.
static void Layout(MindMapDslNode root, List<string> warnings = null)MethodAssigns radial positions (root at the center, children on expanding arcs).

MinimapControl (class)

Diagram minimap: a scaled overview of all components and connection lines with a viewport rectangle showing the currently visible world area (from pan/zoom). Intended to be added as a static overlay component.

MemberKindDescription
DrawingManager ManagerPropertyDrawing manager providing the diagram content and viewport.
float MinimapPaddingPropertyPadding inside the minimap frame.
bool ShowViewportPropertyDraws the viewport rectangle when true.
SKColor MinimapBackgroundPropertyGets or sets the minimap background.
SKColor ComponentFillPropertyGets or sets the component fill.
SKColor ComponentStrokePropertyGets or sets the component stroke.
SKColor ViewportStrokePropertyGets or sets the viewport stroke.
MinimapControl()MethodInitializes a new instance of the MinimapControl class.
SKRect CalculateWorldBounds()MethodWorld-space bounds of the diagram content (minimum 1x1).
float CalculateScale()MethodScale factor mapping world units to minimap pixels.
SKPoint MapWorldToMinimap(SKPoint world)MethodMaps a world-space point to canvas coordinates inside the minimap.
SKRect CalculateViewportWorldRect()MethodWorld-space rectangle currently visible, derived from pan/zoom and the bound canvas. Returns an empty rect when no canvas is attached.

MouseButton (enum)

Specifies the mouse button that was pressed.

MoveComponentsAction (class)

Action for moving components.

MemberKindDescription
MoveComponentsAction(DrawingManager manager, List<SkiaComponent> components, SKPoint offset)MethodInitializes a new instance of the MoveComponentsAction class.
override void Execute()MethodGets or sets the execute.
override void Undo()MethodGets or sets the undo.

MoveLineAction (class)

Action for moving a connection line.

MemberKindDescription
MoveLineAction(DrawingManager manager, IConnectionLine line, IConnectionPoint oldStartPoint, IConnectionPoint oldEndPoint, IConnectionPoint newStartPoint, IConnectionPoint newEndPoint)MethodInitializes a new instance of the MoveLineAction class.
override void Execute()MethodGets or sets the execute.
override void Undo()MethodGets or sets the undo.

NavigationBar (class)

A Material Design 3.0 Navigation Bar component for bottom navigation.

MemberKindDescription
IReadOnlyList<NavigationBarItem> ItemsPropertyGets the list of navigation bar items.
NavigationBarItem SelectedItemPropertyGets or sets the currently selected navigation bar item.
SKColor BackgroundColorPropertyGets or sets the background color of the navigation bar.
SKColor ActiveColorPropertyGets or sets the active/selected color for navigation items.
SKColor InactiveColorPropertyGets or sets the inactive color for navigation items.
float ItemHeightPropertyGets or sets the height of navigation items.
float IconSizePropertyGets or sets the size of icons in navigation items.
float LabelFontSizePropertyGets or sets the font size for item labels.
bool ShowLabelsPropertyGets or sets whether to show labels for navigation items.
event EventHandler<NavigationBarItemEventArgs> ItemSelectedEventOccurs when a navigation item is selected.
NavigationBar()MethodInitializes a new instance of the NavigationBar class.
void AddItem(NavigationBarItem item)MethodAdds a navigation bar item. The navigation bar item to add.
NavigationBarItem AddItem(string icon, string label, object tag = null)MethodAdds a navigation bar item with the specified icon and label. The icon for the navigation item. The label text for the navigation item. Optional tag object for the item.
void RemoveItem(NavigationBarItem item)MethodRemoves a navigation bar item. The navigation bar item to remove.
void ClearItems()MethodClears all navigation bar items.
void SelectItem(int index)MethodSelects the item at the specified index. The index of the item to select.
new void HandleMouseDown(SKPoint point, InteractionContext context)MethodPublic wrapper for mouse down events (used by demos).

NavigationBarItem (class)

Represents an item in a navigation bar.

MemberKindDescription
string IconPropertyGets or sets the icon for the navigation item.
string LabelPropertyGets or sets the label text for the navigation item.
object TagPropertyGets or sets the tag object associated with this item.
NavigationBar NavigationBarPropertyGets the navigation bar that contains this item.
bool IsSelectedPropertyGets or sets whether the item is selected.
bool HasBadgePropertyGets or sets whether the item has a badge.
string BadgeTextPropertyGets or sets the badge text.
NavigationBarItem(string icon, string label, object tag = null)MethodInitializes a new instance of the NavigationBarItem class. The icon for the navigation item. The label text for the navigation item. Optional tag object for the item.
void Draw(SKCanvas canvas, SKRect bounds)MethodDraws the navigation bar item. The canvas to draw on. The bounds to draw within.

NavigationBarItemEventArgs (class)

Navigation bar item event arguments.

NavigationDrawer (class)

A Material Design 3.0 Navigation Drawer component that slides in from the edge of the screen.

MemberKindDescription
IReadOnlyList<NavigationDrawerBaseItem> ItemsPropertyGets the list of navigation drawer items.
NavigationDrawerItem SelectedItemPropertyGets or sets the currently selected navigation drawer item.
NavigationDrawerHeader HeaderPropertyGets or sets the header of the navigation drawer.
SKColor BackgroundColorPropertyGets or sets the background color of the navigation drawer.
SKColor SurfaceTintColorPropertyGets or sets the surface tint color of the navigation drawer.
SKColor SelectedItemColorPropertyGets or sets the color for selected navigation items.
SKColor UnselectedItemColorPropertyGets or sets the color for unselected navigation items.
float ItemHeightPropertyGets or sets the height of navigation items.
float DividerHeightPropertyGets or sets the height of dividers.
float HeaderHeightPropertyGets or sets the height of the header.
bool IsOpenPropertyGets or sets whether the navigation drawer is open.
float DrawerWidthPropertyGets or sets the width of the navigation drawer.
DrawerPosition PositionPropertyGets or sets the position of the navigation drawer.
DrawerType DrawerTypePropertyGets or sets the type of the navigation drawer.
event EventHandler<NavigationDrawerItemEventArgs> ItemSelectedEventOccurs when a navigation item is selected.
event EventHandler DrawerOpenedEventOccurs when the navigation drawer is opened.
event EventHandler DrawerClosedEventOccurs when the navigation drawer is closed.
NavigationDrawer()MethodInitializes a new instance of the NavigationDrawer class.
void AddItem(NavigationDrawerBaseItem item)MethodAdds a navigation drawer item. The navigation drawer item to add.
NavigationDrawerItem AddItem(string icon, string label, string badge = null, object tag = null)MethodAdds a navigation drawer item with the specified icon, label, and badge. The icon for the navigation item. The label text for the navigation item. The badge text for the navigation item. Optional tag object for the item.
void AddDivider()MethodAdds a divider to the navigation drawer.
void RemoveItem(NavigationDrawerBaseItem item)MethodRemoves a navigation drawer item. The navigation drawer item to remove.
void ClearItems()MethodClears all navigation drawer items.
void Open()MethodOpens the navigation drawer.
void Close()MethodCloses the navigation drawer.
void Toggle()MethodToggles the navigation drawer open/closed state.
new void HandleMouseDown(SKPoint point, InteractionContext context)MethodPublic wrapper for mouse down events (used by demos).

NavigationDrawerBaseItem (class)

Base class for navigation drawer items.

MemberKindDescription
abstract void Draw(SKCanvas canvas, SKRect bounds)MethodDraws the navigation drawer item. The canvas to draw on. The bounds to draw within.

NavigationDrawerDivider (class)

Represents a divider in a navigation drawer.

MemberKindDescription
override void Draw(SKCanvas canvas, SKRect bounds)MethodGets or sets the draw.

NavigationDrawerHeader (class)

Represents the header of a navigation drawer.

MemberKindDescription
string TitlePropertyGets or sets the title text of the header.
string SubtitlePropertyGets or sets the subtitle text of the header.
string AvatarIconPropertyGets or sets the avatar icon of the header.
SKColor BackgroundColorPropertyGets or sets the background color of the header.
SKColor TitleColorPropertyGets or sets the title text color of the header.
SKColor SubtitleColorPropertyGets or sets the subtitle text color of the header.
NavigationDrawerHeader()MethodInitializes a new instance of the NavigationDrawerHeader class.
NavigationDrawerHeader(string title, string subtitle = null, string avatarIcon = null)MethodInitializes a new instance of the NavigationDrawerHeader class. The title text. The subtitle text. The avatar icon.
void Draw(SKCanvas canvas, SKRect bounds)MethodDraws the navigation drawer header. The canvas to draw on. The bounds to draw within.

NavigationDrawerItem (class)

Represents a navigation item in a navigation drawer.

MemberKindDescription
string IconPropertyGets or sets the icon of the navigation item.
string LabelPropertyGets or sets the label text of the navigation item.
string BadgePropertyGets or sets the badge text of the navigation item.
object TagPropertyGets or sets the tag object associated with this item.
NavigationDrawer NavigationDrawerPropertyGets the navigation drawer that contains this item.
bool IsSelectedPropertyGets or sets whether the item is selected.
bool IsHoveredPropertyGets or sets whether the item is hovered.
NavigationDrawerItem(string icon, string label, string badge = null, object tag = null)MethodInitializes a new instance of the NavigationDrawerItem class. The icon for the navigation item. The label text for the navigation item. The badge text for the navigation item. Optional tag object for the item.
override void Draw(SKCanvas canvas, SKRect bounds)MethodDraws the navigation drawer item. The canvas to draw on. The bounds to draw within.

NavigationDrawerItemEventArgs (class)

Navigation drawer item event arguments.

NavigationItem (class)

Represents an item in a navigation component

MemberKindDescription
string TextPropertyGets or sets the item text
string IconPropertyGets or sets the icon name or path
SKColor TextColorPropertyGets or sets the text color
SKColor IconColorPropertyGets or sets the icon color
SKColor BackgroundColorPropertyGets or sets the background color
SKColor SelectedBackgroundColorPropertyGets or sets the selected background color
SKColor HoverBackgroundColorPropertyGets or sets the hover background color
float HeightPropertyGets or sets the item height
bool IsVisiblePropertyGets or sets whether the item is visible
bool IsEnabledPropertyGets or sets whether the item is enabled
bool IsSelectedPropertyGets or sets whether the item is selected
object TagPropertyGets or sets the tag object
bool IsHoveredPropertyGets whether the item is currently hovered
bool IsPressedPropertyGets whether the item is currently pressed
NavigationBar ParentNavigationBarPropertyGets the parent NavigationBar
event EventHandler ClickEventOccurs when the item is clicked
NavigationItem()MethodInitializes a new instance of the NavigationItem class
NavigationItem(string text)MethodInitializes a new instance of the NavigationItem class with text
NavigationItem(string text, string icon)MethodInitializes a new instance of the NavigationItem class with text and icon
virtual void PerformClick()MethodRaises the Click event

NavigationItemCollection (class)

A collection of NavigationItem objects

MemberKindDescription
NavigationItemCollection(NavigationBar parentNavigationBar)MethodInitializes a new instance of the NavigationItemCollection class
void Add(string text)MethodAdds a NavigationItem to the collection
void Add(string text, string icon)MethodAdds a NavigationItem to the collection with text and icon

NavigationOrientation (enum)

Specifies the orientation of a navigation bar.

NavigationStyle (enum)

Specifies the style of a navigation bar.

NodeAddedEventArgs (class)

Event arguments for node added events.

MemberKindDescription
AutomationNode NodePropertyGets or sets the node.

NodePropertiesCancelledEventArgs (class)

Event arguments for node properties cancelled event.

MemberKindDescription
AutomationNode NodePropertyGets the node whose property editing was cancelled.

NodePropertiesSavedEventArgs (class)

Event arguments for node properties saved event.

MemberKindDescription
AutomationNode NodePropertyGets the node whose properties were saved.

NodePropertyEditor (class)

Visual property editor for automation nodes, similar to n8n/Make.com node configuration panels. Provides a comprehensive interface for editing node properties, data input, and configuration.

MemberKindDescription
override bool ShowInPalettePropertyGets or sets the show in palette.
event EventHandler<NodePropertiesSavedEventArgs> PropertiesSavedEventEvent raised when properties are saved.
event EventHandler<NodePropertiesCancelledEventArgs> PropertiesCancelledEventEvent raised when editing is cancelled.
AutomationNode SelectedNodePropertyGets or sets the currently selected node for editing.
bool IsDirtyPropertyGets whether the current properties have unsaved changes.
NodePropertyEditor()MethodInitializes a new instance of the NodePropertyEditor class.

NodeRemovedEventArgs (class)

Event arguments for node removed events.

MemberKindDescription
AutomationNode NodePropertyGets or sets the node.

NodeSelectedEventArgs (class)

Event arguments for node selection events.

MemberKindDescription
AutomationNode NodePropertyGets or sets the node.

Notification (class)

A notification component for displaying messages.

MemberKindDescription
string TextPropertyGets or sets the notification text.
NotificationType TypePropertyGets or sets the notification type.
NotificationPosition PositionPropertyGets or sets the notification position.
NotificationStyle StylePropertyGets or sets the notification style.
bool AutoClosePropertyGets or sets whether the notification should auto-close.
int DurationPropertyGets or sets the duration in milliseconds before auto-closing.
Notification()MethodInitializes a new instance of the Notification class.
void Show()MethodShows the notification.
void Hide()MethodHides the notification.

NotificationPosition (enum)

Specifies the position of a notification.

NotificationStyle (enum)

Specifies the style of a notification.

NotificationType (enum)

Specifies the type of a notification.

NumericUpDownStyle (enum)

Specifies the style of a numeric up-down control.

Orientation (enum)

Specifies the orientation of a stack layout.

OrphanNodeRule (class)

Detects nodes that have no connections (orphan nodes).

MemberKindDescription
string NamePropertyGets or sets the name.
string DescriptionPropertyGets or sets the description.
IEnumerable<DiagramIssue> Validate(IReadOnlyList<SkiaComponent> components, IReadOnlyList<IConnectionLine> lines)MethodGets or sets the validate.

OverlappingComponentsRule (class)

Detects components whose bounding rectangles overlap significantly.

MemberKindDescription
string NamePropertyGets or sets the name.
string DescriptionPropertyGets or sets the description.
IEnumerable<DiagramIssue> Validate(IReadOnlyList<SkiaComponent> components, IReadOnlyList<IConnectionLine> lines)MethodGets or sets the validate.

Palette (class)

MemberKindDescription
List<PaletteItem> ItemsPropertyGets or sets the items.
List<PaletteCategory> CategoriesPropertyGets or sets the categories.
Palette()MethodInitializes a new instance of the Palette class.
bool AutoHeightPropertyGets or sets the auto height.
bool AutoWidthPropertyGets or sets the auto width.
float? MaxHeightPropertyGets or sets the max height.
void RefreshLayout()MethodGets or sets the refresh layout.
string SearchTextPropertyFilters visible palette items by name or category (case-insensitive substring). Empty clears the filter and shows all items.
void ApplyFilter(string query)MethodApplies a search filter (alias for SearchText).
int VisibleItemCountPropertyGets the number of items currently visible after filtering.
void AddItem(PaletteItem item)MethodGets or sets the add item.
bool RemoveItem(PaletteItem item)MethodGets or sets the remove item.
override bool HandleMouseDown(SKPoint point, InteractionContext context)MethodGets or sets the handle mouse down.
override bool ContainsPoint(SKPoint point)MethodGets or sets the contains point.
override bool HandleMouseMove(SKPoint point, InteractionContext context)MethodGets or sets the handle mouse move.
override bool HandleMouseUp(SKPoint point, InteractionContext context)MethodGets or sets the handle mouse up.
void ScrollBy(float deltaPixels)MethodGets or sets the scroll by.

PaletteCategory (class)

MemberKindDescription
string NamePropertyGets or sets the name.
bool IsCollapsedPropertyGets or sets the is collapsed.
List<PaletteItem> ItemsPropertyGets or sets the items.

PaletteItem (class)

MemberKindDescription
string NamePropertyGets or sets the name.
string ComponentTypePropertyGets or sets the component type.
string CategoryPropertyGets or sets the category.
ERDMultiplicity? StartMultiplicityPropertyGets or sets the start multiplicity.
ERDMultiplicity? EndMultiplicityPropertyGets or sets the end multiplicity.

Panel (class)

A Material Design 3.0 surface container component that can hold other components.

MemberKindDescription
PanelVariant VariantPropertyGets or sets the panel variant (Material Design 3.0).
float CornerRadiusPropertyGets or sets the corner radius of the panel.
SKColor BackgroundColorPropertyGets or sets the background color of the panel (for backward compatibility).
SKColor BorderColorPropertyGets or sets the border color of the panel (for backward compatibility).
float BorderWidthPropertyGets or sets the border width of the panel (for backward compatibility).
string TitlePropertyGets or sets the title text displayed above the panel.
Panel()MethodInitializes a new instance of the Panel class.
Panel(float width, float height) : this()MethodInitializes a new instance of the Panel class with specified dimensions.
void AddChild(SkiaComponent child, float x, float y)MethodAdds a child component to this panel.

PanelStyle (enum)

Specifies the style of a panel.

PanelVariant (enum)

Material Design 3.0 panel variants.

PasteComponentsAction (class)

Action for pasting components from the clipboard.

MemberKindDescription
PasteComponentsAction(DrawingManager manager, List<SkiaComponent> components, List<IConnectionLine> lines = null)MethodInitializes a new instance of the PasteComponentsAction class.
override void Execute()MethodGets or sets the execute.
override void Undo()MethodGets or sets the undo.

PresenceEntry (class)

Live presence for a user on a document.

MemberKindDescription
string DocumentIdPropertyGets or sets the document id.
string UserIdPropertyGets or sets the user id.
DateTime LastSeenPropertyGets or sets the last seen.
string ActivityPropertyGets or sets the activity.

ProgressBar (class)

A Material Design 3.0 progress bar component.

MemberKindDescription
float ProgressPropertyGets or sets the progress value (0.0 to 1.0).
bool IsIndeterminatePropertyGets or sets whether the progress bar is in indeterminate state.
ProgressBarVariant VariantPropertyGets or sets the progress bar variant.
float StrokeWidthPropertyGets or sets the stroke width for the progress bar.
SKColor ProgressColorPropertyGets or sets the progress color.
SKColor TrackColorPropertyGets or sets the track color.
ProgressBar()MethodInitializes a new instance of the ProgressBar class.
ProgressBar(float width, float height) : this()MethodInitializes a new instance of the ProgressBar class with specified dimensions.
void SetProgressPercent(float percent)MethodSets the progress as a percentage (0-100).

ProgressBarStyle (enum)

Specifies the style of a progress bar.

ProgressBarVariant (enum)

Material Design 3.0 progress bar variants.

PropertyEditorKey (enum)

RadialLayout (class)

Radial auto-layout for MindMap diagrams. Children radiate outward from a central node at configurable angles and radius.

MemberKindDescription
float MinRadiusPropertyGets or sets the min radius.
float RadiusIncrementPropertyGets or sets the radius increment.
float StartAnglePropertyGets or sets the start angle.
float SweepAnglePropertyGets or sets the sweep angle.
void Arrange(IReadOnlyList<SkiaComponent> components, IReadOnlyList<IConnectionLine> lines)MethodGets or sets the arrange.

RadioButtonSize (enum)

Specifies the size of a radio button.

RadioButtonStyle (enum)

Specifies the style of a radio button.

RadioGroup (class)

A group of radio button controls where only one can be selected at a time.

MemberKindDescription
RadioGroupItemCollection ItemsPropertyGets the collection of items in the radio group.
RadioGroupStyle StylePropertyGets or sets the style of the radio group.
Orientation OrientationPropertyGets or sets the orientation of the radio group.
BorderStyle BorderStylePropertyGets or sets the border style of the radio group.
int ItemHeightPropertyGets or sets the height of each item.
int SpacingPropertyGets or sets the spacing between items.
RadioGroupItem SelectedItemPropertyGets or sets the selected item.
RadioGroup()MethodInitializes a new instance of the RadioGroup class.

RadioGroupItem (class)

Represents an item in a radio group.

MemberKindDescription
string TextPropertyGets or sets the text of the item.
bool CheckedPropertyGets or sets whether the item is checked.
object TagPropertyGets or sets the tag associated with the item.
RadioGroupItem()MethodInitializes a new instance of the RadioGroupItem class.
RadioGroupItem(string text)MethodInitializes a new instance of the RadioGroupItem class with the specified text.
RadioGroupItem(string text, bool isChecked)MethodInitializes a new instance of the RadioGroupItem class with the specified text and checked state.

RadioGroupItemCollection (class)

A collection of radio button items.

RadioGroupStyle (enum)

Specifies the style of a radio group.

RemoveComponentAction (class)

Action for removing a component.

MemberKindDescription
RemoveComponentAction(DrawingManager manager, SkiaComponent component, List<IConnectionLine> lines)MethodInitializes a new instance of the RemoveComponentAction class.
override void Execute()MethodGets or sets the execute.
override void Undo()MethodGets or sets the undo.

RenderingHelper (class)

Helper class for rendering operations in the drawing manager.

MemberKindDescription
RenderingHelper(DrawingManager drawingManager)MethodInitializes a new instance of the RenderingHelper class. The drawing manager that owns this rendering helper.
void DrawGrid(SKCanvas canvas)MethodDraws the grid on the canvas. The canvas to draw on.
void DrawSelectionRectangle(SKCanvas canvas, SKRect selectionRect)MethodDraws the selection rectangle. The canvas to draw on. The selection rectangle to draw.
void DrawSelectionHandles(SKCanvas canvas)MethodDraws selection handles for selected components. The canvas to draw on.
void DrawAll(SKCanvas canvas)MethodDraws all components and connection lines on the canvas. The canvas to draw on.
void DrawForExport(SKCanvas canvas)MethodDraws the diagram for export: no pan/zoom transform, no grid, no selection adorners, and no static screen-space overlays (palette, property editor). The canvas to draw on.
string GetResizeHandleAt(SkiaComponent component, SKPoint point)MethodGets the resize handle at the specified point on a component. The component. The point to test. The handle identifier, or null if no handle is at the point.
string GetArrowAt(IConnectionLine line, SKPoint point)MethodGets the arrow type ("start" or "end") at the specified point on a line. The connection line. The point to test. "start", "end", or null if no arrow is at the point.
bool LineContainsPoint(IConnectionLine line, SKPoint point)MethodZoom-aware line hit-testing supporting straight, orthogonal, and curved routing.

RuleBasedDiagramAssistant (class)

Offline, deterministic diagram assistant. Understands the flowchart DSL (see FlowchartDslParser) and indentation-based mind-map outlines (see MindMapDslParser), lays the result out, and produces a DiagramDto ready for DrawingManager.LoadFromDto.

MemberKindDescription
string NamePropertyGets or sets the name.
DiagramSuggestion Generate(DiagramRequest request)MethodGets or sets the generate.

ScheduleTrigger (class)

Scheduled trigger: fires repeatedly on a fixed interval (Configuration["IntervalSeconds"] or the Interval property).

MemberKindDescription
override string NamePropertyGets or sets the name.
override TriggerType TriggerTypePropertyGets or sets the trigger type.
TimeSpan IntervalPropertyInterval between activations.
override Task<bool> InitializeAsync(Dictionary<string, object> configuration, CancellationToken cancellationToken = default)MethodGets or sets the initialize async.
override Task<ValidationResult> ValidateAsync(CancellationToken cancellationToken = default)MethodGets or sets the validate async.
override Task<bool> StartAsync(CancellationToken cancellationToken = default)MethodGets or sets the start async.
override async Task<bool> StopAsync(CancellationToken cancellationToken = default)MethodGets or sets the stop async.
override Dictionary<string, object> GetConfigurationSchema()Method

ScrollBarOrientation (enum)

Specifies the orientation of a scroll bar.

ScrollBarStyle (enum)

Specifies the style of a scroll bar.

SearchEventArgs (class)

Provides data for the SearchPerformed event.

MemberKindDescription
string QueryPropertyGets the search query.
SearchEventArgs(string query)MethodInitializes a new instance of the SearchEventArgs class. The search query.

SearchSuggestion (class)

Represents a search suggestion item.

MemberKindDescription
string TextPropertyGets the text of the suggestion.
string IconPropertyGets the icon of the suggestion.
object TagPropertyGets the tag object associated with the suggestion.
SearchSuggestion(string text, string icon = null, object tag = null)MethodInitializes a new instance of the SearchSuggestion class. The suggestion text. The suggestion icon. The tag object.

SearchSuggestionEventArgs (class)

Provides data for the SuggestionSelected event.

MemberKindDescription
SearchSuggestion SuggestionPropertyGets the selected suggestion.
SearchSuggestionEventArgs(SearchSuggestion suggestion)MethodInitializes a new instance of the SearchSuggestionEventArgs class. The selected suggestion.

SegmentedButtonItem (class)

Represents a single segment in the segmented buttons control.

SegmentedButtons (class)

A Material Design 3.0 Segmented Buttons component that allows users to select one or more options from a set.

MemberKindDescription
SegmentedButtonSelectionMode SelectionModePropertyGets or sets the selection mode for the segmented buttons.
SKColor BackgroundColorPropertyGets or sets the background color of the segmented buttons container.
SKColor SelectedBackgroundColorPropertyGets or sets the background color for selected segments.
SKColor DividerColorPropertyGets or sets the color of the dividers between segments.
SKColor SelectedTextColorPropertyGets or sets the text color for selected segments.
SKColor UnselectedTextColorPropertyGets or sets the text color for unselected segments.
float CornerRadiusPropertyGets or sets the corner radius of the segmented buttons container.
float DividerWidthPropertyGets or sets the width of the dividers between segments.
float SegmentHeightPropertyGets or sets the height of each segment.
bool ShowDividersPropertyGets or sets whether to show dividers between segments.
IReadOnlyList<SegmentedButtonItem> ItemsPropertyGets the collection of segments in the segmented buttons control.
IEnumerable<int> SelectedIndicesPropertyGets the indices of currently selected segments.
event EventHandler<SelectionChangedEventArgs> SelectionChangedEventOccurs when the selection changes.
SegmentedButtons()MethodInitializes a new instance of the SegmentedButtons class.
SegmentedButtonItem AddSegment(string text, string icon = null)MethodAdds a new segment to the segmented buttons control. The text to display on the segment. The icon for the segment (optional). The created SegmentedButtonItem.
bool RemoveSegment(SegmentedButtonItem item)MethodRemoves a segment from the segmented buttons control. The segment to remove. True if the segment was removed successfully.
bool RemoveSegmentAt(int index)MethodRemoves a segment at the specified index. The index of the segment to remove. True if the segment was removed successfully.
void ClearSegments()MethodClears all segments from the segmented buttons control.
void SelectSegment(int index)MethodSelects a segment at the specified index. The index of the segment to select.
void DeselectSegment(int index)MethodDeselects a segment at the specified index. The index of the segment to deselect.
void ToggleSegment(int index)MethodToggles the selection state of a segment at the specified index. The index of the segment to toggle.
static SegmentedButtons Create(params string[] segments)MethodCreates a new SegmentedButtons instance with the specified segments. The text for each segment. A new SegmentedButtons instance.
static SegmentedButtons CreateSingleSelect(params string[] segments)MethodCreates a new SegmentedButtons instance with single selection mode. The text for each segment. A new SegmentedButtons instance.
static SegmentedButtons CreateMultiSelect(params string[] segments)MethodCreates a new SegmentedButtons instance with multiple selection mode. The text for each segment. A new SegmentedButtons instance.

SegmentedButtonSelectionMode (enum)

Material Design 3.0 segmented button selection modes.

SelectionChangedEventArgs (class)

Event arguments for selection changes.

SelectionManager (class)

Helper class for managing component selection in the drawing manager.

MemberKindDescription
event EventHandler SelectionChangedEventOccurs when the selection changes.
SelectionManager(DrawingManager drawingManager)MethodInitializes a new instance of the SelectionManager class. The drawing manager that owns this selection manager.
void SelectComponent(SkiaComponent component, bool addToSelection = false)MethodSelects a component. The component to select. Whether to add to existing selection.
void ClearSelection()MethodClears the current selection.
void SelectComponentsInRect(SKRect selectionRect, IEnumerable<SkiaComponent> components, bool addToSelection = false)MethodSelects all components within the specified rectangle. The selection rectangle. The components to test against. Whether to add to existing selection.
void RemoveFromSelection(SkiaComponent component)MethodRemoves a component from the selection. The component to remove.
void SelectLine(IConnectionLine line, bool addToSelection = false)MethodSelects a connection line.
void RemoveFromSelection(IConnectionLine line)MethodRemoves a connection line from the selection.
void SelectConnectionPoint(IConnectionPoint point, bool addToSelection = false)MethodSelects a connection point.
void RemoveFromSelection(IConnectionPoint point)MethodRemoves a connection point from the selection.
bool IsSelected(SkiaComponent component)MethodGets a value indicating whether a component is selected. The component to test. true if the component is selected; otherwise, false.
bool IsSelected(IConnectionLine line)MethodChecks if a line is currently selected.
bool IsSelected(IConnectionPoint point)MethodChecks if a connection point is currently selected.
void AddToSelection(SkiaComponent component)MethodAdds a component to the current selection without clearing existing selection. The component to add.
void SelectAll()MethodSelects all non-static components in the diagram.
SkiaComponent SelectNext(bool forward = true)MethodMoves selection to the next (or previous) component in reading order (top-to-bottom, then left-to-right), wrapping around. Returns the newly selected component.
SKRect GetSelectionBounds()MethodGets the bounds of all selected components combined. The combined bounds rectangle.

SelectionMode (enum)

Selection modes for the list.

SemanticVersion (class)

Minimal semantic version (major.minor.patch with optional prerelease/build), used for extension and host version checks.

MemberKindDescription
SemanticVersion(int major, int minor = 0, int patch = 0, string prerelease = null)MethodInitializes a new instance of the SemanticVersion class.
int MajorPropertyGets or sets the major.
int MinorPropertyGets or sets the minor.
int PatchPropertyGets or sets the patch.
string PrereleasePropertyGets or sets the prerelease.
bool IsPrereleasePropertyGets or sets the is prerelease.
static bool TryParse(string text, out SemanticVersion version)MethodGets or sets the try parse.
static SemanticVersion Parse(string text)MethodGets or sets the parse.
int CompareTo(SemanticVersion other)MethodGets or sets the compare to.
bool Equals(SemanticVersion other)MethodGets or sets the equals.
override bool Equals(object obj)MethodGets or sets the equals.
override int GetHashCode()MethodGets or sets the get hash code.
override string ToString()MethodGets or sets the to string.
static bool operator >(SemanticVersion left, SemanticVersion right)Method
static bool operator <(SemanticVersion left, SemanticVersion right)Method
static bool operator >=(SemanticVersion left, SemanticVersion right)Method
static bool operator <=(SemanticVersion left, SemanticVersion right)Method

SkiaComponent (class)

Base class for all Skia components in the framework. Provides common functionality for positioning, sizing, rendering, and interaction.

MemberKindDescription
float XPropertyGets or sets the X coordinate of this component's position.
float YPropertyGets or sets the Y coordinate of this component's position.
float WidthPropertyGets or sets the width of this component.
float HeightPropertyGets or sets the height of this component.
string NamePropertyGets or sets the name or identifier of this component.
object TagPropertyGets or sets custom data associated with this component.
virtual Dictionary<string, object> GetProperties(bool includeCommon = true, bool includeNodeProperties = true)MethodReturns a flat dictionary of this component's properties for editor/serialization use. Includes common visual properties and flattens NodeProperties (key -> current value). Include common component properties (X, Y, Width, Height, Name, etc.). Include NodeProperties entries as simple key/value pairs.
virtual void SetPropperties(IDictionary<string, object> properties, bool updateNodeProperties = true, bool applyToPublicSetters = true)MethodApplies a set of properties to this component. Keys match property names (case-insensitive) and/or NodeProperties keys. Unknown keys are ignored. Safe type conversion is attempted for common types (numeric, bool, enum, SKColor, TimeSpan). Dictionary of properties to apply. When true, matching NodeProperties entries are updated with converted values. When true, attempts to set matching public properties on this component via reflection.
void SetProperties(IDictionary<string, object> properties, bool updateNodeProperties = true, bool applyToPublicSetters = true)MethodConvenience alias with corrected spelling.
bool IsVisiblePropertyGets or sets a value indicating whether this component is visible.
bool IsEnabledPropertyGets or sets a value indicating whether this component is enabled for interaction.
bool IsStaticPropertyWhen true, this component is static (non-movable) by user interactions. Framework drag operations should respect this and not move it. Default is false.
bool IsSelectedPropertyGets or sets a value indicating whether this component is selected.
float OpacityPropertyGets or sets the opacity of this component (0.0 to 1.0).
ComponentState StatePropertyGets the current state of this component.
ComponentPriority PriorityPropertyGets or sets the rendering priority of this component.
SKRect BoundsPropertyGets the bounding rectangle of this component.
SkiaComponent ParentPropertyGets the parent component if this component is part of a hierarchy.
List<SkiaComponent> ChildrenPropertyGets the child components of this component.
string DisplayTextPropertyGets or sets the text to display on this component.
TextPosition TextPositionPropertyGets or sets the position where text should be displayed relative to the component.
float TextFontSizePropertyGets or sets the font size for the display text.
SKColor TextColorPropertyGets or sets the color of the display text.
bool ShowDisplayTextPropertyGets or sets whether to show the display text.
event EventHandler<SKRectEventArgs> BoundsChangedEventOccurs when the component's bounds change.
event EventHandler VisibilityChangedEventOccurs when the component's visibility changes.
event EventHandler EnabledChangedEventOccurs when the component's enabled state changes.
event EventHandler OpacityChangedEventOccurs when the component's opacity changes.
event EventHandler<ComponentStateChangedEventArgs> StateChangedEventOccurs when the component's state changes.
virtual void Update(DrawingContext context)MethodUpdates the component's layout and internal state. The drawing context.
virtual void Draw(SKCanvas canvas, DrawingContext context)MethodDraws this component on the specified Skia canvas. The SkiaSharp canvas to draw on. The drawing context containing additional information.
virtual bool ContainsPoint(SKPoint point)MethodDetermines whether the specified point is contained within this component. The point to test. true if the point is contained within this component; otherwise, false.
virtual bool HandleMouseDown(SKPoint point, InteractionContext context)MethodHandles mouse down events for this component. The mouse position. The interaction context. true if the event was handled; otherwise, false.
virtual bool HandleMouseMove(SKPoint point, InteractionContext context)MethodHandles mouse move events for this component. The mouse position. The interaction context. true if the event was handled; otherwise, false.
virtual bool HandleMouseUp(SKPoint point, InteractionContext context)MethodHandles mouse up events for this component. The mouse position. The interaction context. true if the event was handled; otherwise, false.
virtual void AddChild(SkiaComponent child)MethodAdds a child component to this component. The child component to add.
virtual void RemoveChild(SkiaComponent child)MethodRemoves a child component from this component. The child component to remove.
void Draw(SKCanvas canvas)MethodDraws this component on the specified Skia canvas with a default drawing context. The SkiaSharp canvas to draw on.
virtual void Move(SKPoint position)MethodMoves this component to the specified position. The new position.
virtual void Move(float x, float y)MethodMoves this component to the specified position. The new X coordinate. The new Y coordinate.
virtual void MoveBy(float deltaX, float deltaY)MethodMoves this component by the specified offset. The X offset. The Y offset.
virtual bool HitTest(SKPoint point)MethodDetermines whether the specified point hits this component (alias for ContainsPoint). The point to test. true if the point hits this component; otherwise, false.
virtual List<IConnectionPoint> InConnectionPointsPropertyGets the input connection points for this component.
virtual List<IConnectionPoint> OutConnectionPointsPropertyGets the output connection points for this component.
virtual void ConnectTo(IDrawableComponent other)MethodConnects this component to another component. The component to connect to.
virtual void DisconnectFrom(IDrawableComponent other)MethodDisconnects this component from another component. The component to disconnect from.
virtual bool IsConnectedTo(IDrawableComponent other)MethodDetermines whether this component is connected to another component. The component to check connection with. true if connected; otherwise, false.
void Dispose()MethodPerforms application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

SkiaComponentDescriptor (class)

Serializable descriptor for a Skia component at design time. Hosts (WinForms, WPF, Avalonia, MAUI, Blazor) emit instances into designer code when a component is dropped onto the canvas.

MemberKindDescription
SkiaComponentDescriptor() { }MethodInitializes a new instance of the SkiaComponentDescriptor class.
string ComponentTypePropertyAssembly-qualified type name of the component (e.g. "Beep.Skia.Components.Button, Beep.Skia").
float XPropertyGets or sets the x.
float YPropertyGets or sets the y.
float WidthPropertyGets or sets the width.
float HeightPropertyGets or sets the height.
string NamePropertyOptional name for later lookup.
Dictionary<string, string> PropertyBagPropertyArbitrary string-based property bag for component-specific settings.

SkiaComponentDescriptorCollection (class)

Collection of design-time descriptors, serialized as content by host designers.

MemberKindDescription
SkiaComponentDescriptorCollection() { }MethodInitializes a new instance of the SkiaComponentDescriptorCollection class.

SkiaComponentRegistry (class)

Static registry for managing loaded Skia components. This class provides centralized access to all available SkiaComponent types that have been registered by external loaders.

MemberKindDescription
static List<AssemblyClassDefinition> LoadedComponentsPropertyGets the list of all loaded Skia components.
static bool IsInitializedPropertyGets whether the registry has been initialized.
static void SetComponents(List<AssemblyClassDefinition> components)MethodSets the component list from an external loader. This method should be called by the external loader after loading components. The list of AssemblyClassDefinition objects to register.
static void AddComponent(AssemblyClassDefinition component)MethodAdds a single component to the registry. The AssemblyClassDefinition to add.
static void AddComponents(IEnumerable<AssemblyClassDefinition> components)MethodAdds multiple components to the registry. The list of AssemblyClassDefinition objects to add.
static AssemblyClassDefinition GetComponentByName(string className)MethodGets a component definition by its class name. The class name to search for. The AssemblyClassDefinition if found, null otherwise.
static AssemblyClassDefinition GetComponentByGuid(string guid)MethodGets a component definition by its GUID. The GUID to search for. The AssemblyClassDefinition if found, null otherwise.
static List<AssemblyClassDefinition> GetComponentsByAssembly(string assemblyName)MethodGets all component definitions from a specific assembly. The assembly name to filter by. A list of AssemblyClassDefinition objects from the specified assembly.
static List<AssemblyClassDefinition> GetComponentsByType(string typeName)MethodGets all component definitions that implement a specific interface or inherit from a specific base class. The type name to filter by. A list of AssemblyClassDefinition objects that match the type.
static SkiaComponent CreateComponentInstance(AssemblyClassDefinition componentDefinition)MethodCreates an instance of a SkiaComponent from its AssemblyClassDefinition. The component definition to instantiate. An instance of the SkiaComponent if successful, null otherwise.
static SkiaComponent CreateComponentInstance(string className)MethodCreates an instance of a SkiaComponent by its class name. The class name of the component to create. An instance of the SkiaComponent if successful, null otherwise.
static void Clear()MethodClears all loaded components and resets the registry.
static int ComponentCountPropertyGets the count of loaded components.
static bool IsComponentRegistered(string className)MethodChecks if a component with the specified name is registered. The class name to check. True if the component is registered, false otherwise.
static List<AssemblyClassDefinition> GetComponentsWithMethods()MethodGets all components that have methods (useful for components with interactive functionality). A list of AssemblyClassDefinition objects that have methods defined.
static List<AssemblyClassDefinition> GetComponentsWithVisualProperties()MethodGets all components that have visual properties or attributes. A list of AssemblyClassDefinition objects that have visual properties.
static List<AssemblyClassDefinition> GetComponentsByCapabilities(bool? hasLocalDB = null, bool? isDataSource = null, bool? inMemory = null)MethodGets all components that implement specific interfaces or have specific properties. Filter by components that support LocalDB. Filter by components that are data sources. Filter by components that support in-memory operations. A list of AssemblyClassDefinition objects that match the criteria.
static List<AssemblyClassDefinition> GetComponentsOrdered()MethodGets components ordered by their specified order property. A list of AssemblyClassDefinition objects ordered by their Order property.
static List<string> GetAvailableNamespaces()MethodGets all unique namespaces from registered components. A list of unique namespace names.
static List<string> GetAvailableAssemblies()MethodGets all unique assembly names from registered components. A list of unique assembly names.
static List<(AssemblyClassDefinition Component, MethodsClass Method)> GetComponentMethods( string componentName = null, bool? hidden = null)MethodGets component methods that match specific criteria. The component name to filter by (optional). Filter by visibility (optional). A list of matching MethodsClass objects with their parent component information.
static int RegisterFromConfigEditor(IConfigEditor configEditor, string componentType = "SkiaComponent")MethodRegisters components from the Beep configuration system. This method should be called after the Beep loader has scanned assemblies. The configuration editor containing the loaded components. The type of components to register (e.g., "SkiaComponent"). The number of components that were registered.
static List<AssemblyClassDefinition> DiscoverAndRegisterDomainComponents(bool includeSystemAssemblies = false)MethodScans the currently loaded AppDomain assemblies for types that inherit from SkiaComponent and registers them into the component registry. If true, will not skip assemblies with common system prefixes. List of AssemblyClassDefinition objects that were discovered and registered.
static ExtractedComponentResult ExtractComponentDetailed(AssemblyClassDefinition componentDefinition)MethodCreates a detailed component instance with full metadata initialization. The component definition to instantiate. An ExtractedComponentResult with detailed component information.

SkiaExtensionHost (class)

Discovers and loads Beep.Skia extension packages from assemblies or a plugin directory, collecting their component types and commands for palette/editor integration.

MemberKindDescription
IReadOnlyList<LoadedExtension> ExtensionsPropertyLoaded extensions (successful and failed).
IReadOnlyList<ExtensionComponentDescriptor> ComponentsPropertyComponent descriptors contributed by all loaded extensions.
IReadOnlyDictionary<string, Action<SkiaComponent>> CommandsPropertyCommands registered by extensions (name → action).
IReadOnlyList<string> LogPropertyDiagnostic log collected during loading.
event EventHandler<ExtensionLoadedEventArgs> ExtensionLoadedEventRaised after each extension is loaded.
int LoadFromAssemblies(IEnumerable<Assembly> assemblies)MethodLoads every ISkiaExtension found in the given assemblies. Returns the number of extensions loaded (including ones that failed initialization).
int LoadFromDirectory(string directory, string searchPattern = "*.dll")MethodLoads extensions from every matching assembly in a plugin directory.
SkiaComponent CreateComponent(string assemblyQualifiedName)MethodCreates a component instance from an extension component descriptor's type name.
bool InvokeCommand(string name, SkiaComponent target)MethodInvokes a registered extension command for the given target component.
void Clear()MethodClears all loaded extensions, components, commands, and the log.

SkiaTheme (class)

Holds all Material Design 3.0 color tokens for a theme. Supports light and dark mode via IsDark flag.

MemberKindDescription
string NamePropertyGets or sets the name.
SKColor PrimaryPropertyGets or sets the primary.
SKColor OnPrimaryPropertyGets or sets the on primary.
SKColor PrimaryContainerPropertyGets or sets the primary container.
SKColor OnPrimaryContainerPropertyGets or sets the on primary container.
SKColor SecondaryPropertyGets or sets the secondary.
SKColor OnSecondaryPropertyGets or sets the on secondary.
SKColor SecondaryContainerPropertyGets or sets the secondary container.
SKColor OnSecondaryContainerPropertyGets or sets the on secondary container.
SKColor TertiaryPropertyGets or sets the tertiary.
SKColor OnTertiaryPropertyGets or sets the on tertiary.
SKColor TertiaryContainerPropertyGets or sets the tertiary container.
SKColor OnTertiaryContainerPropertyGets or sets the on tertiary container.
SKColor ErrorPropertyGets or sets the error.
SKColor OnErrorPropertyGets or sets the on error.
SKColor ErrorContainerPropertyGets or sets the error container.
SKColor OnErrorContainerPropertyGets or sets the on error container.
SKColor SurfacePropertyGets or sets the surface.
SKColor OnSurfacePropertyGets or sets the on surface.
SKColor SurfaceVariantPropertyGets or sets the surface variant.
SKColor OnSurfaceVariantPropertyGets or sets the on surface variant.
SKColor SurfaceContainerPropertyGets or sets the surface container.
SKColor SurfaceContainerHighPropertyGets or sets the surface container high.
SKColor OutlinePropertyGets or sets the outline.
SKColor OutlineVariantPropertyGets or sets the outline variant.
SKColor CanvasBackgroundPropertyGets or sets the canvas background.
SKColor GridColorPropertyGets or sets the grid color.
static SkiaTheme LightPropertyCreates a light theme (default).
static SkiaTheme DarkPropertyCreates a dark theme with inverted surface/on-surface colors.
static SkiaTheme HighContrastPropertyHigh-contrast theme for accessibility.
static SkiaTheme NordPropertyNord theme — cool blue/gray palette.
static SkiaTheme DraculaPropertyDracula theme — dark purple/green palette.
SkiaTheme Clone()MethodGets or sets the clone.

SkiaUtil (class)

Provides utility methods for SkiaSharp operations including geometric transformations, color space conversions, and mathematical calculations.

MemberKindDescription
static SKPoint Rotate(SKPoint point, float degrees)MethodRotates a point around the origin by the specified number of degrees. The point to rotate. The rotation angle in degrees. The rotated point.
static SKPoint Add(SKPoint point1, SKPoint point2)MethodAdds two points together component-wise. The first point. The second point. The sum of the two points.
static SKPoint Subtract(SKPoint point1, SKPoint point2)MethodSubtracts the second point from the first point component-wise. The first point. The second point to subtract. The difference between the two points.
static float CrossProduct(SKPoint v1, SKPoint v2)MethodCalculates the cross product (also known as the z-component of the 3D cross product) of two 2D vectors. The first vector. The second vector. The cross product value.
static (float Hue, float Saturation, float Luminosity) ToHsl(this SKColor color)MethodConverts an SKColor to HSL (Hue, Saturation, Luminosity) color space. The SKColor to convert. A tuple containing Hue (0-360), Saturation (0-1), and Luminosity (0-1).
static SKColor FromHsl(float hue, float saturation, float luminosity)MethodCreates an SKColor from HSL (Hue, Saturation, Luminosity) values. The hue component (0-360 degrees). The saturation component (0-1). The luminosity component (0-1). The corresponding SKColor.

SKKeyModifiers (enum)

Specifies the state of modifier keys on the keyboard.

Slider (class)

A Material Design 3.0 Slider component that allows users to select a value from a range. Supports continuous, discrete, and range slider types.

MemberKindDescription
double ValuePropertyGets or sets the current value of the slider.
double MinimumPropertyGets or sets the minimum value of the slider.
double MaximumPropertyGets or sets the maximum value of the slider.
double StepSizePropertyGets or sets the step size for discrete sliders.
double SecondaryValuePropertyGets or sets the secondary value for range sliders.
SliderType SliderTypePropertyGets or sets the type of the slider.
bool ShowTicksPropertyGets or sets whether to show tick marks for discrete sliders.
bool IsHoveredPropertyGets or sets whether the slider is hovered.
bool IsFocusedPropertyGets or sets whether the slider is focused.
SKColor TrackColorPropertyGets or sets the track color.
SKColor ActiveTrackColorPropertyGets or sets the active track color.
SKColor ThumbColorPropertyGets or sets the thumb color.
SKColor TickColorPropertyGets or sets the tick color.
float TrackHeightPropertyGets or sets the height of the track.
float ThumbRadiusPropertyGets or sets the radius of the thumb.
string LabelPropertyGets or sets the label text for the slider.
string ValueLabelFormatPropertyGets or sets the format string for the value label.
bool ShowValueLabelPropertyGets or sets whether to show the value label.
event EventHandler<SliderValueChangedEventArgs> ValueChangedEventOccurs when the slider value changes.
Slider()MethodInitializes a new instance of the Slider class.
Slider(double minimum, double maximum, double value = 0)MethodInitializes a new instance of the Slider class with specified range. The minimum value. The maximum value. The initial value.

SliderOrientation (enum)

Specifies the orientation of a slider.

SliderStyle (enum)

Specifies the style of a slider.

SliderType (enum)

Specifies the type of slider.

SliderValueChangedEventArgs (class)

Slider value changed event arguments.

Spinner (class)

A spinner component for indicating loading or processing.

MemberKindDescription
SpinnerStyle StylePropertyGets or sets the spinner style.
SKColor ColorPropertyGets or sets the spinner color.
float ThicknessPropertyGets or sets the thickness of the spinner lines.
int SegmentsPropertyGets or sets the number of segments in the spinner.
float SpeedPropertyGets or sets the rotation speed in degrees per frame.
Spinner()MethodInitializes a new instance of the Spinner class.
void Start()MethodStarts the spinner animation.
void Stop()MethodStops the spinner animation.

SpinnerStyle (enum)

Specifies the style of a spinner.

SplitButton (class)

A Material Design 3.0 Split Button component that combines a primary action with a dropdown menu of additional options.

MemberKindDescription
string TextPropertyGets or sets the text displayed on the primary button.
string SelectedTextPropertyGets the text of the currently selected menu item.
SKColor BackgroundColorPropertyGets or sets the background color of the primary button.
new SKColor TextColorPropertyGets or sets the text color of the primary button.
SKColor DropdownButtonColorPropertyGets or sets the background color of the dropdown button.
SKColor DropdownTextColorPropertyGets or sets the text color of the dropdown button.
float CornerRadiusPropertyGets or sets the corner radius of the split button.
ButtonVariant VariantPropertyGets or sets the button variant (Material Design 3.0).
string LeadingIconPropertyGets or sets the leading icon (SVG path or resource name).
string DropdownIconPropertyGets or sets the dropdown icon.
bool IsDropdownOpenPropertyGets or sets whether the dropdown menu is open.
float SeparatorWidthPropertyGets or sets the width of the separator between the primary and dropdown buttons.
SKColor SeparatorColorPropertyGets or sets the color of the separator between the primary and dropdown buttons.
SplitButtonItem SelectedItemPropertyGets the currently selected menu item.
IReadOnlyList<SplitButtonItem> MenuItemsPropertyGets the collection of menu items.
event EventHandler<EventArgs> PrimaryButtonClickedEventOccurs when the primary button is clicked.
event EventHandler<EventArgs> DropdownButtonClickedEventOccurs when the dropdown button is clicked.
event EventHandler<SplitButtonItemSelectedEventArgs> ItemSelectedEventOccurs when a menu item is selected.
event EventHandler<EventArgs> DropdownStateChangedEventOccurs when the dropdown state changes.
SplitButton()MethodInitializes a new instance of the SplitButton class.
SplitButtonItem AddMenuItem(string text, string icon = null)MethodAdds a menu item to the dropdown. The text for the menu item. The icon for the menu item (optional). The created SplitButtonItem.
bool RemoveMenuItem(SplitButtonItem item)MethodRemoves a menu item from the dropdown. The menu item to remove. True if the item was removed successfully.
void ClearMenuItems()MethodClears all menu items from the dropdown.
void SelectItem(SplitButtonItem item)MethodSelects a menu item. The menu item to select.
void SelectItem(int index)MethodSelects a menu item by index. The index of the menu item to select.
static SplitButton Create(string primaryText, params string[] menuItems)MethodCreates a new SplitButton instance with the specified menu items. The text for the primary button. The menu items for the dropdown. A new SplitButton instance.
static SplitButton CreateFilled(string primaryText, params string[] menuItems)MethodCreates a new SplitButton instance with filled variant. The text for the primary button. The menu items for the dropdown. A new SplitButton instance.
static SplitButton CreateOutlined(string primaryText, params string[] menuItems)MethodCreates a new SplitButton instance with outlined variant. The text for the primary button. The menu items for the dropdown. A new SplitButton instance.

SplitButtonItem (class)

Represents a menu item in the split button dropdown.

SplitButtonItemSelectedEventArgs (class)

Event arguments for split button item selection.

SplitterOrientation (enum)

Specifies the orientation of a splitter.

SplitterStyle (enum)

Specifies the style of a splitter.

StackLayout (class)

A layout manager that arranges components in a stack, either vertically or horizontally.

MemberKindDescription
Orientation OrientationPropertyGets or sets the orientation of the stack.
float SpacingPropertyGets or sets the spacing between components.
StackLayout() { }MethodInitializes a new instance of the StackLayout class.
StackLayout(Orientation orientation)MethodInitializes a new instance of the StackLayout class with specified orientation. The orientation of the stack.
void Layout(IEnumerable<SkiaComponent> components, SKRect bounds, float padding = 0)MethodLays out the specified components within the given bounds. The components to layout. The bounds in which to layout the components. The padding around the layout area.

StatusBar (class)

A Material Design 3.0 status bar component

MemberKindDescription
StatusBarItemCollection ItemsPropertyGets the collection of status bar items
SKColor BackgroundColorPropertyGets or sets the background color
SKColor BorderColorPropertyGets or sets the border color
float BorderWidthPropertyGets or sets the border width
float ItemSpacingPropertyGets or sets the spacing between items
bool ShowBorderPropertyGets or sets whether to show the border
StatusBar()MethodInitializes a new instance of the StatusBar class
StatusBarItem AddItem(string text)MethodAdds a status bar item with the specified text
StatusBarItem AddItem(string text, float width)MethodAdds a status bar item with the specified text and width
void RemoveItem(StatusBarItem item)MethodRemoves a status bar item
void ClearItems()MethodClears all items from the status bar

StatusBarItem (class)

Represents an item in a status bar

MemberKindDescription
string TextPropertyGets or sets the item text
SKColor TextColorPropertyGets or sets the text color
SKColor BackgroundColorPropertyGets or sets the background color
float WidthPropertyGets or sets the item width
TextAlignment TextAlignmentPropertyGets or sets the text alignment
bool IsVisiblePropertyGets or sets whether the item is visible
object TagPropertyGets or sets the tag object
StatusBar ParentStatusBarPropertyGets the parent StatusBar
StatusBarItem()MethodInitializes a new instance of the StatusBarItem class
StatusBarItem(string text)MethodInitializes a new instance of the StatusBarItem class with text

StatusBarItemCollection (class)

A collection of StatusBarItem objects

MemberKindDescription
StatusBarItemCollection(StatusBar parentStatusBar)MethodInitializes a new instance of the StatusBarItemCollection class
void Add(string text)MethodAdds a StatusBarItem to the collection
void Add(string text, float width)MethodAdds a StatusBarItem to the collection with specified properties

StatusBarStyle (enum)

Specifies the style of a status bar.

SvgImage (class)

A component that displays SVG images with support for scaling and positioning.

MemberKindDescription
string SvgSourcePropertyGets or sets the SVG source. Can be a file path, embedded resource, or SVG content string. Supported formats: - File path: "C:\path\to\file.svg" or "relative\path\file.svg" - Embedded resource: "AssemblyName.ResourceName" (e.g., "Beep.Skia.svg.door.svg") - SVG content: Raw SVG XML string
SvgScaleMode ScaleModePropertyGets or sets the scaling mode for the SVG.
SKSize OriginalSizePropertyGets the original SVG size.
SvgImage()MethodInitializes a new instance of the SvgImage class.
void LoadEmbeddedResource(string resourceName)MethodLoads an embedded SVG resource from the current assembly. The name of the embedded resource.
void LoadEmbeddedResource(string assemblyName, string resourceName)MethodLoads an embedded SVG resource from the specified assembly. The name of the assembly containing the resource. The name of the embedded resource.
void LoadEmbeddedResource(Assembly assembly, string resourceName)MethodLoads an embedded SVG resource from the specified assembly. The assembly containing the resource. The name of the embedded resource.
SvgImage(string resourceName, bool isEmbedded) : this()MethodInitializes a new instance of the SvgImage class with an embedded resource from the current assembly. The name of the embedded resource. True if the resource is embedded; false if it's a file path.
SvgImage(string assemblyName, string resourceName) : this()MethodInitializes a new instance of the SvgImage class with an embedded resource from the specified assembly. The name of the assembly containing the resource. The name of the embedded resource.
SvgImage(string svgContent) : this()MethodInitializes a new instance of the SvgImage class with SVG content. The SVG content as a string.

SvgScaleMode (enum)

Specifies how the SVG should be scaled within its container.

Swimlane (class)

Represents a single lane (row or column) within a SwimlaneContainer.

MemberKindDescription
string TitlePropertyLane header title displayed in the header bar.
bool IsCollapsedPropertyWhether this lane is currently collapsed.
List<SkiaComponent> ChildrenPropertyGets the list of components that belong to this lane.
object TagPropertyOptional tag for lane identification.
override string ToString()MethodGets or sets the to string.

SwimlaneContainer (class)

A swimlane / pool / lane container for diagramming. Supports horizontal (row) and vertical (column) layouts with resizable header areas. Components added as children are automatically positioned within their assigned lane.

MemberKindDescription
bool OrientationHorizontalPropertyGets or sets the orientation of the lanes. True = horizontal rows, false = vertical columns.
float HeaderSizePropertyGets or sets the header size (height for horizontal, width for vertical).
IReadOnlyList<Swimlane> LanesPropertyGets the list of lanes in this container.
bool AllowCollapsePropertyGets or sets whether lane headers are collapsible.
float LaneSpacingPropertyGets or sets the separation between lanes in pixels.
SwimlaneContainer()MethodInitializes a new instance of the SwimlaneContainer class.
Swimlane AddLane(string title)MethodAdds a new lane with the given title.
void RemoveLane(Swimlane lane)MethodRemoves a lane and all its children.
void AddToLane(SkiaComponent component, Swimlane lane)MethodAdds a component to a specific lane.
Swimlane GetLaneAtPoint(SKPoint localPoint)MethodGets the lane that contains the given point (in component-local coordinates).
override Dictionary<string, object> GetProperties(bool includeCommon = true, bool includeNodeProperties = true)Method
override void SetPropperties(IDictionary<string, object> properties, bool updateNodeProperties = true, bool applyToPublicSetters = true)MethodGets or sets the set propperties.

Switch (class)

A Material Design 3.0 Switch component that provides a toggle between on and off states.

MemberKindDescription
new event EventHandler<SwitchStateChangedEventArgs> StateChangedPropertyOccurs when the switch state changes.
bool IsCheckedPropertyGets or sets whether the switch is in the checked (on) state.
bool IsHoveredPropertyGets or sets whether the switch is hovered.
bool IsPressedPropertyGets or sets whether the switch is pressed.
Switch()MethodInitializes a new instance of the Switch class.
void Toggle()MethodToggles the switch state.

SwitchStateChangedEventArgs (class)

Event arguments for switch state changes.

TabItem (class)

Represents a tab item in the tabs component.

TableDrawer (class)

Partial class for TableDrawer containing all mouse interaction methods

MemberKindDescription
void HandleMouseDown(SKPoint mouseLocation)MethodHandles mouse down events to initiate drag operations on table cells. The location of the mouse pointer when the button was pressed.
void HandleMouseMove(SKPoint mouseLocation)MethodHandles mouse move events to update the position of dragged cells. The current location of the mouse pointer.
void HandleMouseUp(SKPoint mouseLocation)MethodHandles mouse up events to complete drag operations and potentially swap cell positions. The location of the mouse pointer when the button was released.

TableDrawerHelper (class)

Helper class for TableDrawer operations and calculations

MemberKindDescription
static SKRect CalculateColumnHeaderRect(int columnIndex, float cellWidth, float headerHeight)MethodCalculates the rectangle for a column header at the specified index The zero-based index of the column The width of each cell The height of the header The SKRect representing the column header area
static SKRect CalculateRowHeaderRect(int rowIndex, float cellWidth, float cellHeight, float headerHeight)MethodCalculates the rectangle for a row header at the specified index The zero-based index of the row The width of each cell The height of each cell The height of the header The SKRect representing the row header area
static SKRect CalculateCellRect(int rowIndex, int columnIndex, float cellWidth, float cellHeight, float headerHeight)MethodCalculates the rectangle for a table cell at the specified row and column The zero-based index of the row The zero-based index of the column The width of each cell The height of each cell The height of the header The SKRect representing the cell area
static SKPaint CreateHeaderPaint()MethodCreates a paint object for drawing headers with default styling An SKPaint object configured for header drawing
static SKPaint CreateHeaderTextPaint()MethodCreates a paint object for drawing header text with default styling An SKPaint object configured for header text drawing
static SKPaint CreateCellBorderPaint()MethodCreates a paint object for drawing cell borders with default styling An SKPaint object configured for cell border drawing
static SKPaint CreateCellTextPaint()MethodCreates a paint object for drawing cell text with default styling An SKPaint object configured for cell text drawing
static SKPaint CreateDraggedCellPaint()MethodCreates a paint object for drawing dragged cells with default styling An SKPaint object configured for dragged cell drawing
static string GenerateColumnHeaderText(int columnIndex)MethodGenerates a default column header text for the specified column index The zero-based index of the column The header text string
static string GenerateRowHeaderText(int rowIndex)MethodGenerates a default row header text for the specified row index The zero-based index of the row The header text string
static string GenerateCellText(int rowIndex, int columnIndex)MethodGenerates default cell content text for the specified row and column The zero-based index of the row The zero-based index of the column The cell content text string
static int GetRectangleIndexContainingPoint(SKPoint point, SKRect[] rectangles)MethodChecks if a point is within any of the provided rectangles The point to test The array of rectangles to check against The index of the rectangle containing the point, or -1 if none contain it
static bool TryGetCellIndexContainingPoint(SKPoint point, SKRect[,] cellRects, out int rowIndex, out int columnIndex)MethodChecks if a point is within any cell of the provided 2D rectangle array The point to test The 2D array of cell rectangles When this method returns, contains the row index of the cell containing the point When this method returns, contains the column index of the cell containing the point true if the point is within a cell; otherwise, false
static (float offsetX, float offsetY) CalculateDragOffset(SKRect cellRect, SKPoint mouseLocation)MethodCalculates the drag offset for a cell being dragged from a specific position The rectangle of the cell being dragged The current mouse location The drag offset as a tuple of (offsetX, offsetY)
static SKRect UpdateDraggedRectPosition(SKRect originalRect, SKPoint mouseLocation, float dragOffsetX, float dragOffsetY)MethodUpdates the position of a dragged rectangle based on mouse movement The original rectangle before dragging The current mouse location The X offset from the drag start The Y offset from the drag start The updated rectangle position

TabPosition (enum)

Specifies the position of tabs in a tab control.

Tabs (class)

Material Design 3.0 Tabs component that provides navigation between different views or content sections. Supports both primary and secondary tab variants with smooth animations and proper Material Design 3.0 styling.

MemberKindDescription
TabVariant VariantPropertyGets or sets the variant of the tabs (Primary or Secondary).
int SelectedIndexPropertyGets or sets the currently selected tab index.
TabItem SelectedTabPropertyGets the currently selected tab item.
bool IsScrollablePropertyGets or sets whether the tabs are scrollable.
IReadOnlyList<TabItem> TabItemsPropertyGets the collection of tab items.
bool IsHoveredPropertyGets or sets whether the tabs are currently hovered.
bool IsPressedPropertyGets or sets whether the tabs are currently pressed.
event EventHandler<TabSelectionChangedEventArgs> SelectedIndexChangedEventOccurs when the selected tab index changes.
Tabs()MethodInitializes a new instance of the Tabs class.
TabItem AddTab(string text)MethodAdds a new tab item with the specified text.
TabItem AddTab(string text, string icon)MethodAdds a new tab item with the specified text and icon.
bool RemoveTab(TabItem tabItem)MethodRemoves the specified tab item.
bool RemoveTabAt(int index)MethodRemoves the tab at the specified index.
void ClearTabs()MethodClears all tab items.

TabSelectionChangedEventArgs (class)

Event arguments for tab selection changes.

TabStyle (enum)

Specifies the style of a tab control.

TabVariant (enum)

Specifies the variant of the tabs component.

TextAlignment (enum)

Specifies the alignment of text within a control.

TextArea (class)

A multi-line text input control.

MemberKindDescription
string TextPropertyGets or sets the text in the text area.
string PlaceholderPropertyGets or sets the placeholder text.
TextAlignment TextAlignmentPropertyGets or sets the text alignment.
bool MultilinePropertyGets or sets whether the text area supports multiple lines.
bool ReadOnlyPropertyGets or sets whether the text area is read-only.
int MaxLengthPropertyGets or sets the maximum length of text.
TextArea()MethodInitializes a new instance of the TextArea class.

TextAreaStyle (enum)

Specifies the style of a text area.

TextBox (class)

A Material Design 3.0 text input field component.

MemberKindDescription
string TextPropertyGets or sets the text content of the text box.
int SelectionStartPropertyGets the start index of the current selection (-1 when nothing is selected).
int SelectionEndPropertyGets the end index of the current selection (-1 when nothing is selected).
bool HasSelectionPropertyGets whether any text is currently selected.
SKColor SelectionColorPropertyGets or sets the highlight color used for selected text.
string SelectedTextPropertyGets the currently selected text (empty when nothing is selected).
string PlaceholderPropertyGets or sets the placeholder text.
string LabelPropertyGets or sets the label text displayed above the text box.
string ErrorMessagePropertyGets or sets the error message.
string LeadingIconPropertyGets or sets the leading icon SVG.
string TrailingIconPropertyGets or sets the trailing icon SVG.
TextBoxVariant VariantPropertyGets or sets the text box variant.
TextInputType InputTypePropertyGets or sets the input type.
bool IsReadOnlyPropertyGets or sets whether the text box is read-only.
bool IsMultilinePropertyGets or sets whether the text box supports multiline input.
int MaxLengthPropertyGets or sets the maximum length of text.
float CornerRadiusPropertyGets or sets the corner radius.
new SKColor TextColorPropertyGets or sets the text color.
SKColor PlaceholderColorPropertyGets or sets the placeholder color.
SKColor LabelColorPropertyGets or sets the label color.
SKColor BorderColorPropertyGets or sets the border color.
SKColor BackgroundColorPropertyGets or sets the background color.
float FontSizePropertyGets or sets the font size.
bool HasFocusPropertyGets whether the text box has focus.
event EventHandler TextChangedEventEvent raised when text changes.
event EventHandler GotFocusEventEvent raised when the text box gains focus.
event EventHandler LostFocusEventEvent raised when the text box loses focus.
TextBox()MethodInitializes a new instance of the TextBox class.
TextBox(float width, float height) : this()MethodInitializes a new instance of the TextBox class with specified dimensions.
void Focus()MethodSets focus to the text box.
void Blur()MethodRemoves focus from the text box.
void InsertText(string text)MethodInserts text at the current cursor position.
void DeleteText(bool forward = false)MethodDeletes text at the current cursor position.
void MoveCursor(int delta)MethodMoves the cursor.
void SelectAll()MethodSelects all text.
void ClearSelection()MethodClears the selection.

TextBoxStyle (enum)

Specifies the style of a text box.

TextBoxVariant (enum)

Material Design 3.0 text box variants.

TextInputType (enum)

Text input types.

TextPosition (enum)

Specifies the position of text relative to other elements.

ThemeManager (class)

Central theme manager that controls the active theme across all diagram components. Components read theme tokens from ThemeManager.Current.

MemberKindDescription
static SkiaTheme CurrentPropertyGets or sets the current active theme. Setting this fires ThemeChanged.
static event EventHandler ThemeChangedPropertyFires when the active theme changes. Components subscribe to redraw.
static void ApplyTheme(string name)MethodApplies a named theme. Built-in names: Light, Dark, HighContrast, Nord, Dracula.
static IReadOnlyList<string> BuiltInThemesPropertyGets a list of built-in theme names.

ThumbStyle (enum)

Specifies the style of a thumb.

TimePicker (class)

A Material Design 3.0 Time Picker component that allows users to select times.

MemberKindDescription
event EventHandler<DateTime> TimeSelectedEventOccurs when the selected time changes.
event EventHandler DialogOpenedEventOccurs when the time picker dialog opens.
event EventHandler DialogClosedEventOccurs when the time picker dialog closes.
DateTime SelectedTimePropertyGets or sets the currently selected time.
bool Use24HourFormatPropertyGets or sets whether to use 24-hour format.
new SKColor TextColorPropertyGets or sets the text color.
SKColor AccentColorPropertyGets or sets the accent color for selected times.
TimePickerMode ModePropertyGets or sets the time picker mode.
TimePicker()MethodInitializes a new instance of the TimePicker class.
TimePicker(float width, float height) : this()MethodInitializes a new instance of the TimePicker class with specified dimensions. The width of the time picker. The height of the time picker.
void ToggleTimePicker()MethodToggles the time picker dialog visibility.
void OpenTimePicker()MethodOpens the time picker dialog.
void CloseTimePicker()MethodCloses the time picker dialog.

TimePickerMode (enum)

Time picker display modes.

TimePickerStyle (enum)

Specifies the style of a time picker.

TimerTriggeredEventArgs (class)

Event arguments for timer triggered events.

MemberKindDescription
DateTime TriggerTimePropertyGets or sets the time when the timer triggered.
int ExecutionCountPropertyGets or sets the execution count.
Model.ExecutionContext ContextPropertyGets or sets the execution context.
Dictionary<string, object> TriggerDataPropertyGets or sets additional trigger data.

TimerTriggerNode (class)

Automation node that triggers workflow execution on a scheduled timer basis. Supports various timing patterns including intervals, cron expressions, and one-time execution.

MemberKindDescription
TimerTriggerNode()MethodInitializes a new instance of the TimerTriggerNode class.
event EventHandler<TimerTriggeredEventArgs> TimerTriggeredEventEvent raised when the timer triggers workflow execution.
TimerTriggerMode TriggerTypePropertyGets or sets the type of timer trigger (Interval, Cron, OneTime).
TimeSpan IntervalPropertyGets or sets the interval for interval-based triggers.
string CronExpressionPropertyGets or sets the cron expression for cron-based triggers.
DateTime? StartTimePropertyGets or sets the start time for the trigger schedule.
DateTime? EndTimePropertyGets or sets the end time for the trigger schedule.
bool IsTimerEnabledPropertyGets or sets whether the timer trigger is enabled.
int MaxExecutionsPropertyGets or sets the maximum number of executions (-1 for unlimited).
int ExecutionCountPropertyGets the current execution count.
DateTime LastExecutionPropertyGets the time of the last execution.
DateTime NextExecutionPropertyGets the time of the next scheduled execution.
bool IsRunningPropertyGets whether the timer is currently running.
override string DescriptionPropertyGets the description of what this automation node does.
override NodeType NodeTypePropertyGets the type of this automation node.
override Task<bool> InitializeAsync(Dictionary<string, object> configuration, CancellationToken cancellationToken = default)MethodInitializes the timer trigger node with the specified configuration. The configuration parameters for the node. Token to cancel the initialization. A task representing the initialization operation.
override async Task<ValidationResult> ValidateAsync(Model.ExecutionContext inputData, CancellationToken cancellationToken = default)MethodValidates the current configuration for this timer trigger node. The input data to validate (not used for trigger nodes). Token to cancel the validation. A task containing the validation result.
override Task<NodeResult> ExecuteAsync(Model.ExecutionContext context, CancellationToken cancellationToken = default)MethodExecutes the timer trigger and returns trigger information. Note: This method is called by the timer, not directly by workflow execution. The execution context. Token to cancel the execution. A task containing the execution result.
override Dictionary<string, object> GetInputSchema()MethodGets the schema defining the input parameters this node expects. Trigger nodes typically don't require input data. A dictionary describing the input schema.
override Dictionary<string, object> GetOutputSchema()MethodGets the schema defining the output parameters this node produces. A dictionary describing the output schema.
void StartTimer()MethodStarts the timer based on the current configuration.
void StopTimer()MethodStops the timer.

ToggleButton (class)

A Material Design 3.0 toggle button component

MemberKindDescription
string TextPropertyGets or sets the button text
bool CheckedPropertyGets or sets whether the toggle button is checked
SKColor CheckedBackgroundColorPropertyGets or sets the background color when checked
SKColor UncheckedBackgroundColorPropertyGets or sets the background color when unchecked
SKColor CheckedTextColorPropertyGets or sets the text color when checked
SKColor UncheckedTextColorPropertyGets or sets the text color when unchecked
SKColor BorderColorPropertyGets or sets the border color
float BorderWidthPropertyGets or sets the border width
float CornerRadiusPropertyGets or sets the corner radius
TextAlignment TextAlignmentPropertyGets or sets the text alignment
event EventHandler CheckedChangedEventOccurs when the checked state changes
ToggleButton()MethodInitializes a new instance of the ToggleButton class

ToggleButtonStyle (enum)

Specifies the style of a toggle button.

ToolBar (class)

A Material Design 3.0 tool bar component

MemberKindDescription
ToolBarItemCollection ItemsPropertyGets the collection of tool bar items
SKColor BackgroundColorPropertyGets or sets the background color
SKColor BorderColorPropertyGets or sets the border color
float BorderWidthPropertyGets or sets the border width
float ItemSpacingPropertyGets or sets the spacing between items
bool ShowBorderPropertyGets or sets whether to show the border
ToolBar()MethodInitializes a new instance of the ToolBar class
ToolBarItem AddItem(string text)MethodAdds a tool bar item with the specified text
ToolBarItem AddItem(string text, float width)MethodAdds a tool bar item with the specified text and width
void RemoveItem(ToolBarItem item)MethodRemoves a tool bar item
void ClearItems()MethodClears all items from the tool bar

ToolBarItem (class)

Represents an item in a tool bar

MemberKindDescription
string TextPropertyGets or sets the item text
string TooltipPropertyGets or sets the tooltip text
SKColor TextColorPropertyGets or sets the text color
SKColor BackgroundColorPropertyGets or sets the background color
SKColor HoverBackgroundColorPropertyGets or sets the hover background color
float WidthPropertyGets or sets the item width
bool IsVisiblePropertyGets or sets whether the item is visible
bool IsEnabledPropertyGets or sets whether the item is enabled
object TagPropertyGets or sets the tag object
bool IsHoveredPropertyGets whether the item is currently hovered
bool IsPressedPropertyGets whether the item is currently pressed
ToolBar ParentToolBarPropertyGets the parent ToolBar
event EventHandler ClickEventOccurs when the item is clicked
ToolBarItem()MethodInitializes a new instance of the ToolBarItem class
ToolBarItem(string text)MethodInitializes a new instance of the ToolBarItem class with text
virtual void PerformClick()MethodRaises the Click event

ToolBarItemCollection (class)

A collection of ToolBarItem objects

MemberKindDescription
ToolBarItemCollection(ToolBar parentToolBar)MethodInitializes a new instance of the ToolBarItemCollection class
void Add(string text)MethodAdds a ToolBarItem to the collection
void Add(string text, float width)MethodAdds a ToolBarItem to the collection with specified properties

ToolBarOrientation (enum)

Specifies the orientation of a tool bar.

ToolBarStyle (enum)

Specifies the style of a tool bar.

ToolTipStyle (enum)

Specifies the style of a tool tip.

TrackBarOrientation (enum)

Specifies the orientation of a track bar.

TrackBarStyle (enum)

Specifies the style of a track bar.

TreeViewStyle (enum)

Specifies the style of a tree view.

TriggerBase (class)

Shared base for workflow triggers: identity, state, events, and activation bookkeeping. Disposing a trigger stops it, so hosts that abandon a running trigger do not leak timers, file watchers, or background loops.

MemberKindDescription
string IdPropertyGets or sets the id.
abstract string NamePropertyGets or sets the name.
virtual string DescriptionPropertyGets or sets the description.
abstract TriggerType TriggerTypePropertyGets or sets the trigger type.
bool IsActivePropertyGets or sets the is active.
bool IsEnabledPropertyGets or sets the is enabled.
Dictionary<string, object> ConfigurationPropertyGets or sets the configuration.
string WorkflowIdPropertyGets or sets the workflow id.
DateTime? LastActivatedPropertyGets or sets the last activated.
long ActivationCountPropertyGets or sets the activation count.
event EventHandler<TriggerEventArgs> TriggeredEventRaised when triggered changes.
event EventHandler<TriggerErrorEventArgs> ErrorOccurredEventRaised when error occurred changes.
virtual Task<bool> InitializeAsync(Dictionary<string, object> configuration, CancellationToken cancellationToken = default)MethodGets or sets the initialize async.
abstract Task<bool> StartAsync(CancellationToken cancellationToken = default)Method
abstract Task<bool> StopAsync(CancellationToken cancellationToken = default)Method
virtual Task<ValidationResult> ValidateAsync(CancellationToken cancellationToken = default)MethodGets or sets the validate async.
virtual Task<bool> TestAsync(CancellationToken cancellationToken = default)MethodGets or sets the test async.
void Dispose()MethodStops the trigger and releases its resources. Safe to call multiple times.
virtual Dictionary<string, object> GetConfigurationSchema()Method
virtual Task ActivateAsync(Dictionary<string, object> testData = null, CancellationToken cancellationToken = default)MethodGets or sets the activate async.

TriggerConfirmationEventArgs (class)

Event arguments for trigger confirmation requests.

MemberKindDescription
string MessagePropertyGets or sets the confirmation message.
bool IsConfirmedPropertyGets or sets whether the trigger was confirmed.
bool IsResponseReceivedPropertyGets or sets whether a response has been received.
void Confirm()MethodConfirms the trigger activation.
void Cancel()MethodCancels the trigger activation.

TypefaceCache (class)

Process-wide cache of SKTypeface instances. Font matching is comparatively expensive and components resolve typefaces while drawing, so instances are created once per (family, weight, width, slant) and reused for the lifetime of the process. Cached instances are intentionally never disposed.

MemberKindDescription
const string DefaultFamily = "Segoe UI"ConstantDefault font family used when no family is supplied.
static SKTypeface Get(string family, SKFontStyle style)MethodGets a cached typeface for the family and style, falling back to the platform default when the family cannot be resolved.
static SKTypeface Get(string family)MethodGets a cached typeface for the family in the normal style.
static SKTypeface Get(string family, SKFontStyleWeight weight, SKFontStyleWidth width, SKFontStyleSlant slant)MethodGets a cached typeface using explicit style parts (mirrors the four-argument SKTypeface.FromFamilyName overload).
static SKTypeface DefaultPropertyThe cached default typeface.
static int CachedCountPropertyNumber of distinct typefaces currently cached (diagnostics/tests).

UnconnectedPortRule (class)

Detects connection lines where endpoints are not actually connected to ports.

MemberKindDescription
string NamePropertyGets or sets the name.
string DescriptionPropertyGets or sets the description.
IEnumerable<DiagramIssue> Validate(IReadOnlyList<SkiaComponent> components, IReadOnlyList<IConnectionLine> lines)MethodGets or sets the validate.

UserRecord (class)

JSON-friendly user record (color stored as 0xAARRGGBB).

MemberKindDescription
string IdPropertyGets or sets the id.
string DisplayNamePropertyGets or sets the display name.
string EmailPropertyGets or sets the email.
uint ColorPropertyGets or sets the color.

WorkflowCanvas (class)

Visual workflow designer canvas that provides drag-drop functionality, connection management, and workflow execution controls for automation components.

MemberKindDescription
event EventHandler<NodeSelectedEventArgs> NodeSelectedEventEvent raised when a node is selected.
event EventHandler<ConnectionCreatedEventArgs> ConnectionCreatedEventEvent raised when a connection is created.
new event EventHandler<ConnectionRemovedEventArgs> ConnectionRemovedPropertyEvent raised when a connection is removed.
event EventHandler<WorkflowExecutionStateChangedEventArgs> ExecutionStateChangedEventEvent raised when workflow execution state changes.
event EventHandler<NodeAddedEventArgs> NodeAddedEventEvent raised when a node is added to the canvas.
event EventHandler<NodeRemovedEventArgs> NodeRemovedEventEvent raised when a node is removed from the canvas.
IReadOnlyList<AutomationNode> AutomationNodesPropertyGets the collection of automation nodes in the workflow.
IReadOnlyList<WorkflowConnection> ConnectionsPropertyGets the collection of connections between nodes.
AutomationNode SelectedNodePropertyGets or sets the currently selected node.
float ZoomLevelPropertyGets or sets the zoom level of the canvas.
SKPoint PanOffsetPropertyGets or sets the pan offset of the canvas.
bool ShowGridPropertyGets or sets whether to show the grid background.
float GridSizePropertyGets or sets the grid size.
WorkflowExecutionState ExecutionStatePropertyGets the current workflow execution state.
Dictionary<string, object> WorkflowVariablesPropertyGets or sets the workflow variables.
WorkflowCanvas()MethodInitializes a new instance of the WorkflowCanvas class.
void AddNode(AutomationNode node, SKPoint position)MethodAdds an automation node to the canvas. The node to add. The position to place the node.
void RemoveNode(AutomationNode node)MethodRemoves an automation node from the canvas. The node to remove.
AutomationNode GetNodeAtPosition(SKPoint position)MethodGets the node at the specified position. The position to check. The node at the position, or null if none found.
void ArrangeNodesInGrid(float spacing = 150f)MethodArranges nodes automatically in a grid layout.
void CreateConnection(AutomationNode fromNode, AutomationNode toNode, ConnectionPoint fromPoint, ConnectionPoint toPoint)MethodCreates a connection between two nodes. The source node. The target node. The source connection point. The target connection point.
void RemoveConnection(WorkflowConnection connection)MethodRemoves a connection. The connection to remove.
WorkflowConnection GetConnectionAtPosition(SKPoint position, float tolerance = 5f)MethodGets the connection at the specified position. The position to check. The tolerance for hit detection. The connection at the position, or null if none found.
SKPoint ScreenToCanvas(SKPoint screenPoint)MethodConverts screen coordinates to canvas coordinates. The screen point. The canvas point.
SKPoint CanvasToScreen(SKPoint canvasPoint)MethodConverts canvas coordinates to screen coordinates. The canvas point. The screen point.
void OnMouseWheel(SKPoint point, float delta)MethodHandles mouse wheel events for zooming. The mouse position. The wheel delta.

WorkflowConnection (class)

Represents a connection between two automation nodes.

MemberKindDescription
AutomationNode FromNodePropertyGets or sets the source node.
AutomationNode ToNodePropertyGets or sets the target node.
ConnectionPoint FromPointPropertyGets or sets the source connection point.
ConnectionPoint ToPointPropertyGets or sets the target connection point.
bool IsActivePropertyGets or sets whether the connection is currently active (data flowing).
Dictionary<string, object> MetadataPropertyGets or sets additional connection metadata.

WorkflowEngine (class)

Basic implementation of IWorkflowEngine that executes automation node graphs. Traverses nodes in dependency order (topological sort via connection lines), calling each IAutomationNode's InitializeAsync/ValidateAsync/ExecuteAsync in sequence.

MemberKindDescription
WorkflowEngine()MethodInitializes a new instance of the WorkflowEngine class.
string EngineIdPropertyGets or sets the engine id.
bool IsRunningPropertyGets or sets the is running.
IReadOnlyCollection<WorkflowDefinition> LoadedWorkflowsPropertyGets or sets the loaded workflows.
IReadOnlyCollection<WorkflowExecution> ActiveExecutionsPropertyGets or sets the active executions.
event EventHandler<WorkflowExecutionEventArgs> WorkflowStartedEventRaised when workflow started changes.
event EventHandler<WorkflowExecutionEventArgs> WorkflowCompletedEventRaised when workflow completed changes.
event EventHandler<WorkflowExecutionEventArgs> WorkflowFailedEventRaised when workflow failed changes.
event EventHandler<WorkflowExecutionEventArgs> WorkflowPausedEventRaised when workflow paused changes.
event EventHandler<WorkflowExecutionEventArgs> WorkflowResumedEventRaised when workflow resumed changes.
event EventHandler<WorkflowExecutionEventArgs> WorkflowCancelledEventRaised when workflow cancelled changes.
Task StartAsync(CancellationToken cancellationToken = default)MethodGets or sets the start async.
Task StopAsync(bool graceful = true, CancellationToken cancellationToken = default)MethodGets or sets the stop async.
Task<bool> LoadWorkflowAsync(WorkflowDefinition workflow, CancellationToken cancellationToken = default)MethodGets or sets the load workflow async.
Task<bool> UnloadWorkflowAsync(string workflowId, CancellationToken cancellationToken = default)MethodGets or sets the unload workflow async.
Task<WorkflowResult> ExecuteWorkflowAsync( string workflowId, Dictionary<string, object> inputData = null, ExecutionPriority priority = ExecutionPriority.Normal, CancellationToken cancellationToken = default)MethodGets or sets the execute workflow async.
async Task<WorkflowResult> ExecuteWorkflowAsync( string workflowId, ExecutionContext context, CancellationToken cancellationToken = default)MethodGets or sets the execute workflow async.
Task<bool> PauseExecutionAsync(string executionId, CancellationToken cancellationToken = default)MethodGets or sets the pause execution async.
Task<bool> ResumeExecutionAsync(string executionId, CancellationToken cancellationToken = default)MethodGets or sets the resume execution async.
Task<bool> CancelExecutionAsync(string executionId, CancellationToken cancellationToken = default)MethodGets or sets the cancel execution async.
WorkflowExecution GetExecutionStatus(string executionId)MethodGets or sets the get execution status.
Task<IEnumerable<WorkflowExecution>> GetExecutionHistoryAsync( string workflowId, int limit = 100, CancellationToken cancellationToken = default)MethodGets or sets the get execution history async.
async Task<ValidationResult> ValidateWorkflowAsync(WorkflowDefinition workflow, CancellationToken cancellationToken = default)MethodGets or sets the validate workflow async.
void RegisterNodeType(string nodeType, Func<IAutomationNode> factory)MethodGets or sets the register node type.
bool UnregisterNodeType(string nodeType)MethodGets or sets the unregister node type.
IEnumerable<string> GetRegisteredNodeTypes()MethodGets or sets the get registered node types.
void RegisterDefaults()MethodGets or sets the register defaults.

WorkflowExecutionApi (class)

JSON-friendly facade over WorkflowExecutionService. Every method returns an ApiResponse, so an HTTP handler (ASP.NET, HttpListener, Azure Functions, ...) can map routes directly to these calls and serialize the response with ToJson.

MemberKindDescription
WorkflowExecutionApi(WorkflowExecutionService service)MethodInitializes a new instance of the WorkflowExecutionApi class.
WorkflowExecutionService ServicePropertyGets or sets the service.
ApiResponse PublishDiagram(string diagramJson, string workflowName = null)MethodPublishes a diagram (serialized DiagramDto) as an executable workflow. Only automation-node components are included.
ApiResponse ListWorkflows()MethodGets or sets the list workflows.
ApiResponse Submit(string workflowId, string submittedBy = null, string inputsJson = null)MethodSubmits a job for a published workflow; inputsJson is an optional JSON object.
ApiResponse GetJob(string jobId)MethodGets or sets the get job.
ApiResponse ListJobs(string state = null, int limit = 50)MethodGets or sets the list jobs.
ApiResponse Cancel(string jobId)MethodGets or sets the cancel.
ApiResponse Pause(string jobId)MethodGets or sets the pause.
ApiResponse Resume(string jobId)MethodGets or sets the resume.
string ToJson(ApiResponse response)MethodSerializes a response envelope for transport.

WorkflowExecutionService (class)

Transport-agnostic execution service for published workflows: submit jobs with inputs, queue them with bounded concurrency, query status, pause/resume/cancel, and inspect results. A REST layer (or any other transport) can be placed on top of this service.

MemberKindDescription
WorkflowExecutionService(int maxConcurrency = 2, WorkflowEngine engine = null)MethodInitializes a new instance of the WorkflowExecutionService class.
int MaxConcurrencyPropertyMaximum number of jobs that may run at the same time.
WorkflowEngine EnginePropertyThe underlying workflow engine.
event EventHandler<JobStateChangedEventArgs> JobStateChangedEventRaised on every job state transition.
IReadOnlyList<WorkflowDefinition> WorkflowsPropertyPublished workflows available for submission.
void Publish(WorkflowDefinition workflow)MethodPublishes (or replaces) a workflow so it can be submitted for execution.
bool RemoveWorkflow(string workflowId)MethodGets or sets the remove workflow.
WorkflowDefinition GetWorkflow(string workflowId)MethodGets or sets the get workflow.
ExecutionJob Submit(string workflowId, string submittedBy = "anonymous", IDictionary<string, object> inputs = null)MethodSubmits a job for the given published workflow. Returns null when the workflow is unknown. The job starts as soon as a concurrency slot is available.
ExecutionJob GetJob(string jobId)MethodGets or sets the get job.
IReadOnlyList<ExecutionJob> GetJobs(JobState? state = null, int limit = 50)MethodLists jobs, newest first, optionally filtered by state.
bool Cancel(string jobId)MethodCancels a queued or running job. Returns false when it already finished.
bool Pause(string jobId)MethodPauses a running job.
bool Resume(string jobId)MethodResumes a paused job.
bool WaitForCompletion(string jobId, TimeSpan timeout)MethodWaits until a job reaches a terminal state, or the timeout elapses.
void Dispose()MethodGets or sets the dispose.

WorkflowExecutionState (enum)

Workflow execution states.

WorkflowExecutionStateChangedEventArgs (class)

Event arguments for execution state change events.

MemberKindDescription
WorkflowExecutionState OldStatePropertyGets or sets the old state.
WorkflowExecutionState NewStatePropertyGets or sets the new state.

WorkflowHttpRequest (class)

A transport-neutral HTTP request passed to WorkflowRequestRouter.

MemberKindDescription
string MethodPropertyGets or sets the method.
string PathPropertyGets or sets the path.
Dictionary<string, string> QueryPropertyGets or sets the query.
string BodyPropertyGets or sets the body.
WorkflowHttpRequest(string method, string path, string query = null, string body = null)MethodInitializes a new instance of the WorkflowHttpRequest class.
string GetQuery(string key)MethodGets a query value, or null.
static Dictionary<string, string> ParseQueryString(string query)MethodParses a URL query string (without the leading '?') into a case-insensitive map.

WorkflowHttpResponse (class)

HTTP-shaped result produced by the router.

MemberKindDescription
int StatusCodePropertyGets or sets the status code.
ApiResponse BodyPropertyGets or sets the body.
static WorkflowHttpResponse From(ApiResponse response)MethodGets or sets the from.

WorkflowRequestRouter (class)

Maps HTTP routes onto WorkflowExecutionApi. Adapters (HttpListener, ASP.NET, Azure Functions) only need to translate their request/response types. Routes: GET /health → service status GET /api/workflows → published workflows POST /api/workflows?name=... → publish a diagram DTO (body) as a workflow GET /api/jobs?state=&amp;limit= → list jobs POST /api/jobs?workflowId=&amp;submittedBy= → submit a job (body = inputs JSON object) GET /api/jobs/{id} → job detail POST /api/jobs/{id}/cancel → cancel a job POST /api/jobs/{id}/pause → pause a job POST /api/jobs/{id}/resume → resume a job

MemberKindDescription
WorkflowRequestRouter(WorkflowExecutionApi api)MethodInitializes a new instance of the WorkflowRequestRouter class.
WorkflowHttpResponse Route(WorkflowHttpRequest request)MethodGets or sets the route.
static string[] SplitPath(string path)MethodSplits a path into lowercase segments without empty entries.