You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-05 12:10:55 +00:00
Merge pull request #80121 from Sauermann/fix-embedded-window-stretch
Fix display of embedded `Window`
This commit is contained in:
@@ -348,7 +348,13 @@ void Viewport::_sub_window_update(Window *p_window) {
|
|||||||
close_icon->draw(sw.canvas_item, r.position + Vector2(r.size.width - close_h_ofs, -close_v_ofs));
|
close_icon->draw(sw.canvas_item, r.position + Vector2(r.size.width - close_h_ofs, -close_v_ofs));
|
||||||
}
|
}
|
||||||
|
|
||||||
RS::get_singleton()->canvas_item_add_texture_rect(sw.canvas_item, r, sw.window->get_texture()->get_rid());
|
const Transform2D xform = sw.window->window_transform * sw.window->stretch_transform;
|
||||||
|
Rect2 vr = xform.xform(sw.window->get_visible_rect());
|
||||||
|
vr.position += p_window->get_position();
|
||||||
|
if (vr != r) {
|
||||||
|
RS::get_singleton()->canvas_item_add_rect(sw.canvas_item, r, Color());
|
||||||
|
}
|
||||||
|
RS::get_singleton()->canvas_item_add_texture_rect(sw.canvas_item, vr, sw.window->get_texture()->get_rid());
|
||||||
}
|
}
|
||||||
|
|
||||||
void Viewport::_sub_window_grab_focus(Window *p_window) {
|
void Viewport::_sub_window_grab_focus(Window *p_window) {
|
||||||
|
|||||||
@@ -1239,7 +1239,7 @@ void Window::_update_viewport_size() {
|
|||||||
|
|
||||||
if (window_id != DisplayServer::INVALID_WINDOW_ID) {
|
if (window_id != DisplayServer::INVALID_WINDOW_ID) {
|
||||||
RenderingServer::get_singleton()->viewport_attach_to_screen(get_viewport_rid(), attach_to_screen_rect, window_id);
|
RenderingServer::get_singleton()->viewport_attach_to_screen(get_viewport_rid(), attach_to_screen_rect, window_id);
|
||||||
} else {
|
} else if (!is_embedded()) {
|
||||||
RenderingServer::get_singleton()->viewport_attach_to_screen(get_viewport_rid(), Rect2i(), DisplayServer::INVALID_WINDOW_ID);
|
RenderingServer::get_singleton()->viewport_attach_to_screen(get_viewport_rid(), Rect2i(), DisplayServer::INVALID_WINDOW_ID);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user