Do not round panel rectangles to pixel grid (#5196)

* Closes https://github.com/emilk/egui/issues/5173
* Part of https://github.com/emilk/egui/issues/5163
* Related to https://github.com/emilk/egui/issues/5164
This commit is contained in:
Emil Ernerfeldt 2024-09-30 15:48:41 +02:00 committed by GitHub
parent 15d3d43aa3
commit ce744e6f7a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 2 additions and 6 deletions

View File

@ -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