diff options
author | Rémi Verschelde <remi@verschelde.fr> | 2021-06-15 15:44:39 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-06-15 15:44:39 +0200 |
commit | 69553166ea9338588917d9ac2f05ff9ac00f55c6 (patch) | |
tree | 19294b4dc02dbb0a3fe5e43093cf39e74ffc190d | |
parent | 78a2d3a9678e55e4a411efbf30d68aa8ea25d0e2 (diff) | |
parent | 36236843f6fb5e5d312b759c72c3e5e668eea312 (diff) |
Merge pull request #49083 from foxydevloper/make-easing-line-smooth
Make easing properties drawn with anti aliasing
-rw-r--r-- | editor/editor_properties.cpp | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/editor/editor_properties.cpp b/editor/editor_properties.cpp index 0feee447a4..fd3cf662a9 100644 --- a/editor/editor_properties.cpp +++ b/editor/editor_properties.cpp @@ -994,9 +994,8 @@ void EditorPropertyEasing::_draw_easing() { Size2 s = easing_draw->get_size(); - const int points = 48; + const int point_count = 48; - float prev = 1.0; const float exp = get_edited_object()->get(get_edited_property()); const Ref<Font> f = get_theme_font("font", "Label"); @@ -1009,24 +1008,20 @@ void EditorPropertyEasing::_draw_easing() { line_color = get_theme_color("font_color", "Label") * Color(1, 1, 1, 0.9); } - Vector<Point2> lines; - for (int i = 1; i <= points; i++) { - float ifl = i / float(points); - float iflp = (i - 1) / float(points); + Vector<Point2> points; + for (int i = 0; i <= point_count; i++) { + float ifl = i / float(point_count); const float h = 1.0 - Math::ease(ifl, exp); if (flip) { ifl = 1.0 - ifl; - iflp = 1.0 - iflp; } - lines.push_back(Point2(ifl * s.width, h * s.height)); - lines.push_back(Point2(iflp * s.width, prev * s.height)); - prev = h; + points.push_back(Point2(ifl * s.width, h * s.height)); } - easing_draw->draw_multiline(lines, line_color, 1.0); + easing_draw->draw_polyline(points, line_color, 1.0, true); // Draw more decimals for small numbers since higher precision is usually required for fine adjustments. int decimals; if (Math::abs(exp) < 0.1 - CMP_EPSILON) { |