[][src]Module xblend::blend

Some blend modes

Assume that we have to colors called src and dst
The output is the result color

Traits

Clear

Clear blending mode
output = (0,0,0,0)

Darken

Darken blending mode
output = src.gray < dst.gray ? src : dst

Dst

Dst blending mode
output = dst

DstATop

DstATop blending mode
output = src * (1 - dst.alpha) + dst * src.alpha

DstIn

DstIn blending mode
output = dst * src.alpha

DstOut

SrcOut blending mode
output = src * (1 - dst.alpha)

DstOver

DstOver blending mode
output = src * (1 - dst.alpha) + dst

Lighten

Darken blending mode
output = src.gray > dst.gray ? src : dst

Multiply

Multiply blending mode
output = src * dst

Screen

Screen blending mode
output = 1 - (1 - src) * (1 - dst)

Src

Src blending mode
output = src

SrcATop

SrcATop blending mode
output = src * dst.alpha + dst * (1 - src.alpha)

SrcIn

SrcIn blending mode
output = src * dst.alpha

SrcOut

SrcOut blending mode
output = dst * (1 - src.alpha)

SrcOver

SrcOver blending mode
output = src + dst * (1 - src.alpha)

Xor

Xor blending mode
output = src * (1 - dst.alpha) + dst * (1 - src.alpha)