def mask.attach

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

import gralha-svg-render@0.1.0.1/svg.bend as Svg
import Base
import gralha-text-scan@0.1.0.1/scan.bend as U
import gralha-xml-doc@0.1.0.1/xml.bend as XML

2847def mask.attach(+as: List<&2, XML.Attr>, all: List<&2, XML.Element>, active: List<&2, String>, box: Bounds, m: Matrix, w: F32, h: F32,
2848  build: String -> List<&2, XML.Element> -> Matrix -> F32 -> F32 -> List<&2, Scene<Brush>>) -> MaskData:
2849  +value = XML.attr.get(as, "mask-image", XML.attr.get(as, "mask", "none"))
2850  +id = U.drop(U.unquote(U.trim.both(U.scan.head(U.until(U.drop(value, "url("), 41, "")))), "#")
2851  U.branch(MaskData, U.prefix(value, "url("),
2852    _ => U.branch(MaskData, U.strings.has(active, id), _ => MaskData{Nil{}, 2},
2853      _ => mask.resource(resource.find(all, id), id, XML.attr.get(as, "mask-mode", "match-source"), box, m, w, h, build)),
2854    _ => MaskData{Nil{}, 0})

Uses (21)

Used by (1)