From d7cd44418df1e36283777d339764835040f8297c Mon Sep 17 00:00:00 2001 From: Hugo Locurcio Date: Sat, 13 Nov 2021 20:07:19 +0100 Subject: Use a different icon for eased keyframes in the animation editor This makes easing tracks easier to recognize, in a way similar to curved lines in the Path2D editor. --- editor/animation_track_editor.cpp | 5 +++++ editor/icons/KeyEasedSelected.svg | 1 + editor/icons/KeyValueEased.svg | 1 + 3 files changed, 7 insertions(+) create mode 100644 editor/icons/KeyEasedSelected.svg create mode 100644 editor/icons/KeyValueEased.svg diff --git a/editor/animation_track_editor.cpp b/editor/animation_track_editor.cpp index b45fd7f443..f8f66d08d4 100644 --- a/editor/animation_track_editor.cpp +++ b/editor/animation_track_editor.cpp @@ -2257,6 +2257,11 @@ void AnimationTrackEdit::draw_key(int p_index, float p_pixels_sec, int p_x, bool Ref icon_to_draw = p_selected ? selected_icon : type_icon; + if (animation->track_get_type(track) == Animation::TYPE_VALUE && !Math::is_equal_approx(animation->track_get_key_transition(track, p_index), real_t(1.0))) { + // Use a different icon for keys with non-linear easing. + icon_to_draw = get_theme_icon(p_selected ? SNAME("KeyEasedSelected") : SNAME("KeyValueEased"), SNAME("EditorIcons")); + } + // Override type icon for invalid value keys, unless selected. if (!p_selected && animation->track_get_type(track) == Animation::TYPE_VALUE) { const Variant &v = animation->track_get_key_value(track, p_index); diff --git a/editor/icons/KeyEasedSelected.svg b/editor/icons/KeyEasedSelected.svg new file mode 100644 index 0000000000..c06d94c553 --- /dev/null +++ b/editor/icons/KeyEasedSelected.svg @@ -0,0 +1 @@ + diff --git a/editor/icons/KeyValueEased.svg b/editor/icons/KeyValueEased.svg new file mode 100644 index 0000000000..4e4a33c006 --- /dev/null +++ b/editor/icons/KeyValueEased.svg @@ -0,0 +1 @@ + -- cgit v1.2.3