mint-canvas
Config Functions
Draw Functions
let draw = () { case Dom.Canvas.fromDomElement(canvas) { Maybe::Just(el) => { let dims = el |> Dom.Canvas.toDomElement |> Dom.getDimensions // Create clipping path let region = Path2D.create() |> Path2D.rect(80, 10, 20, 130) |> Path2D.rect(40, 50, 100, 50) // Apply the clipping path el |> Canvas.clipPath(region, CanvasFillRule::EvenOdd) // Draw stuff that gets clipped el |> Canvas.setFillStyle(CanvasFillStyle::String("blue")) |> Canvas.fillRect(0, 0, dims.width, dims.height) "" } Maybe::Nothing => "" } }{ await Timer.timeout(0) draw()}<canvas as canvas/>