From 155d876c44d3846e8a1bf27f05a3e0a174490490 Mon Sep 17 00:00:00 2001 From: Tobias Christiansen Date: Sat, 22 May 2021 00:15:06 +0200 Subject: [PATCH] LibGfx: Support alpha in rendering methods for border-radius The methods used in displaying border-radius were ignoring alpha. --- Userland/Libraries/LibGfx/Painter.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Userland/Libraries/LibGfx/Painter.cpp b/Userland/Libraries/LibGfx/Painter.cpp index 89bec0cf58..6fc5ca1c9c 100644 --- a/Userland/Libraries/LibGfx/Painter.cpp +++ b/Userland/Libraries/LibGfx/Painter.cpp @@ -379,7 +379,7 @@ void Painter::fill_rounded_corner(const IntRect& a_rect, int radius, Color color for (int i = rect.height() - 1; i >= 0; --i) { for (int j = 0; j < rect.width(); ++j) if (is_in_circle(j, rect.height() - i + clip_offset)) - dst[j] = color.value(); + dst[j] = Color::from_rgba(dst[j]).blend(color).value(); dst += dst_skip; } } @@ -420,7 +420,7 @@ void Painter::draw_circle_arc_intersecting(const IntRect& a_rect, const IntPoint for (int i = rect.height() - 1; i >= 0; --i) { for (int j = 0; j < rect.width(); ++j) if (is_on_arc(j, rect.height() - i + clip_offset)) - dst[j] = color.value(); + dst[j] = Color::from_rgba(dst[j]).blend(color).value(); dst += dst_skip; }