Fix non-embedded Windows resizing to match Viewport content scale factor

This commit is contained in:
Koyper 2023-12-27 10:19:52 -06:00
parent 30e71782af
commit 0881c81c13
5 changed files with 52 additions and 23 deletions

View file

@ -232,7 +232,8 @@ Size2 PopupPanel::_get_contents_minimum_size() const {
void PopupPanel::_update_child_rects() {
Vector2 cpos(theme_cache.panel_style->get_offset());
Vector2 csize(get_size() - theme_cache.panel_style->get_minimum_size());
Vector2 panel_size = Vector2(get_size()) / get_content_scale_factor();
Vector2 csize = panel_size - theme_cache.panel_style->get_minimum_size();
for (int i = 0; i < get_child_count(); i++) {
Control *c = Object::cast_to<Control>(get_child(i));
@ -246,7 +247,7 @@ void PopupPanel::_update_child_rects() {
if (c == panel) {
c->set_position(Vector2());
c->set_size(get_size());
c->set_size(panel_size);
} else {
c->set_position(cpos);
c->set_size(csize);