From 4aba38e21fb810afe10f7cbae46cb06f1842c2c3 Mon Sep 17 00:00:00 2001 From: Aliaksandr Kalenik Date: Tue, 16 Jul 2024 16:43:11 +0300 Subject: [PATCH] LibWeb: Use repeat tile mode if repeating length specified ...for radial gradient in Skia painter. --- .../Libraries/LibWeb/Painting/DisplayListPlayerSkia.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Userland/Libraries/LibWeb/Painting/DisplayListPlayerSkia.cpp b/Userland/Libraries/LibWeb/Painting/DisplayListPlayerSkia.cpp index 61a22a97453..0bdc242efc8 100644 --- a/Userland/Libraries/LibWeb/Painting/DisplayListPlayerSkia.cpp +++ b/Userland/Libraries/LibWeb/Painting/DisplayListPlayerSkia.cpp @@ -1200,7 +1200,11 @@ CommandResult DisplayListPlayerSkia::paint_radial_gradient(PaintRadialGradient c // so instead we apply scale matrix matrix.setScale(size.width() / size.height(), 1.0f, center.x(), center.y()); - auto shader = SkGradientShader::MakeRadial(center, size.height(), colors.data(), positions.data(), positions.size(), SkTileMode::kClamp, 0, &matrix); + SkTileMode tile_mode = SkTileMode::kClamp; + if (repeat_length.has_value()) + tile_mode = SkTileMode::kRepeat; + + auto shader = SkGradientShader::MakeRadial(center, size.height(), colors.data(), positions.data(), positions.size(), tile_mode, 0, &matrix); SkPaint paint; paint.setShader(shader);