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

Uses (8)

Used by (1)