def filter.window.overlap
gralha-svg-render@0.1.0.1 · svg.bend:4765
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
4765def filter.window.overlap(region: Bounds, local: Bounds) -> F32:
4766 Bounds{x0, y0, x1, y1} = region
4767 Bounds{u0, v0, u1, v1} = local
4768 +a0 = u0
4769 +b0 = v0
4770 +a1 = u1
4771 +b1 = v1
4772 +w = U.max(0.0, (U.min(x1, a1) - U.max(x0, a0) : F32))
4773 +h = U.max(0.0, (U.min(y1, b1) - U.max(y0, b0) : F32))
4774 (w * h / U.max(((a1 - a0) * (b1 - b0) : F32), 0.000000001) : F32)