From 6a69ea69598a69f417e34999453d3f174e2e93c0 Mon Sep 17 00:00:00 2001 From: Emil Ernerfeldt Date: Mon, 30 Sep 2024 15:40:38 +0200 Subject: [PATCH] Do not round panel rectangles to pixel grid --- crates/egui/src/containers/panel.rs | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/crates/egui/src/containers/panel.rs b/crates/egui/src/containers/panel.rs index f3b6c913c..ee5104579 100644 --- a/crates/egui/src/containers/panel.rs +++ b/crates/egui/src/containers/panel.rs @@ -329,9 +329,6 @@ impl SidePanel { ui.ctx().set_cursor_icon(cursor_icon); } - // Keep this rect snapped so that panel content can be pixel-perfect - let rect = ui.painter().round_rect_to_pixels(rect); - PanelState { rect }.store(ui.ctx(), id); { @@ -824,9 +821,6 @@ impl TopBottomPanel { ui.ctx().set_cursor_icon(cursor_icon); } - // Keep this rect snapped so that panel content can be pixel-perfect - let rect = ui.painter().round_rect_to_pixels(rect); - PanelState { rect }.store(ui.ctx(), id); { @@ -842,6 +836,8 @@ impl TopBottomPanel { }; // TODO(emilk): draw line on top of all panels in this ui when https://github.com/emilk/egui/issues/1516 is done let resize_y = side.opposite().side_y(rect); + + // This makes it pixel-perfect for odd-sized strokes (width=1.0, width=3.0, etc) let resize_y = ui.painter().round_to_pixel_center(resize_y); // We want the line exactly on the last pixel but rust rounds away from zero so we bring it back a bit for