From d23567c92edf176581934a2dcf50e70fe7527e3a Mon Sep 17 00:00:00 2001 From: Hajime Hoshi Date: Fri, 30 Jun 2023 18:19:24 +0900 Subject: [PATCH] ebiten: add ColorScale.ScaleWithColorScale Closes #2687 --- colorscale.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/colorscale.go b/colorscale.go index 936a2cda0..90881d7b1 100644 --- a/colorscale.go +++ b/colorscale.go @@ -112,6 +112,14 @@ func (c *ColorScale) ScaleWithColor(clr color.Color) { c.Scale(float32(cr)/0xffff, float32(cg)/0xffff, float32(cb)/0xffff, float32(ca)/0xffff) } +// ScaleWithColorScale multiplies the given color scale values to the current scale. +func (c *ColorScale) ScaleWithColorScale(colorScale ColorScale) { + c.r_1 = (c.r_1+1)*(colorScale.r_1+1) - 1 + c.g_1 = (c.g_1+1)*(colorScale.g_1+1) - 1 + c.b_1 = (c.b_1+1)*(colorScale.b_1+1) - 1 + c.a_1 = (c.a_1+1)*(colorScale.a_1+1) - 1 +} + func (c *ColorScale) apply(r, g, b, a float32) (float32, float32, float32, float32) { return (c.r_1 + 1) * r, (c.g_1 + 1) * g, (c.b_1 + 1) * b, (c.a_1 + 1) * a }