From 7a428206fec3018f2535768b8a1f20ab9f02aa22 Mon Sep 17 00:00:00 2001 From: Robert Hernandez Date: Thu, 30 Mar 2017 23:35:57 -0400 Subject: Fixed WindowDialog not aligning properly --- scene/gui/dialogs.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'scene/gui/dialogs.cpp') diff --git a/scene/gui/dialogs.cpp b/scene/gui/dialogs.cpp index 35d54d9843..df8bfcf691 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"); -- cgit v1.2.3