mirror of
https://github.com/godotengine/godot.git
synced 2025-12-08 06:09:55 +00:00
Avoid setting sub-window or started project window positions, if it's impossible to get screen rect.
This commit is contained in:
parent
f4b0c7a1ea
commit
defcd0c57e
4 changed files with 93 additions and 70 deletions
|
|
@ -1045,7 +1045,9 @@ void Window::popup_centered_clamped(const Size2i &p_size, float p_fallback_ratio
|
|||
|
||||
Rect2i popup_rect;
|
||||
popup_rect.size = Vector2i(MIN(size_ratio.x, p_size.x), MIN(size_ratio.y, p_size.y));
|
||||
popup_rect.position = parent_rect.position + (parent_rect.size - popup_rect.size) / 2;
|
||||
if (parent_rect != Rect2()) {
|
||||
popup_rect.position = parent_rect.position + (parent_rect.size - popup_rect.size) / 2;
|
||||
}
|
||||
|
||||
popup(popup_rect);
|
||||
}
|
||||
|
|
@ -1069,7 +1071,10 @@ void Window::popup_centered(const Size2i &p_minsize) {
|
|||
Size2 contents_minsize = _get_contents_minimum_size();
|
||||
popup_rect.size.x = MAX(p_minsize.x, contents_minsize.x);
|
||||
popup_rect.size.y = MAX(p_minsize.y, contents_minsize.y);
|
||||
popup_rect.position = parent_rect.position + (parent_rect.size - popup_rect.size) / 2;
|
||||
|
||||
if (parent_rect != Rect2()) {
|
||||
popup_rect.position = parent_rect.position + (parent_rect.size - popup_rect.size) / 2;
|
||||
}
|
||||
|
||||
popup(popup_rect);
|
||||
}
|
||||
|
|
@ -1091,8 +1096,10 @@ void Window::popup_centered_ratio(float p_ratio) {
|
|||
}
|
||||
|
||||
Rect2i popup_rect;
|
||||
popup_rect.size = parent_rect.size * p_ratio;
|
||||
popup_rect.position = parent_rect.position + (parent_rect.size - popup_rect.size) / 2;
|
||||
if (parent_rect != Rect2()) {
|
||||
popup_rect.size = parent_rect.size * p_ratio;
|
||||
popup_rect.position = parent_rect.position + (parent_rect.size - popup_rect.size) / 2;
|
||||
}
|
||||
|
||||
popup(popup_rect);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue