LibWeb: Don't use CSSPixels when resolving radial gradient color stops

CSSPixels are not precise enough to resolve gradient positions, which
leads to visual artifacts.
This commit is contained in:
MacDue 2023-08-17 21:21:15 +01:00 committed by Andreas Kling
parent fa7a2269cd
commit 6c9f1c396a
Notes: sideshowbarker 2024-07-16 22:34:39 +09:00

View file

@ -140,7 +140,7 @@ RadialGradientData resolve_radial_gradient_data(Layout::NodeWithStyleAndBoxModel
// Start center, goes right to ending point, where the gradient line intersects the ending shape
auto resolved_color_stops = resolve_color_stop_positions(
node, radial_gradient.color_stop_list(), [&](auto const& length_percentage) {
return (length_percentage.to_px(node, gradient_size.width()) / gradient_size.width()).to_float();
return length_percentage.to_px(node, gradient_size.width()).to_float() / gradient_size.width().to_float();
},
radial_gradient.is_repeating());
return { resolved_color_stops };