def filter.blend

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

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-image@0.1.0.1/image.bend as Img

4609def filter.blend(+a: Img.Color, +b: Img.Color, +kind: U32) -> Img.Color:
4610  Img.Color{ar, ag, ab, aa} = a
4611  Img.Color{br, bg, bb, ba} = b
4612  +alpha = (aa * ba : F32)
4613  color.add(color.add(color.fade(a, (1.0 - ba : F32)), color.fade(b, (1.0 - aa : F32))), color.fade(filter.blend.rgb(Img.Color{(ar / U.max(aa, 0.0000001) : F32), (ag / U.max(aa, 0.0000001) : F32), (ab / U.max(aa, 0.0000001) : F32), 1.0}, Img.Color{(br / U.max(ba, 0.0000001) : F32), (bg / U.max(ba, 0.0000001) : F32), (bb / U.max(ba, 0.0000001) : F32), 1.0}, kind), alpha))

Uses (10)

Used by (1)