moonrockz/diagrams-svg/state-layout

Types

Connection

pub struct Connection {
  transition : @moonrockz/diagrams/state.Transition
  source : String
  target : String
  line : ReadOnlyArray[@moonrockz/diagrams-svg/swimlane-layout.Point]
  label : @moonrockz/diagrams-svg/swimlane-layout.Label?
} derive(Eq, @moonbitlang/core/debug.Debug)

Source

Connection::equal

fn Connection::equal(Connection, Connection) -> Bool

Source

Connection::not_equal

fn Connection::not_equal(x : Connection, y : Connection) -> Bool

Source

Connection::to_repr

fn Connection::to_repr(Connection) -> @moonbitlang/core/debug.Repr

Source

Geometry

pub struct Geometry {
  view : @moonrockz/diagrams/state.StateDiagram
  shapes : ReadOnlyArray[@moonrockz/diagrams-svg/swimlane-layout.Shape]
  connections : ReadOnlyArray[Connection]
  width : Int
  height : Int
  boundaries : ReadOnlyArray[(String, String)]
  // private fields
} derive(Eq, @moonbitlang/core/debug.Debug)

Source

Geometry::drawing

fn Geometry::drawing(self : Geometry) -> @moonrockz/diagrams-svg/flowchart-layout.Geometry

Source

Geometry::drawing_result

fn Geometry::drawing_result(self : Geometry) -> @moonrockz/diagrams-svg/swimlane-layout.Result

Source

Geometry::equal

fn Geometry::equal(Geometry, Geometry) -> Bool

Source

Geometry::not_equal

fn Geometry::not_equal(x : Geometry, y : Geometry) -> Bool

Source

Geometry::separators

fn Geometry::separators(self : Geometry) -> ReadOnlyArray[RegionSeparator]

The actual drawn compartment lines, independent of source transitions.

Source

Geometry::to_repr

fn Geometry::to_repr(Geometry) -> @moonbitlang/core/debug.Repr

Source

Limits

pub struct Limits {
  nodes : Int
  edges : Int
  depth : Int
  work : Int
  output_units : Int
  width : Int
  height : Int
  minimum_approach : Double
} derive(Eq, @moonbitlang/core/debug.Debug)

Source

Limits::equal

fn Limits::equal(Limits, Limits) -> Bool

Source

Limits::new

fn Limits::new(nodes? : Int, edges? : Int, depth? : Int, work? : Int, output_units? : Int, width? : Int, height? : Int, minimum_approach? : Double) -> Limits

Source

Limits::not_equal

fn Limits::not_equal(x : Limits, y : Limits) -> Bool

Source

Limits::to_repr

fn Limits::to_repr(Limits) -> @moonbitlang/core/debug.Repr

Source

Limits::with_minimum_approach

fn Limits::with_minimum_approach(self : Limits, minimum_approach : Double) -> Limits

Source

RegionSeparator

pub struct RegionSeparator {
  region : String
  orientation : @moonrockz/diagrams/state.Separator
  start : @moonrockz/diagrams-svg/swimlane-layout.Point
  end : @moonrockz/diagrams-svg/swimlane-layout.Point
} derive(Eq, @moonbitlang/core/debug.Debug)

Source

RegionSeparator::equal

fn RegionSeparator::equal(RegionSeparator, RegionSeparator) -> Bool

Source

RegionSeparator::not_equal

fn RegionSeparator::not_equal(x : RegionSeparator, y : RegionSeparator) -> Bool

Source

RegionSeparator::to_repr

fn RegionSeparator::to_repr(RegionSeparator) -> @moonbitlang/core/debug.Repr

Source

Result

pub struct Result {
  geometry : Geometry?
  diagnostics : ReadOnlyArray[@moonrockz/diagrams.Diagnostic]
} derive(Eq, @moonbitlang/core/debug.Debug)

Source

Result::equal

fn Result::equal(Result, Result) -> Bool

Source

Result::not_equal

fn Result::not_equal(x : Result, y : Result) -> Bool

Source

Result::to_repr

fn Result::to_repr(Result) -> @moonbitlang/core/debug.Repr

Source

Values

check

fn check(geometry : Geometry, palette : @moonrockz/diagrams-svg/theme.Palette, work_limit? : Int) -> ReadOnlyArray[@moonrockz/diagrams-svg/swimlane-layout.Finding]

Source

diagnostics

fn diagnostics(values : ArrayView[@moonrockz/diagrams.Diagnostic]) -> ReadOnlyArray[@moonrockz/diagrams.Diagnostic]

Source

layout

fn layout(view : @moonrockz/diagrams/state.StateDiagram, limits? : Limits) -> Result

Region containers are drawing groups only. They never create graph edges.

Source