From b1bbafecc6754323031a9569a234243e9d0895ac Mon Sep 17 00:00:00 2001 From: Izalia Mae Date: Fri, 9 Jul 2021 20:55:47 -0400 Subject: [PATCH] Color functions return a new Color object --- template/izzylib/template/__init__.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/template/izzylib/template/__init__.py b/template/izzylib/template/__init__.py index 1f61b77..08cfff1 100644 --- a/template/izzylib/template/__init__.py +++ b/template/izzylib/template/__init__.py @@ -181,7 +181,7 @@ class Color(Colour): def multi(self, multiplier): if multiplier >= 100: - return 1 + return 100 elif multiplier <= 0: return 0 @@ -190,26 +190,28 @@ class Color(Colour): def alter(self, action, multiplier): + new_color = Color(self) + if action == 'lighten': - self.luminance += ((1 - self.luminance) * self.multi(multiplier)) + new_color.luminance += ((1 - self.luminance) * self.multi(multiplier)) elif action == 'darken': - self.luminance -= (self.luminance * self.multi(multiplier)) + new_color.luminance -= (self.luminance * self.multi(multiplier)) elif action == 'saturate': - self.saturation += ((1 - self.saturation) * self.multi(multiplier)) + new_color.saturation += ((1 - self.saturation) * self.multi(multiplier)) elif action == 'desaturate': - self.saturation -= (self.saturation * self.multi(multiplier)) + new_color.saturation -= (self.saturation * self.multi(multiplier)) elif action == 'rgba': red = self.red*255 green = self.green*255 blue = self.blue*255 trans = self.multi(multiplier) - return f'rgba({red:0.2f}, {green:0.2f}, {blue:0.2f}, {trans:0.2f})' + return f'rgba({red:0.2f}, {green:0.2f}, {blue:0.2f}, {trans})' - return self + return new_color def color_func(action, color, multi):