diff --git a/scene/gui/dialogs.cpp b/scene/gui/dialogs.cpp index 35d54d98437..df8bfcf6913 100644 --- a/scene/gui/dialogs.cpp +++ b/scene/gui/dialogs.cpp @@ -177,7 +177,18 @@ void WindowDialog::_notification(int p_what) { Size2 size = get_size(); Ref panel = get_stylebox("panel", "WindowDialog"); - panel->draw(canvas, Rect2(Point2(), size)); + int margin_left = static_cast(panel->get_margin(MARGIN_LEFT)); + int margin_top = static_cast(panel->get_margin(MARGIN_TOP)); + int margin_right = static_cast(panel->get_margin(MARGIN_RIGHT)); + int margin_bottom = static_cast(panel->get_margin(MARGIN_BOTTOM)); + + Rect2 rect; + rect.pos.x = -margin_left; + rect.pos.y = -margin_top; + rect.size.width = size.width + margin_left + margin_right; + rect.size.height = size.height + margin_top + margin_bottom; + + panel->draw(canvas, rect); int title_height = get_constant("title_height", "WindowDialog"); Color title_color = get_color("title_color", "WindowDialog"); diff --git a/scene/gui/patch_9_rect.cpp b/scene/gui/patch_9_rect.cpp index 77178b902f3..f53036085fb 100644 --- a/scene/gui/patch_9_rect.cpp +++ b/scene/gui/patch_9_rect.cpp @@ -39,9 +39,9 @@ void NinePatchRect::_notification(int p_what) { Rect2 rect = Rect2(Point2(), get_size()); Rect2 src_rect = region_rect; - + texture->get_rect_region(rect, src_rect, rect, src_rect); - + RID ci = get_canvas_item(); VS::get_singleton()->canvas_item_add_nine_patch(ci, rect, src_rect, texture->get_rid(), Vector2(margin[MARGIN_LEFT], margin[MARGIN_TOP]), Vector2(margin[MARGIN_RIGHT], margin[MARGIN_BOTTOM]), VS::NINE_PATCH_STRETCH, VS::NINE_PATCH_STRETCH, draw_center); } diff --git a/scene/resources/default_theme/default_theme.cpp b/scene/resources/default_theme/default_theme.cpp index 60490d70caf..3f19c2eafc4 100644 --- a/scene/resources/default_theme/default_theme.cpp +++ b/scene/resources/default_theme/default_theme.cpp @@ -544,7 +544,7 @@ void fill_default_theme(Ref &t, const Ref &default_font, const Ref< t->set_font("title_font", "WindowDialog", large_font); t->set_color("title_color", "WindowDialog", Color(0, 0, 0)); - t->set_constant("title_height", "WindowDialog", 18 * scale); + t->set_constant("title_height", "WindowDialog", 20 * scale); t->set_icon("close", "WindowDialog", make_icon(close_png)); t->set_icon("close_hilite", "WindowDialog", make_icon(close_hl_png)); diff --git a/scene/resources/style_box.cpp b/scene/resources/style_box.cpp index 173458f419c..a3bb52d0f16 100644 --- a/scene/resources/style_box.cpp +++ b/scene/resources/style_box.cpp @@ -134,9 +134,9 @@ void StyleBoxTexture::draw(RID p_canvas_item, const Rect2 &p_rect) const { Rect2 rect = p_rect; Rect2 src_rect = region_rect; - + texture->get_rect_region(rect, src_rect, rect, src_rect); - + VisualServer::get_singleton()->canvas_item_add_nine_patch(p_canvas_item, rect, src_rect, texture->get_rid(), Vector2(margin[MARGIN_LEFT], margin[MARGIN_TOP]), Vector2(margin[MARGIN_RIGHT], margin[MARGIN_BOTTOM]), VS::NINE_PATCH_STRETCH, VS::NINE_PATCH_STRETCH, draw_center, modulate); }