Skip to content

Prevent drift when resizing and moving windows#7709

Merged
emilk merged 2 commits intomainfrom
emilk/prevent-resize-drift
Nov 12, 2025
Merged

Prevent drift when resizing and moving windows#7709
emilk merged 2 commits intomainfrom
emilk/prevent-resize-drift

Conversation

@emilk
Copy link
Copy Markdown
Owner

@emilk emilk commented Nov 12, 2025

This fixes a particular issue where resizing a window would move it, and resizing it back would not restore it.

You can still move a window by resizing it (I didn't focus on that bug here), but at least now the window will return to its original position when you move back the mouse.

@emilk emilk added the bug Something is broken label Nov 12, 2025
@github-actions
Copy link
Copy Markdown

github-actions bot commented Nov 12, 2025

Preview available at https://egui-pr-preview.github.io/pr/7709-emilkprevent-resize-drift
Note that it might take a couple seconds for the update to show up after the preview_build workflow has completed.

View snapshot changes at kitdiff

@emilk emilk merged commit 5e6615a into main Nov 12, 2025
47 of 49 checks passed
@emilk emilk deleted the emilk/prevent-resize-drift branch November 12, 2025 21:40
emilk added a commit that referenced this pull request Nov 13, 2025
…7710)

Sometimes when moving a window, having a tooltip attached to the mouse
pointer, or scrolling a `ScrollArea`, you would see this disturbing
effect:


![drift-bug](https://github.com/user-attachments/assets/013a5f49-ee02-417c-8441-1e1a0369e8bd)

This is caused by us rounding many visual elements (lines, rectangles,
text, …) to physical pixels in order to keep them sharp. If the
window/tooltip itself is not rounded to a physical pixel, then you can
get this behavior.

So from now on the position of all
areas/windows/tooltips/popups/ScrollArea gets rounded to the closes
pixel.

* Unlocked by #7709
emilk added a commit that referenced this pull request Nov 13, 2025
* Follows #7708
* Related to #202 

This fixes a particular issue where resizing a window would move it, and
resizing it back would not restore it.

You can still move a window by resizing it (I didn't focus on that bug
here), but at least now the window will return to its original position
when you move back the mouse.
emilk added a commit that referenced this pull request Nov 13, 2025
…7710)

Sometimes when moving a window, having a tooltip attached to the mouse
pointer, or scrolling a `ScrollArea`, you would see this disturbing
effect:


![drift-bug](https://github.com/user-attachments/assets/013a5f49-ee02-417c-8441-1e1a0369e8bd)

This is caused by us rounding many visual elements (lines, rectangles,
text, …) to physical pixels in order to keep them sharp. If the
window/tooltip itself is not rounded to a physical pixel, then you can
get this behavior.

So from now on the position of all
areas/windows/tooltips/popups/ScrollArea gets rounded to the closes
pixel.

* Unlocked by #7709
Masterchef365 pushed a commit to Masterchef365/egui that referenced this pull request Apr 3, 2026
* Follows emilk#7708
* Related to emilk#202 

This fixes a particular issue where resizing a window would move it, and
resizing it back would not restore it.

You can still move a window by resizing it (I didn't focus on that bug
here), but at least now the window will return to its original position
when you move back the mouse.
Masterchef365 pushed a commit to Masterchef365/egui that referenced this pull request Apr 3, 2026
…milk#7710)

Sometimes when moving a window, having a tooltip attached to the mouse
pointer, or scrolling a `ScrollArea`, you would see this disturbing
effect:


![drift-bug](https://github.com/user-attachments/assets/013a5f49-ee02-417c-8441-1e1a0369e8bd)

This is caused by us rounding many visual elements (lines, rectangles,
text, …) to physical pixels in order to keep them sharp. If the
window/tooltip itself is not rounded to a physical pixel, then you can
get this behavior.

So from now on the position of all
areas/windows/tooltips/popups/ScrollArea gets rounded to the closes
pixel.

* Unlocked by emilk#7709
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something is broken

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant