mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 20:17:44 +00:00
LibWeb: Use rounding instead of enclosing_int_rect() when painting
By using enclosing_int_rect(), borders and backgrounds of boxes were sometimes 1 pixel off, making things slightly larger than they should be. Fix this by using to_rounded() instead of enclosing_int_rect(). There's definitely more of these type of issues lurking in the code, and we'll get to them in time.
This commit is contained in:
parent
e1cf51b0bd
commit
0de488749f
5 changed files with 18 additions and 20 deletions
|
@ -43,9 +43,7 @@ BorderRadiusData normalized_border_radius_data(Layout::Node const& node, Gfx::Fl
|
|||
|
||||
void paint_border(PaintContext& context, BorderEdge edge, Gfx::FloatRect const& a_rect, BorderRadiusData const& border_radius_data, BordersData const& borders_data)
|
||||
{
|
||||
// FIXME: This is a hack that snaps the incoming rect to integer pixel values before painting each side.
|
||||
// This needs a more general solution.
|
||||
auto rect = enclosing_int_rect(a_rect).to_type<float>();
|
||||
auto rect = a_rect.to_rounded<float>();
|
||||
|
||||
const auto& border_data = [&] {
|
||||
switch (edge) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue