LayeredLayout.Graph
- Package
- purescript-layered-layout
- Repository
- markgrafhq/purescript-layered-layout
#silhouetteOverflow Source
silhouetteOverflow :: Shape -> Number -> Number -> { bottom :: Number, left :: Number, right :: Number, top :: Number }How far a shape's drawn silhouette pokes past its bounding rect, per
edge, for a node of width w and height h. The Cloud's arcs rise
above the top, the Cylinder's bulge and the Document's wave droop below
the bottom. Rectangles (and pill/parallelogram/diamond, which stay
inside the rect) overflow nowhere. The renderer's path builders and the
layout's framing both read these so the painted region always covers
the silhouette. Canonical home for the silhouette constants; Render.Draw
re-exports them so the path builders stay in lockstep.
#cylinderBottomDrop Source
cylinderBottomDrop :: NumberThe cylinder body extends this many pixels past pos.y + h so its bottom
bulge covers the first slice of an incoming edge.
#cloudHatRatio Source
cloudHatRatio :: NumberCloud arcs reach this fraction of the node height above the bbox top.
#documentWaveDrop Source
documentWaveDrop :: NumberFraction of node height the document wave dips below the bbox bottom
(the wave bottoms out at 1.05·h in Render.Draw.documentPath).
#parseShape Source
parseShape :: String -> Maybe ShapeParse a user-facing shape name (case-insensitive) from +node id {shape: cylinder}.
#Constraints Source
data ConstraintsConstructors
AlignGroup { alignment :: Alignment, axis :: Axis, justify :: Justify, nodes :: Array NodeId }SameLayer { nodes :: Array NodeId }LayerConstraint { node :: NodeId, pin :: LayerPin }OrderConstraint { after :: NodeId, before :: NodeId }RelativePosition { anchor :: NodeId, offset :: GridPos, target :: NodeId }
Instances
#edgeHasArrowhead Source
edgeHasArrowhead :: EdgeId -> Boolean- Modules
- LayeredLayout
- LayeredLayout.
Aesthetics - LayeredLayout.
Compaction. EdgeAwareScanlineConstraints - LayeredLayout.
Compaction. HorizontalGraphCompactor - LayeredLayout.
Compaction. LGraphToCGraphTransformer - LayeredLayout.
Compaction. NetworkSimplexCompaction - LayeredLayout.
Compaction. OneD - LayeredLayout.
Compaction. VerticalSegment - LayeredLayout.
Components - LayeredLayout.
CoordAssignment - LayeredLayout.
CrossingMin - LayeredLayout.
CrossingMin. Constraints - LayeredLayout.
CrossingMin. NorthSouth - LayeredLayout.
CrossingMin. Ports - LayeredLayout.
CycleRemoval - LayeredLayout.
DummyNodes - LayeredLayout.
EdgeLabels - LayeredLayout.
EdgeLabels. SelfLoops - LayeredLayout.
EdgeLabels. SelfLoops. Model - LayeredLayout.
EdgeLabels. SelfLoops. Routing - LayeredLayout.
EdgeRouting - LayeredLayout.
EdgeRouting. HyperEdgeCycleDetector - LayeredLayout.
EdgeRouting. HyperEdges - LayeredLayout.
EdgeRouting. LineJump - LayeredLayout.
EdgeRouting. Orthogonal - LayeredLayout.
EdgeRouting. PortAssignment - LayeredLayout.
Graph - LayeredLayout.
Grid - LayeredLayout.
JavaRandom - LayeredLayout.
LayerAssignment - LayeredLayout.
LayerAssignment. NetworkSimplex - LayeredLayout.
NetworkSimplex - LayeredLayout.
PortDistribution - LayeredLayout.
PortDummies - LayeredLayout.
Result