1
0
mirror of https://github.com/emilk/egui.git synced 2026-09-02 14:50:03 -04:00

Do not round panel rectangles to pixel grid

This commit is contained in:
Emil Ernerfeldt
2024-09-30 15:40:38 +02:00
parent 15d3d43aa3
commit 6a69ea6959

View File

@@ -329,9 +329,6 @@ impl SidePanel {
ui.ctx().set_cursor_icon(cursor_icon); 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); PanelState { rect }.store(ui.ctx(), id);
{ {
@@ -824,9 +821,6 @@ impl TopBottomPanel {
ui.ctx().set_cursor_icon(cursor_icon); 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); 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 // 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); 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); 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 // We want the line exactly on the last pixel but rust rounds away from zero so we bring it back a bit for