1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-28 16:47:34 +00:00

LibWeb: Use fixed-point saturated arithmetics for CSSPixels

Using fixed-point saturated arithmetics for CSSPixels allows to avoid
accumulating floating-point errors.

This implementation is not complete yet: currently saturated
arithmetics implemented only for addition. But it is enough to not
regress any of layout tests we have :)

See https://github.com/SerenityOS/serenity/issues/18566
This commit is contained in:
Aliaksandr Kalenik 2023-07-23 01:09:39 +02:00 committed by Andreas Kling
parent 5cdd03fc53
commit bec07d4af7
136 changed files with 1938 additions and 1844 deletions

View file

@ -447,7 +447,7 @@ static void paint_text_decoration(PaintContext& context, Gfx::Painter& painter,
if (computed_thickness.is_auto())
return max(glyph_height * 0.1, 1.);
return computed_thickness.to_px(text_node);
return computed_thickness.to_px(text_node).to_double();
}();
auto device_line_thickness = context.rounded_device_pixels(css_line_thickness);