summaryrefslogtreecommitdiff
path: root/editor
diff options
context:
space:
mode:
authorfox <12120644+foxydevloper@users.noreply.github.com>2021-05-25 17:12:21 -0400
committerfox <12120644+foxydevloper@users.noreply.github.com>2021-05-25 17:12:21 -0400
commit36236843f6fb5e5d312b759c72c3e5e668eea312 (patch)
tree21cc5ec32e6e273b5e2cc096797e3b67798aa0cb /editor
parentb6f381475fed44be21b8dd66cdb86e1a3b3af9cf (diff)
Make easing properties drawn with anti aliasing
Diffstat (limited to 'editor')
-rw-r--r--editor/editor_properties.cpp17
1 files changed, 6 insertions, 11 deletions
diff --git a/editor/editor_properties.cpp b/editor/editor_properties.cpp
index 7beff4147d..7e3bfba726 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) {