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
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)