Module
Hylograph.Canvas
- Package
- purescript-hylograph-canvas
- Repository
- afcondon/purescript-hylograph-canvas
Canvas Rendering Library for Hylograph
High-performance Canvas-based rendering for visualizations. Designed for force simulations and other cases where DOM-per-element would be too slow.
Key features:
- Opaque CanvasContext handle for safe FFI
- Transform support for zoom/pan
- Batch drawing operations for performance
- Simple primitives (circles, lines) with extensible specs
#CanvasContext Source
data CanvasContextOpaque handle to a Canvas rendering context
#CanvasElement Source
data CanvasElementOpaque canvas element type for event binding
#CanvasConfig Source
type CanvasConfig = { background :: String, centerOrigin :: Boolean, height :: Int, width :: Int }Configuration for creating a Canvas
#defaultConfig Source
defaultConfig :: CanvasConfigDefault canvas configuration
#createCanvas Source
createCanvas :: String -> CanvasConfig -> Effect CanvasContextCreate a Canvas in the specified container
#clearCanvas Source
clearCanvas :: CanvasContext -> Effect UnitClear the canvas
#getCanvasElement Source
getCanvasElement :: CanvasContext -> Effect CanvasElementGet the canvas DOM element (for attaching event listeners)
#defaultTransform Source
defaultTransform :: TransformDefault transform (no zoom, no pan)
#setTransform Source
setTransform :: CanvasContext -> Transform -> Effect UnitSet the view transform (for zoom/pan)
#resetTransform Source
resetTransform :: CanvasContext -> Effect UnitReset transform to default
#applyTransform Source
applyTransform :: Transform -> Transform -> TransformApply a transform to the current transform (multiply)
#drawCircle Source
drawCircle :: CanvasContext -> CircleSpec -> Effect UnitDraw a single circle
#drawCircles Source
drawCircles :: CanvasContext -> Array CircleSpec -> Effect UnitDraw multiple circles (more efficient than repeated drawCircle)
#beginScene Source
beginScene :: CanvasContext -> Effect UnitBegin a new scene (clears canvas)