Module

Sigil.Svg.Measure

Package
purescript-sigil
Repository
afcondon/purescript-sigil

Pure measurement functions for type signature layout.

Computes dimensions (width, height) for any RenderType node using character-width arithmetic. No DOM access.

#textWidth Source

textWidth :: Number -> String -> Number

Width of a text string in the monospace font.

#varPillWidth Source

varPillWidth :: Number -> String -> Number

Width of a type variable pill.

#sigletDotWidth Source

sigletDotWidth :: Number -> Number

Fixed width of a siglet dot (TCon rendered as circle).

#measure Source

measure :: RenderContext -> RenderType -> Dimensions

Measure a RenderType node's dimensions.

#measureTable Source

measureTable :: RenderContext -> Array RowField -> Maybe String -> Dimensions

Measure a record/row table.

#measureFieldFull Source

measureFieldFull :: RenderContext -> RenderType -> Dimensions

Measure a field type (used inside record tables). Handles nested records and uses full measure for applied types.

#RenderContext Source

type RenderContext = { charWidth :: Number, fontSize :: Number, lineHeight :: Number, padding :: { x :: Number, y :: Number }, sigletMode :: Boolean, varColors :: Map String String }

Rendering context threaded through layout functions.