diff options
author | Juan Linietsky <reduzio@gmail.com> | 2016-02-08 11:29:32 -0300 |
---|---|---|
committer | Juan Linietsky <reduzio@gmail.com> | 2016-02-08 11:29:32 -0300 |
commit | 9109e41a20a202e405cefc4ca6cb54208366fee9 (patch) | |
tree | 72aeaab9e23c042a689174fee1fce38a54ee7fd9 /scene/gui | |
parent | f5433dc60d4a2e56b64f0a581ccb82c71e0887ee (diff) |
Property handle rotated controls in 2D editor, fixes #3613
Diffstat (limited to 'scene/gui')
-rw-r--r-- | scene/gui/control.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/scene/gui/control.cpp b/scene/gui/control.cpp index c319e306e0..af3b37bec2 100644 --- a/scene/gui/control.cpp +++ b/scene/gui/control.cpp @@ -85,9 +85,14 @@ Size2 Control::edit_get_minimum_size() const { void Control::edit_set_rect(const Rect2& p_edit_rect) { - Rect2 new_rect=get_rect(); + Matrix32 postxf; + postxf.set_rotation_and_scale(data.rotation,data.scale); + Vector2 new_pos = postxf.xform(p_edit_rect.pos); + + Vector2 pos = get_pos()+new_pos; - new_rect.pos+=p_edit_rect.pos.snapped(Vector2(1,1)); + Rect2 new_rect=get_rect(); + new_rect.pos=pos.snapped(Vector2(1,1)); new_rect.size=p_edit_rect.size.snapped(Vector2(1,1)); set_pos(new_rect.pos); |