Cleanup: Animation, simplify channel selection code
Split up `ANIM_deselect_anim_channels()` into `ANIM_anim_channels_select_set()` and `ANIM_anim_channels_select_toggle()`. `ANIM_anim_channels_select_set()` is equivalent to the old `ANIM_deselect_anim_channels(..., false, ACHANNEL_SETFLAG_xxx)`. `ANIM_anim_channels_select_toggle()` is equivalent to the old `ANIM_deselect_anim_channels(..., true, ACHANNEL_SETFLAG_ADD)`. `ANIM_deselect_anim_channels(..., true, ACHANNEL_SETFLAG_CLEAR)` was also called once. The `true` parameter suggested the "toggle" behaviour was intended, but the `ACHANNEL_SETFLAG_CLEAR` argument prevented any toggling. This is now replaced with `ANIM_anim_channels_select_set(ac, ACHANNEL_SETFLAG_CLEAR)` to make this explicit. No functional changes, just a cleanup in order to better understand how the selection works.
This commit is contained in:
@@ -620,9 +620,11 @@ void ANIM_flush_setting_anim_channels(bAnimContext *ac,
|
||||
eAnimChannel_Settings setting,
|
||||
eAnimChannels_SetFlag mode);
|
||||
|
||||
/* Deselect all animation channels */
|
||||
void ANIM_deselect_anim_channels(
|
||||
bAnimContext *ac, void *data, eAnimCont_Types datatype, bool test, eAnimChannels_SetFlag sel);
|
||||
/* Select or deselect animation channels */
|
||||
void ANIM_anim_channels_select_set(bAnimContext *ac, eAnimChannels_SetFlag sel);
|
||||
|
||||
/* Toggle selection of animation channels */
|
||||
void ANIM_anim_channels_select_toggle(bAnimContext *ac);
|
||||
|
||||
/* Set the 'active' channel of type channel_type, in the given action */
|
||||
void ANIM_set_active_channel(bAnimContext *ac,
|
||||
|
||||
Reference in New Issue
Block a user