You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-19 14:31:59 +00:00
Merge pull request #92317 from bruvzg/emb_decorations
Fix `get_position_with_decorations` and `get_size_with_decorations` for embedded windows.
This commit is contained in:
@@ -408,6 +408,16 @@ Point2i Window::get_position_with_decorations() const {
|
||||
if (window_id != DisplayServer::INVALID_WINDOW_ID) {
|
||||
return DisplayServer::get_singleton()->window_get_position_with_decorations(window_id);
|
||||
}
|
||||
if (visible && is_embedded() && !get_flag(Window::FLAG_BORDERLESS)) {
|
||||
Size2 border_offset;
|
||||
if (theme_cache.embedded_border.is_valid()) {
|
||||
border_offset = theme_cache.embedded_border->get_offset();
|
||||
}
|
||||
if (theme_cache.embedded_unfocused_border.is_valid()) {
|
||||
border_offset = border_offset.max(theme_cache.embedded_unfocused_border->get_offset());
|
||||
}
|
||||
return position - border_offset;
|
||||
}
|
||||
return position;
|
||||
}
|
||||
|
||||
@@ -416,6 +426,16 @@ Size2i Window::get_size_with_decorations() const {
|
||||
if (window_id != DisplayServer::INVALID_WINDOW_ID) {
|
||||
return DisplayServer::get_singleton()->window_get_size_with_decorations(window_id);
|
||||
}
|
||||
if (visible && is_embedded() && !get_flag(Window::FLAG_BORDERLESS)) {
|
||||
Size2 border_size;
|
||||
if (theme_cache.embedded_border.is_valid()) {
|
||||
border_size = theme_cache.embedded_border->get_minimum_size();
|
||||
}
|
||||
if (theme_cache.embedded_unfocused_border.is_valid()) {
|
||||
border_size = border_size.max(theme_cache.embedded_unfocused_border->get_minimum_size());
|
||||
}
|
||||
return size + border_size;
|
||||
}
|
||||
return size;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user