From a1bafafd7805f2163c9afe45163cef07c212e9ce Mon Sep 17 00:00:00 2001 From: MacDue Date: Fri, 5 Jan 2024 23:28:38 +0000 Subject: [PATCH] LibGfx: Slightly simplify Color::blend() No behaviour change. --- Userland/Libraries/LibGfx/Color.h | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/Userland/Libraries/LibGfx/Color.h b/Userland/Libraries/LibGfx/Color.h index 827b37175f..c9c9f357a9 100644 --- a/Userland/Libraries/LibGfx/Color.h +++ b/Userland/Libraries/LibGfx/Color.h @@ -210,11 +210,10 @@ public: if (source.alpha() == 0) return *this; - int const d = 255 * (alpha() + source.alpha()) - alpha() * source.alpha(); - u8 r = (red() * alpha() * (255 - source.alpha()) + source.red() * 255 * source.alpha()) / d; - u8 g = (green() * alpha() * (255 - source.alpha()) + source.green() * 255 * source.alpha()) / d; - u8 b = (blue() * alpha() * (255 - source.alpha()) + source.blue() * 255 * source.alpha()) / d; - u8 a = d / 255; + u8 a = 255 - ((255 - alpha()) * (255 - source.alpha()) / 255); + u8 r = (red() * (255 - source.alpha()) + source.red() * source.alpha()) / 255; + u8 g = (green() * (255 - source.alpha()) + source.green() * source.alpha()) / 255; + u8 b = (blue() * (255 - source.alpha()) + source.blue() * source.alpha()) / 255; return Color(r, g, b, a); }