summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/classes/Window.xml3
-rw-r--r--editor/editor_themes.cpp1
-rw-r--r--scene/main/viewport.cpp2
-rw-r--r--scene/resources/default_theme/default_theme.cpp1
4 files changed, 6 insertions, 1 deletions
diff --git a/doc/classes/Window.xml b/doc/classes/Window.xml
index 0446f6d73f..4114a83584 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.
</theme_item>
+ <theme_item name="embedded_unfocused_border" data_type="style" type="StyleBox">
+ The background style used when the [Window] is embedded and unfocused.
+ </theme_item>
</theme_items>
</class>
diff --git a/editor/editor_themes.cpp b/editor/editor_themes.cpp
index 1c56c23ee1..28964aa57e 100644
--- a/editor/editor_themes.cpp
+++ b/editor/editor_themes.cpp
@@ -1605,6 +1605,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> 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 71bef56ebb..567649aa16 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<StyleBox> panel = p_window->get_theme_stylebox(SNAME("embedded_border"));
+ Ref<StyleBox> 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 07f38473cb..4281e4057d 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> &theme, const Ref<Font> &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<Font>());
theme->set_font_size("title_font_size", "Window", -1);