def clip.limit

gralha-svg-render@0.1.0.1 · svg.bend:5209

import gralha-svg-render@0.1.0.1/svg.bend as Svg
import Base

5209# clip.cover, branching through matches since it runs once per clipped pixel.
5210def clip.limit(c: Clip, +p: Point) -> F32:
5211  match c:
5212    case ClipAll{}: 1.0
5213    case ClipShape{es, inv, even, cover}:
5214      +cov = cover
5215      cover.value(cover.present(cov), cov, es, inv, even, p)
5216    case ClipUnion{a, b}:
5217      +u = clip.limit(a, p)
5218      +v = clip.limit(b, p)
5219      (u + v - u * v : F32)
5220    case ClipIntersect{a, b}: (clip.limit(a, p) * clip.limit(b, p) : F32)

Uses (8)

Used by (2)