- data VColor
- white :: VColor
- cream :: VColor
- black :: VColor
- lightBlue :: VColor
- lightBlueGreen :: VColor
- lightGray :: VColor
- mediumGray :: VColor
- darkGray :: VColor
- yellow :: VColor
- darkBlueGreen :: VColor
- blueGreen :: VColor
- data Style = Style {
- styleFont :: VFont
- lineWidth :: Double
- textMargin :: Double
- hpad :: Double
- vpad :: Double
- exomargin :: Double
- vtinypad :: (Double, Double)
- styleFramePad :: Double
- styleNormalTextColor :: VColor
- styleNormalFillColor :: VColor
- styleNormalEdgeColor :: VColor
- styleActiveTextColor :: VColor
- styleActiveFillColor :: VColor
- styleActiveEdgeColor :: VColor
- styleSelectedTextColor :: VColor
- styleSelectedFillColor :: VColor
- styleSelectedEdgeColor :: VColor
- styleTetherColor :: VColor
- styleAuxOffset :: Position
- styleAuxColor :: VColor
- styleAuxFont :: VFont
- styleIoletRadius :: Double
- styleShowNodeBoxes :: Bool
- styleShowNodePorts :: Bool
- data VFont = VFont {}
- defaultStyle :: Style
- style0 :: Style
- style1 :: Style
- style2 :: Style
- style3 :: Style
- wstyle :: Style
- styleIncreasePadding :: Style -> Double -> Style
- data FontTextExtents = FontTextExtents {}
- setFont :: VFont -> Render ()
- measureText :: Style -> String -> Size
- styleTextExtents :: Style -> String -> FontTextExtents
- ftExtents :: String -> Render FontTextExtents
- data TextBox = TextBox {}
- makeTextBox :: Style -> String -> TextBox
- tbWidth :: TextBox -> Double
- tbHeight :: TextBox -> Double
- tbBottom :: TextBox -> Double
- tbCenter :: TextBox -> Position
- tbTextCenter :: TextBox -> Position
- tbBoxCenter :: TextBox -> Position
- offsetTextBoxCenters :: Position -> TextBox -> TextBox -> TextBox
- tbSetWidth :: TextBox -> Double -> TextBox
- treeSizes :: Style -> Tree (GNode e) -> Tree Size
- data GNode e = GNode {
- gnodeValue :: e
- gnodeTextBoxes :: [TextBox]
- gnodeNodeBB :: BBox
- gnodeInlets :: [Iolet]
- gnodeOutlets :: [Iolet]
- treeGNodes :: Repr e => Style -> IoletCounter e -> Tree e -> Tree (GNode e)
- gnodeText :: GNode e -> String
- gnodeTextBB :: GNode e -> BBox
- data Iolet = Iolet Circle
- ioletCenter :: Iolet -> Position
- makeIolets :: Style -> BBox -> (Int, Int) -> ([Iolet], [Iolet])
- makeIoletsRow :: Style -> Double -> Double -> Int -> [Iolet]
- pointInIolet :: Position -> Iolet -> Bool
- type IoletCounter e = e -> (Int, Int)
- zeroIoletCounter :: IoletCounter e
- makeGNode :: Repr e => Style -> IoletCounter e -> e -> GNode e
- type TreeLayout e = Tree (LayoutNode e)
- data LayoutNode e = LayoutNode {
- nodeGNode :: GNode e
- nodeTreeBB :: BBox
- layoutNodeSource :: LayoutNode e -> e
- layoutRootBB :: TreeLayout e -> BBox
- layoutTreeBB :: TreeLayout e -> BBox
- treeLayout :: Repr e => Style -> IoletCounter e -> Tree e -> TreeLayout e
- treeLayoutPaddedSize :: Style -> TreeLayout e -> Size
- treeLayoutSize :: TreeLayout e -> Size
- treeLayoutWidth :: TreeLayout e -> Double
- layoutTreeMoveCenterTo :: Double -> Double -> TreeLayout e -> TreeLayout e
- pointInLayoutNode :: Position -> LayoutNode e -> Bool
- pointInGNode :: Position -> GNode e -> Bool
- findRect :: Position -> TreeLayout e -> Maybe Rectangle
- treeLayoutWiden :: TreeLayout e -> Double -> TreeLayout e
Documentation
VFont | |
|
styleIncreasePadding :: Style -> Double -> StyleSource
data FontTextExtents Source
FontTextExtents | |
|
measureText :: Style -> String -> SizeSource
styleTextExtents :: Style -> String -> FontTextExtentsSource
ftExtents :: String -> Render FontTextExtentsSource
ftExtents: used for what?
makeTextBox :: Style -> String -> TextBoxSource
tbBoxCenter :: TextBox -> PositionSource
tbSetWidth :: TextBox -> Double -> TextBoxSource
GNode | |
|
treeGNodes :: Repr e => Style -> IoletCounter e -> Tree e -> Tree (GNode e)Source
gnodeTextBB :: GNode e -> BBoxSource
An Iolet is a circular port. Other shapes could be added.
ioletCenter :: Iolet -> PositionSource
pointInIolet :: Position -> Iolet -> BoolSource
type IoletCounter e = e -> (Int, Int)Source
type TreeLayout e = Tree (LayoutNode e)Source
data LayoutNode e Source
LayoutNode | |
|
Eq e => Eq (LayoutNode e) | |
Show e => Show (LayoutNode e) | |
Translate (LayoutNode e) | |
Widen (LayoutNode e) | |
Draw (LayoutNode e) |
layoutNodeSource :: LayoutNode e -> eSource
layoutRootBB :: TreeLayout e -> BBoxSource
layoutTreeBB :: TreeLayout e -> BBoxSource
treeLayout :: Repr e => Style -> IoletCounter e -> Tree e -> TreeLayout eSource
treeLayoutPaddedSize :: Style -> TreeLayout e -> SizeSource
treeLayoutSize :: TreeLayout e -> SizeSource
treeLayoutWidth :: TreeLayout e -> DoubleSource
layoutTreeMoveCenterTo :: Double -> Double -> TreeLayout e -> TreeLayout eSource
pointInLayoutNode :: Position -> LayoutNode e -> BoolSource
pointInGNode :: Position -> GNode e -> BoolSource
treeLayoutWiden :: TreeLayout e -> Double -> TreeLayout eSource