Business process (BPMN) family
API reference for Beep.Skia.Business (46 public types)
Complete API surface of the Beep.Skia.Business assembly: 46 public types with their documented members. Follow the family guide for usage patterns.
Types in this assembly
ActionNodeclassActionTypeenumAnnotationclassAnnotationTypeenumBpmnExporterclassBpmnFlowclassBpmnImporterclassBpmnImportResultclassBpmnLaneNodeclassBpmnMessageFlowclassBpmnPoolNodeclassBusinessComponentTypeenumBusinessControlclassBusinessPriorityenumBusinessStatusenumBusinessSystemclassBusinessTaskclassConditionBuilderclassConditionTypeenumConnectionTypeenumDatabaseclassDataObjectclassDataStoreclassDataTypeenumDecisionclassDepartmentclassDocumentclassEndEventclassEventNodeclassEventPositionenumEventTypeenumExternalDataclassFlowDirectionenumGatewayclassGatewayTypeenumGroupclassGroupTypeenumIntermediateEventNodeclassPersonclassRoleclassRuleEngineclassRuleFlowclassStartEventclassSubProcessclassTaskNodeclassTaskStatusenum
ActionNode (class)
Represents an action node in a business rule diagram. Displayed as a lightning bolt in a rounded rectangle.
| Member | Kind | Description |
|---|---|---|
string ActionText | Property | Action text |
ActionType ActionType | Property | Action type |
ActionNode() | Method | Initializes a new instance of the ActionNode class. |
ActionType (enum)
Specifies the type of action.
Annotation (class)
Represents a text annotation for documenting processes. Displayed as a text box with optional border and background.
| Member | Kind | Description |
|---|---|---|
string AnnotationText | Property | Annotation text |
AnnotationType AnnotationType | Property | Annotation type |
bool ShowBorder | Property | Show border |
bool ShowBackground | Property | Show background |
Annotation() | Method | Initializes a new instance of the Annotation class. |
AnnotationType (enum)
Specifies the type of annotation.
BpmnExporter (class)
Exports a Business Process diagram as BPMN 2.0 XML (semantic model + BPMN DI). Without pools, a single bpmn:process is emitted (sequence flows only). With BpmnPoolNode pools, a bpmn:collaboration is emitted with one participant + process per pool; nodes are assigned to pools by geometric containment; BpmnMessageFlow lines (or lines crossing pools) become bpmn:messageFlow. BpmnLaneNode lanes become bpmn:laneSet/bpmn:lane with flowNodeRefs.
| Member | Kind | Description |
|---|---|---|
string Export(IReadOnlyList<SkiaComponent> components, IReadOnlyList<Model.IConnectionLine> lines, string processName = "Process") | Method | Exports components and lines to BPMN 2.0 XML. |
BpmnFlow (class)
A flow parsed from BPMN XML, ready to be connected in a drawing manager.
| Member | Kind | Description |
|---|---|---|
SkiaComponent Source | Property | Gets or sets the source. |
SkiaComponent Target | Property | Gets or sets the target. |
string Label | Property | Gets or sets the label. |
BpmnImporter (class)
Imports BPMN 2.0 XML into Business diagram components. Namespace-agnostic (matches by local element name) and reads BPMN DI bounds when present.
| Member | Kind | Description |
|---|---|---|
BpmnImportResult Parse(string xml) | Method | Parses BPMN XML into components and flows. |
BpmnImportResult LoadInto(DrawingManager manager, string xml) | Method | Parses and loads BPMN XML directly into a drawing manager. |
BpmnImportResult (class)
Result of parsing BPMN XML.
| Member | Kind | Description |
|---|---|---|
string ProcessName | Property | Gets or sets the process name. |
List<SkiaComponent> Components | Property | Gets or sets the components. |
List<BpmnFlow> Flows | Property | Gets or sets the flows. |
List<string> Warnings | Property | Gets or sets the warnings. |
void LoadInto(DrawingManager manager) | Method | Adds the parsed components to a drawing manager and creates the flows. |
BpmnLaneNode (class)
BPMN Lane container (a subdivision of a pool). Drawn as a rectangle with a header band at the top. Nodes whose center lies inside the lane belong to it.
| Member | Kind | Description |
|---|---|---|
string LaneName | Property | Gets or sets the lane name. |
BpmnLaneNode() | Method | Initializes a new instance of the BpmnLaneNode class. |
BpmnMessageFlow (class)
BPMN message flow — a dashed connection between participants/pools (exported as bpmn:messageFlow inside a collaboration).
| Member | Kind | Description |
|---|---|---|
string MessageName | Property | Optional message name (exported as the message flow name). |
BpmnMessageFlow() : base(() | Method | Initializes a new instance of the BpmnMessageFlow class. |
BpmnPoolNode (class)
BPMN Pool (participant) container. Drawn as a rounded rectangle with a vertical title bar on the left. Nodes whose center lies inside the pool belong to it.
| Member | Kind | Description |
|---|---|---|
string PoolName | Property | Gets or sets the pool name. |
BpmnPoolNode() | Method | Initializes a new instance of the BpmnPoolNode class. |
BusinessComponentType (enum)
Specifies the type of business component.
BusinessControl (class)
Base control for business graph components (flowcharts, organizational charts, business processes). Provides common functionality for business diagram elements with support for custom shapes.
| Member | Kind | Description |
|---|---|---|
BusinessComponentType ComponentType | Property | Gets or sets the business component type. |
string BusinessRole | Property | Gets or sets the business role or department this component represents. |
BusinessPriority BusinessPriority | Property | Gets or sets the business priority level of this business component. |
BusinessStatus Status | Property | Gets or sets the status of this business component. |
float BorderThickness | Property | Gets or sets the border thickness. |
int InPortCount | Property | Exposes input port count for editors; updates ports lazily. |
int OutPortCount | Property | Exposes output port count for editors; updates ports lazily. |
bool ShowSelectionBorder | Property | When true, the node draws its own dashed selection border. Defaults to false to avoid duplication since the framework already renders selection handles/highlights. |
BusinessPriority (enum)
Specifies the priority level of a business component.
BusinessStatus (enum)
Specifies the status of a business component.
BusinessSystem (class)
Represents a system in a business process diagram. Displayed as a server/system shape.
| Member | Kind | Description |
|---|---|---|
string SystemName | Property | System name |
BusinessSystem() | Method | Initializes a new instance of the BusinessSystem class. |
BusinessTask (class)
Represents a task in a business process diagram. Displayed as a rounded rectangle.
| Member | Kind | Description |
|---|---|---|
static readonly string[] TaskTypes = | Field | Supported BPMN task types (mapped to bpmn:*Task elements on export). |
string TaskType | Property | BPMN task type: Task, Service, User, Script, Manual, BusinessRule, Send, or Receive. |
BusinessTask() | Method | Initializes a new instance of the BusinessTask class. |
string Label | Property | Display label for the task. Synced with Name for convenience. |
ConditionBuilder (class)
Represents a condition builder in a business rule diagram. Displayed as a question mark in a rounded rectangle.
| Member | Kind | Description |
|---|---|---|
string ConditionText | Property | Gets or sets the condition text. |
ConditionType ConditionType | Property | Gets or sets the condition type. |
bool IsValid | Property | Gets or sets the is valid. |
ConditionBuilder() | Method | Initializes a new instance of the ConditionBuilder class. |
ConditionType (enum)
Specifies the type of condition.
ConnectionType (enum)
Specifies the type of connection or flow between workflow elements.
Database (class)
Represents a database in a business process diagram. Displayed as a cylinder shape.
| Member | Kind | Description |
|---|---|---|
string Label | Property | Display label |
Database() | Method | Initializes a new instance of the Database class. |
DataObject (class)
Represents a data object that flows through the process. Displayed as a rectangle with a data icon and type indicator.
| Member | Kind | Description |
|---|---|---|
string DataName | Property | Data name |
DataType DataType | Property | Data type |
string DataFormat | Property | Data format |
bool IsCollection | Property | Is collection |
DataObject() | Method | Initializes a new instance of the DataObject class. |
DataStore (class)
Represents a data store in a business process diagram. Displayed as an open box.
| Member | Kind | Description |
|---|---|---|
string Label | Property | Display label |
DataStore() | Method | Initializes a new instance of the DataStore class. |
DataType (enum)
Specifies the type of data object.
Decision (class)
Represents a decision point in a business process diagram. Displayed as a diamond shape.
| Member | Kind | Description |
|---|---|---|
string Label | Property | Display label |
Decision() | Method | Initializes a new instance of the Decision class. |
Department (class)
Represents a department in an organizational chart. Displayed as a rounded rectangle with department styling.
| Member | Kind | Description |
|---|---|---|
string DepartmentName | Property | Department name |
int EmployeeCount | Property | Employees count |
Department() | Method | Initializes a new instance of the Department class. |
Document (class)
Represents a document in a business process diagram. Displayed as a rectangle with a folded corner.
| Member | Kind | Description |
|---|---|---|
string Label | Property | Display label |
Document() | Method | Initializes a new instance of the Document class. |
EndEvent (class)
Represents an end event in a business process diagram. Displayed as a thick-bordered circle.
| Member | Kind | Description |
|---|---|---|
string Label | Property | Display label |
EndEvent() | Method | Initializes a new instance of the EndEvent class. |
EventNode (class)
Represents a workflow event node that can trigger or respond to events. Displayed as a circle with event-specific icons and timing information.
| Member | Kind | Description |
|---|---|---|
string EventName | Property | Event name |
EventType EventType | Property | Event type |
string TriggerCondition | Property | Trigger condition |
bool IsTriggered | Property | Triggered state |
DateTime? TriggerTime | Property | Trigger timestamp (ISO 8601) |
EventNode() | Method | Initializes a new instance of the EventNode class. |
EventPosition (enum)
Specifies the type of event position (start, intermediate, end).
EventType (enum)
Specifies the type of event.
ExternalData (class)
Represents external data in a business process diagram. Displayed as a parallelogram.
| Member | Kind | Description |
|---|---|---|
string Label | Property | Display label |
ExternalData() | Method | Initializes a new instance of the ExternalData class. |
FlowDirection (enum)
Specifies the direction of rule flow.
Gateway (class)
Represents a BPMN 2.0 gateway with configurable type. Exclusive (XOR) = blank diamond with X; Inclusive (OR) = diamond with circle; Parallel (AND) = diamond with +.
| Member | Kind | Description |
|---|---|---|
string Label | Property | Display label |
GatewayType GatewayType | Property | Gateway type |
Gateway() | Method | Initializes a new instance of the Gateway class. |
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) | Method | Gets or sets the set propperties. |
GatewayType (enum)
Specifies the type of gateway.
Group (class)
Represents a group of related process elements. Displayed as a dashed border rectangle that can contain multiple components.
| Member | Kind | Description |
|---|---|---|
List<BusinessControl> GroupedComponents | Property | Gets or sets the grouped components. |
string GroupName | Property | Group name |
SKColor GroupColor | Property | Group color |
GroupType GroupType | Property | Group type |
Group() | Method | Initializes a new instance of the Group class. |
void AddComponent(BusinessControl component) | Method | Adds a component to this group. |
void RemoveComponent(BusinessControl component) | Method | Removes a component from this group. |
GroupType (enum)
Specifies the type of group.
IntermediateEventNode (class)
BPMN 2.0 Intermediate Event node. Rendered as a double-ring circle with event type icon inside the inner ring. Supports Catch (incoming flow triggers event) and Throw (event triggers outgoing flow) semantics.
| Member | Kind | Description |
|---|---|---|
string Label | Property | Event label |
EventType EventType | Property | Event type |
EventPosition EventPosition | Property | Catch or Throw |
IntermediateEventNode() | Method | Initializes a new instance of the IntermediateEventNode class. |
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) | Method | Gets or sets the set propperties. |
Person (class)
Represents a person in an organizational chart. Displayed as a circle with a person icon.
| Member | Kind | Description |
|---|---|---|
string PersonName | Property | Person name |
string Title | Property | Job title |
Person() | Method | Initializes a new instance of the Person class. |
Role (class)
Represents a role in an organizational chart. Displayed as a badge shape.
| Member | Kind | Description |
|---|---|---|
string RoleName | Property | Role name |
Role() | Method | Initializes a new instance of the Role class. |
RuleEngine (class)
Represents a business rule engine in a business process diagram. Displayed as a gear/cog shape with rule indicators.
| Member | Kind | Description |
|---|---|---|
string RuleSetName | Property | Rule set name |
int RuleCount | Property | Number of rules |
bool IsActive | Property | Active state |
RuleEngine() | Method | Initializes a new instance of the RuleEngine class. |
RuleFlow (class)
Represents a rule flow connector in a business rule diagram. Displayed as a curved arrow with rule evaluation indicators.
| Member | Kind | Description |
|---|---|---|
string FlowLabel | Property | Flow label |
FlowDirection Direction | Property | Flow direction |
bool IsActive | Property | Active state |
RuleFlow() | Method | Initializes a new instance of the RuleFlow class. |
StartEvent (class)
Represents a start event in a business process diagram. Displayed as a thin-bordered circle.
| Member | Kind | Description |
|---|---|---|
string Label | Property | Display label |
StartEvent() | Method | Initializes a new instance of the StartEvent class. |
SubProcess (class)
Represents a subprocess that contains other process elements. Displayed as a rounded rectangle with collapse/expand indicator.
| Member | Kind | Description |
|---|---|---|
List<BusinessControl> ChildComponents | Property | Gets or sets the child components. |
bool IsCollapsed | Property | Collapsed state |
string ProcessName | Property | Process name |
int ChildCount | Property | Gets or sets the child count. |
SubProcess() | Method | Initializes a new instance of the SubProcess class. |
void AddChild(BusinessControl component) | Method | Adds a child component to this subprocess. |
void RemoveChild(BusinessControl component) | Method | Removes a child component from this subprocess. |
void ToggleCollapsed() | Method | Toggles the collapsed/expanded state of the subprocess. |
TaskNode (class)
Represents a workflow task node with status indicators and progress tracking. Displayed as a rounded rectangle with task-specific icons and status.
| Member | Kind | Description |
|---|---|---|
string TaskDescription | Property | Task description |
TaskStatus TaskStatus | Property | Task status |
string AssignedTo | Property | Assigned owner |
DateTime? DueDate | Property | Due date |
int Progress | Property | Percent complete (0-100) |
TaskNode() | Method | Initializes a new instance of the TaskNode class. |
TaskStatus (enum)
Specifies the status of a task.