diff options
author | Relintai <relintai@gmail.com> | 2019-09-26 11:46:07 +0200 |
---|---|---|
committer | Relintai <relintai@gmail.com> | 2019-09-30 20:58:29 +0200 |
commit | 108068ab41364b291c7134594539752d4a3cf550 (patch) | |
tree | 4d11454dfea832675a88c9793cd4ff9f776a9e4f /scene | |
parent | c11ccb7e6eb337b72050c283507c5493c562e37a (diff) |
Make TextureProgress's nine_patch_stretch property to enable stretching for radial fills.
Diffstat (limited to 'scene')
-rw-r--r-- | scene/gui/texture_progress.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/scene/gui/texture_progress.cpp b/scene/gui/texture_progress.cpp index c534df5cbe..9b60a9d1c3 100644 --- a/scene/gui/texture_progress.cpp +++ b/scene/gui/texture_progress.cpp @@ -344,6 +344,9 @@ void TextureProgress::_notification(int p_what) { case FILL_CLOCKWISE: case FILL_COUNTER_CLOCKWISE: case FILL_CLOCKWISE_AND_COUNTER_CLOCKWISE: { + if (nine_patch_stretch) + s = get_size(); + float val = get_as_ratio() * rad_max_degrees / 360; if (val == 1) { Rect2 region = Rect2(Point2(), s); @@ -384,7 +387,13 @@ void TextureProgress::_notification(int p_what) { draw_polygon(points, colors, uvs, progress); } if (Engine::get_singleton()->is_editor_hint()) { - Point2 p = progress->get_size(); + Point2 p; + + if (nine_patch_stretch) + p = get_size(); + else + p = progress->get_size(); + p.x *= get_relative_center().x; p.y *= get_relative_center().y; p = p.floor(); |