diff --git a/doc/classes/Window.xml b/doc/classes/Window.xml index 0446f6d73f6..4114a83584b 100644 --- a/doc/classes/Window.xml +++ b/doc/classes/Window.xml @@ -903,5 +903,8 @@ The background style used when the [Window] is embedded. Note that this is drawn only under the window's content, excluding the title. For proper borders and title bar style, you can use [code]expand_margin_*[/code] properties of [StyleBoxFlat]. [b]Note:[/b] The content background will not be visible unless [member transparent] is enabled. + + The background style used when the [Window] is embedded and unfocused. + diff --git a/editor/editor_themes.cpp b/editor/editor_themes.cpp index 1c56c23ee1a..28964aa57ef 100644 --- a/editor/editor_themes.cpp +++ b/editor/editor_themes.cpp @@ -1605,6 +1605,7 @@ Ref create_editor_theme(const Ref p_theme) { style_window->set_border_width(SIDE_TOP, 24 * EDSCALE); style_window->set_expand_margin(SIDE_TOP, 24 * EDSCALE); theme->set_stylebox("embedded_border", "Window", style_window); + theme->set_stylebox("embedded_unfocused_border", "Window", style_window); theme->set_color("title_color", "Window", font_color); theme->set_icon("close", "Window", theme->get_icon(SNAME("GuiClose"), SNAME("EditorIcons"))); diff --git a/scene/main/viewport.cpp b/scene/main/viewport.cpp index 71bef56ebbf..567649aa165 100644 --- a/scene/main/viewport.cpp +++ b/scene/main/viewport.cpp @@ -315,7 +315,7 @@ void Viewport::_sub_window_update(Window *p_window) { Rect2i r = Rect2i(p_window->get_position(), sw.window->get_size()); if (!p_window->get_flag(Window::FLAG_BORDERLESS)) { - Ref panel = p_window->get_theme_stylebox(SNAME("embedded_border")); + Ref panel = p_window->get_theme_stylebox(gui.subwindow_focused == p_window ? SNAME("embedded_border") : SNAME("embedded_unfocused_border")); panel->draw(sw.canvas_item, r); // Draw the title bar text. diff --git a/scene/resources/default_theme/default_theme.cpp b/scene/resources/default_theme/default_theme.cpp index 07f38473cbe..4281e4057da 100644 --- a/scene/resources/default_theme/default_theme.cpp +++ b/scene/resources/default_theme/default_theme.cpp @@ -595,6 +595,7 @@ void fill_default_theme(Ref &theme, const Ref &default_font, const // Window theme->set_stylebox("embedded_border", "Window", sb_expand(make_flat_stylebox(style_popup_color, 10, 28, 10, 8), 8, 32, 8, 6)); + theme->set_stylebox("embedded_unfocused_border", "Window", sb_expand(make_flat_stylebox(style_popup_hover_color, 10, 28, 10, 8), 8, 32, 8, 6)); theme->set_font("title_font", "Window", Ref()); theme->set_font_size("title_font_size", "Window", -1);