diff options
author | Sybren A. Stüvel <sybren@blender.org> | 2020-03-10 16:02:16 +0300 |
---|---|---|
committer | Sybren A. Stüvel <sybren@blender.org> | 2020-03-10 16:02:40 +0300 |
commit | a801487ef5049d9f4ecf947942761566bc64a176 (patch) | |
tree | 9089e5770eaea2e578cb5172cb70e9a92c4385ae /source/blender/editors/animation | |
parent | ca717f0489af6854f3f4bedb3c1e82ea0a8dff1c (diff) |
Fix T65076: Missing EasingType implementation on the Dopesheet
EasingType was implemented rBdaccaa713b6e for the GraphEditor (but never
made it to the Dopesheet). If you can select Easing Mode in the
DopeSheet, then you should also be able to select the associated Easing
Type.
Thanks @lichtwerk for the initial implementation.
Maniphest Tasks: T65076
Differential Revision: https://developer.blender.org/D6094
Diffstat (limited to 'source/blender/editors/animation')
-rw-r--r-- | source/blender/editors/animation/keyframes_edit.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/source/blender/editors/animation/keyframes_edit.c b/source/blender/editors/animation/keyframes_edit.c index 9c65d5fcd2d..7a24eb484ac 100644 --- a/source/blender/editors/animation/keyframes_edit.c +++ b/source/blender/editors/animation/keyframes_edit.c @@ -456,6 +456,24 @@ short ANIM_animchanneldata_keyframes_loop(KeyframeEditData *ked, return 0; } +void ANIM_animdata_keyframe_callback(bAnimContext *ac, + eAnimFilter_Flags filter, + KeyframeEditFunc callback_fn) +{ + ListBase anim_data = {NULL, NULL}; + bAnimListElem *ale; + + ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype); + + for (ale = anim_data.first; ale; ale = ale->next) { + ANIM_fcurve_keyframes_loop(NULL, ale->key_data, NULL, callback_fn, calchandles_fcurve); + ale->update |= ANIM_UPDATE_DEFAULT; + } + + ANIM_animdata_update(ac, &anim_data); + ANIM_animdata_freelist(&anim_data); +} + /* ************************************************************************** */ /* Keyframe Integrity Tools */ |