def cover.clip
gralha-svg-render@0.1.0.1 · svg.bend:4190
import gralha-svg-render@0.1.0.1/svg.bend as Svg
import Base
4190def cover.clip(c: Clip, +frame: Raster, +sub: U32) -> Clip:
4191 match c:
4192 case ClipAll{}: ClipAll{}
4193 case ClipShape{es, inv, even, old}:
4194 +tree = es
4195 +iv = inv
4196 +ev = even
4197 ClipShape{tree, iv, ev, cover.edges(cover.tree.edges(tree, Nil{}), matrix.inverse(iv), ev, frame, sub, True{})}
4198 case ClipUnion{a, b}: ClipUnion{cover.clip(a, frame, sub), cover.clip(b, frame, sub)}
4199 case ClipIntersect{a, b}: ClipIntersect{cover.clip(a, frame, sub), cover.clip(b, frame, sub)}