Don't constrain immovable egui windows to native window (#1049)

This commit is contained in:
Lampsitter 2022-01-08 10:07:02 +01:00 committed by GitHub
parent 1f93c7b0b6
commit 7b641be7b0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 4 deletions

View file

@ -15,6 +15,7 @@ NOTE: [`epaint`](epaint/CHANGELOG.md), [`eframe`](eframe/CHANGELOG.md), [`egui_w
### Fixed 🐛
* Context menu now respects the theme ([#1043](https://github.com/emilk/egui/pull/1043))
* Immovable windows can no longer incorrectly move ([#1049](https://github.com/emilk/egui/pull/1049))
## 0.16.1 - 2021-12-31 - Add back `CtxRef::begin_frame,end_frame`

View file

@ -399,9 +399,11 @@ impl<'open> Window<'open> {
content_inner
};
if area.movable {
area.state_mut().pos = ctx
.constrain_window_rect_to_area(area.state().rect(), area.drag_bounds())
.min;
}
let full_response = area.end(ctx, area_content_ui);
@ -508,7 +510,11 @@ fn interact(
let new_rect = move_and_resize_window(ctx, &window_interaction)?;
let new_rect = ctx.round_rect_to_pixels(new_rect);
let new_rect = ctx.constrain_window_rect_to_area(new_rect, area.drag_bounds());
let new_rect = if area.movable {
ctx.constrain_window_rect_to_area(new_rect, area.drag_bounds())
} else {
new_rect
};
// TODO: add this to a Window state instead as a command "move here next frame"
area.state_mut().pos = new_rect.min;