diff --git a/source/blender/editors/animation/anim_filter.cc b/source/blender/editors/animation/anim_filter.cc index d7c62d49951..a2d06cfa8cd 100644 --- a/source/blender/editors/animation/anim_filter.cc +++ b/source/blender/editors/animation/anim_filter.cc @@ -417,7 +417,7 @@ bool ANIM_animdata_can_have_greasepencil(const eAnimCont_Types type) */ #define BEGIN_ANIMFILTER_SUBCHANNELS(expanded_check) \ { \ - int _filter = filter_mode; \ + const eAnimFilter_Flags _filter = filter_mode; \ short _doSubChannels = 0; \ if (!(filter_mode & ANIMFILTER_LIST_VISIBLE) || (expanded_check)) { \ _doSubChannels = 1; \ @@ -949,7 +949,10 @@ static bAnimListElem *make_new_animlistelem(void *data, /* 'Only Selected' selected data and/or 'Include Hidden' filtering * NOTE: when this function returns true, the F-Curve is to be skipped */ -static bool skip_fcurve_selected_data(bDopeSheet *ads, FCurve *fcu, ID *owner_id, int filter_mode) +static bool skip_fcurve_selected_data(bDopeSheet *ads, + FCurve *fcu, + ID *owner_id, + const eAnimFilter_Flags filter_mode) { if (fcu->grp != nullptr && fcu->grp->flag & ADT_CURVES_ALWAYS_VISIBLE) { return false; @@ -1178,7 +1181,7 @@ static bool fcurve_has_errors(const FCurve *fcu, bDopeSheet *ads) static FCurve *animfilter_fcurve_next(bDopeSheet *ads, FCurve *first, eAnim_ChannelType channel_type, - int filter_mode, + const eAnimFilter_Flags filter_mode, void *owner, ID *owner_id) { @@ -1253,7 +1256,7 @@ static size_t animfilter_fcurves(ListBase *anim_data, bDopeSheet *ads, FCurve *first, eAnim_ChannelType fcurve_type, - int filter_mode, + const eAnimFilter_Flags filter_mode, void *owner, ID *owner_id, ID *fcurve_owner_id) @@ -1298,7 +1301,7 @@ static size_t animfilter_fcurves(ListBase *anim_data, static size_t animfilter_fcurves_span(ListBase * /*bAnimListElem*/ anim_data, bDopeSheet * /*ads*/, Span fcurves, - const int filter_mode, + const eAnimFilter_Flags filter_mode, ID *owner_id, ID *fcurve_owner_id) { @@ -1331,7 +1334,7 @@ static size_t animfilter_act_group(bAnimContext *ac, bDopeSheet *ads, bAction *act, bActionGroup *agrp, - int filter_mode, + eAnimFilter_Flags filter_mode, ID *owner_id) { ListBase tmp_data = {nullptr, nullptr}; @@ -1426,7 +1429,7 @@ static size_t animfilter_action(bAnimContext *ac, bDopeSheet *ads, animrig::Action &action, const animrig::binding_handle_t binding_handle, - const int filter_mode, + const eAnimFilter_Flags filter_mode, ID *owner_id) { FCurve *lastchan = nullptr; @@ -1485,7 +1488,7 @@ static size_t animfilter_nla(bAnimContext * /*ac*/, ListBase *anim_data, bDopeSheet *ads, AnimData *adt, - int filter_mode, + const eAnimFilter_Flags filter_mode, ID *owner_id) { NlaTrack *nlt; @@ -1573,8 +1576,11 @@ static size_t animfilter_nla(bAnimContext * /*ac*/, /* Include the control FCurves per NLA Strip in the channel list * NOTE: This is includes the expander too... */ -static size_t animfilter_nla_controls( - ListBase *anim_data, bDopeSheet *ads, AnimData *adt, int filter_mode, ID *owner_id) +static size_t animfilter_nla_controls(ListBase *anim_data, + bDopeSheet *ads, + AnimData *adt, + eAnimFilter_Flags filter_mode, + ID *owner_id) { ListBase tmp_data = {nullptr, nullptr}; size_t tmp_items = 0; @@ -1624,8 +1630,11 @@ static size_t animfilter_nla_controls( } /* determine what animation data from AnimData block should get displayed */ -static size_t animfilter_block_data( - bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, ID *id, int filter_mode) +static size_t animfilter_block_data(bAnimContext *ac, + ListBase *anim_data, + bDopeSheet *ads, + ID *id, + const eAnimFilter_Flags filter_mode) { AnimData *adt = BKE_animdata_from_id(id); size_t items = 0; @@ -1680,7 +1689,7 @@ static size_t animfilter_block_data( static size_t animdata_filter_shapekey(bAnimContext *ac, ListBase *anim_data, Key *key, - int filter_mode) + const eAnimFilter_Flags filter_mode) { size_t items = 0; @@ -1770,7 +1779,7 @@ static size_t animdata_filter_grease_pencil_layer(ListBase *anim_data, bDopeSheet * /*ads*/, GreasePencil *grease_pencil, blender::bke::greasepencil::Layer &layer, - int filter_mode) + const eAnimFilter_Flags filter_mode) { size_t items = 0; @@ -1807,7 +1816,7 @@ static size_t animdata_filter_grease_pencil_layer_node_recursive( bDopeSheet *ads, GreasePencil *grease_pencil, blender::bke::greasepencil::TreeNode &node, - int filter_mode) + eAnimFilter_Flags filter_mode) { using namespace blender::bke::greasepencil; size_t items = 0; @@ -1859,7 +1868,7 @@ static size_t animdata_filter_grease_pencil_layer_node_recursive( static size_t animdata_filter_grease_pencil_layers_data(ListBase *anim_data, bDopeSheet *ads, GreasePencil *grease_pencil, - int filter_mode) + const eAnimFilter_Flags filter_mode) { size_t items = 0; @@ -1877,7 +1886,7 @@ static size_t animdata_filter_grease_pencil_layers_data(ListBase *anim_data, static size_t animdata_filter_gpencil_layers_data_legacy(ListBase *anim_data, bDopeSheet *ads, bGPdata *gpd, - int filter_mode) + const eAnimFilter_Flags filter_mode) { size_t items = 0; @@ -1920,7 +1929,7 @@ static size_t animdata_filter_gpencil_layers_data_legacy(ListBase *anim_data, static size_t animdata_filter_grease_pencil_data(ListBase *anim_data, bDopeSheet *ads, GreasePencil *grease_pencil, - int filter_mode) + eAnimFilter_Flags filter_mode) { using namespace blender; @@ -1972,7 +1981,7 @@ static size_t animdata_filter_grease_pencil_data(ListBase *anim_data, static size_t animdata_filter_gpencil_legacy_data(ListBase *anim_data, bDopeSheet *ads, bGPdata *gpd, - int filter_mode) + eAnimFilter_Flags filter_mode) { size_t items = 0; @@ -2014,7 +2023,9 @@ static size_t animdata_filter_gpencil_legacy_data(ListBase *anim_data, return items; } -static size_t animdata_filter_grease_pencil(bAnimContext *ac, ListBase *anim_data, int filter_mode) +static size_t animdata_filter_grease_pencil(bAnimContext *ac, + ListBase *anim_data, + const eAnimFilter_Flags filter_mode) { size_t items = 0; Scene *scene = ac->scene; @@ -2071,7 +2082,7 @@ static size_t animdata_filter_grease_pencil(bAnimContext *ac, ListBase *anim_dat static size_t animdata_filter_gpencil_legacy(bAnimContext *ac, ListBase *anim_data, void * /*data*/, - int filter_mode) + const eAnimFilter_Flags filter_mode) { bDopeSheet *ads = ac->ads; size_t items = 0; @@ -2147,8 +2158,11 @@ static size_t animdata_filter_gpencil_legacy(bAnimContext *ac, } /* Helper for Grease Pencil data integrated with main DopeSheet */ -static size_t animdata_filter_ds_gpencil( - bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, bGPdata *gpd, int filter_mode) +static size_t animdata_filter_ds_gpencil(bAnimContext *ac, + ListBase *anim_data, + bDopeSheet *ads, + bGPdata *gpd, + eAnimFilter_Flags filter_mode) { ListBase tmp_data = {nullptr, nullptr}; size_t tmp_items = 0; @@ -2191,8 +2205,11 @@ static size_t animdata_filter_ds_gpencil( } /* Helper for Cache File data integrated with main DopeSheet */ -static size_t animdata_filter_ds_cachefile( - bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, CacheFile *cache_file, int filter_mode) +static size_t animdata_filter_ds_cachefile(bAnimContext *ac, + ListBase *anim_data, + bDopeSheet *ads, + CacheFile *cache_file, + eAnimFilter_Flags filter_mode) { ListBase tmp_data = {nullptr, nullptr}; size_t tmp_items = 0; @@ -2227,7 +2244,9 @@ static size_t animdata_filter_ds_cachefile( } /* Helper for Mask Editing - mask layers */ -static size_t animdata_filter_mask_data(ListBase *anim_data, Mask *mask, const int filter_mode) +static size_t animdata_filter_mask_data(ListBase *anim_data, + Mask *mask, + const eAnimFilter_Flags filter_mode) { const MaskLayer *masklay_act = BKE_mask_layer_active(mask); size_t items = 0; @@ -2255,7 +2274,7 @@ static size_t animdata_filter_mask_data(ListBase *anim_data, Mask *mask, const i static size_t animdata_filter_mask(Main *bmain, ListBase *anim_data, void * /*data*/, - int filter_mode) + eAnimFilter_Flags filter_mode) { size_t items = 0; @@ -2306,7 +2325,7 @@ static size_t animdata_filter_ds_nodetree_group(bAnimContext *ac, bDopeSheet *ads, ID *owner_id, bNodeTree *ntree, - int filter_mode) + eAnimFilter_Flags filter_mode) { ListBase tmp_data = {nullptr, nullptr}; size_t tmp_items = 0; @@ -2344,7 +2363,7 @@ static size_t animdata_filter_ds_nodetree(bAnimContext *ac, bDopeSheet *ads, ID *owner_id, bNodeTree *ntree, - int filter_mode) + const eAnimFilter_Flags filter_mode) { size_t items = 0; @@ -2370,8 +2389,11 @@ static size_t animdata_filter_ds_nodetree(bAnimContext *ac, return items; } -static size_t animdata_filter_ds_linestyle( - bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, Scene *sce, int filter_mode) +static size_t animdata_filter_ds_linestyle(bAnimContext *ac, + ListBase *anim_data, + bDopeSheet *ads, + Scene *sce, + eAnimFilter_Flags filter_mode) { size_t items = 0; @@ -2434,7 +2456,7 @@ static size_t animdata_filter_ds_texture(bAnimContext *ac, bDopeSheet *ads, Tex *tex, ID *owner_id, - int filter_mode) + eAnimFilter_Flags filter_mode) { ListBase tmp_data = {nullptr, nullptr}; size_t tmp_items = 0; @@ -2482,8 +2504,11 @@ static size_t animdata_filter_ds_texture(bAnimContext *ac, /* NOTE: owner_id is the direct owner of the texture stack in question * It used to be Material/Light/World before the Blender Internal removal for 2.8 */ -static size_t animdata_filter_ds_textures( - bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, ID *owner_id, int filter_mode) +static size_t animdata_filter_ds_textures(bAnimContext *ac, + ListBase *anim_data, + bDopeSheet *ads, + ID *owner_id, + const eAnimFilter_Flags filter_mode) { MTex **mtex = nullptr; size_t items = 0; @@ -2528,8 +2553,11 @@ static size_t animdata_filter_ds_textures( return items; } -static size_t animdata_filter_ds_material( - bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, Material *ma, int filter_mode) +static size_t animdata_filter_ds_material(bAnimContext *ac, + ListBase *anim_data, + bDopeSheet *ads, + Material *ma, + eAnimFilter_Flags filter_mode) { ListBase tmp_data = {nullptr, nullptr}; size_t tmp_items = 0; @@ -2567,8 +2595,11 @@ static size_t animdata_filter_ds_material( return items; } -static size_t animdata_filter_ds_materials( - bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, Object *ob, int filter_mode) +static size_t animdata_filter_ds_materials(bAnimContext *ac, + ListBase *anim_data, + bDopeSheet *ads, + Object *ob, + const eAnimFilter_Flags filter_mode) { size_t items = 0; int a = 0; @@ -2598,7 +2629,7 @@ struct tAnimFilterModifiersContext { ListBase tmp_data; /* list of channels created (but not yet added to the main list) */ size_t items; /* number of channels created */ - int filter_mode; /* flags for stuff we want to filter */ + eAnimFilter_Flags filter_mode; /* flags for stuff we want to filter */ }; /* dependency walker callback for modifier dependencies */ @@ -2647,8 +2678,11 @@ static void animfilter_modifier_idpoin_cb(void *afm_ptr, Object *ob, ID **idpoin * attached to any other objects/materials/etc. in the scene */ /* TODO: do we want an expander for this? */ -static size_t animdata_filter_ds_modifiers( - bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, Object *ob, int filter_mode) +static size_t animdata_filter_ds_modifiers(bAnimContext *ac, + ListBase *anim_data, + bDopeSheet *ads, + Object *ob, + const eAnimFilter_Flags filter_mode) { tAnimFilterModifiersContext afm = {nullptr}; size_t items = 0; @@ -2679,8 +2713,11 @@ static size_t animdata_filter_ds_modifiers( /* ............ */ -static size_t animdata_filter_ds_particles( - bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, Object *ob, int filter_mode) +static size_t animdata_filter_ds_particles(bAnimContext *ac, + ListBase *anim_data, + bDopeSheet *ads, + Object *ob, + eAnimFilter_Flags filter_mode) { size_t items = 0; @@ -2728,8 +2765,11 @@ static size_t animdata_filter_ds_particles( return items; } -static size_t animdata_filter_ds_obdata( - bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, Object *ob, int filter_mode) +static size_t animdata_filter_ds_obdata(bAnimContext *ac, + ListBase *anim_data, + bDopeSheet *ads, + Object *ob, + eAnimFilter_Flags filter_mode) { ListBase tmp_data = {nullptr, nullptr}; size_t tmp_items = 0; @@ -2917,8 +2957,12 @@ static size_t animdata_filter_ds_obdata( } /* shapekey-level animation */ -static size_t animdata_filter_ds_keyanim( - bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, Object *ob, Key *key, int filter_mode) +static size_t animdata_filter_ds_keyanim(bAnimContext *ac, + ListBase *anim_data, + bDopeSheet *ads, + Object *ob, + Key *key, + eAnimFilter_Flags filter_mode) { ListBase tmp_data = {nullptr, nullptr}; size_t tmp_items = 0; @@ -2951,8 +2995,11 @@ static size_t animdata_filter_ds_keyanim( } /* object-level animation */ -static size_t animdata_filter_ds_obanim( - bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, Object *ob, int filter_mode) +static size_t animdata_filter_ds_obanim(bAnimContext *ac, + ListBase *anim_data, + bDopeSheet *ads, + Object *ob, + eAnimFilter_Flags filter_mode) { ListBase tmp_data = {nullptr, nullptr}; size_t tmp_items = 0; @@ -3014,8 +3061,11 @@ static size_t animdata_filter_ds_obanim( } /* get animation channels from object2 */ -static size_t animdata_filter_dopesheet_ob( - bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, Base *base, int filter_mode) +static size_t animdata_filter_dopesheet_ob(bAnimContext *ac, + ListBase *anim_data, + bDopeSheet *ads, + Base *base, + eAnimFilter_Flags filter_mode) { ListBase tmp_data = {nullptr, nullptr}; Object *ob = base->object; @@ -3103,8 +3153,12 @@ static size_t animdata_filter_dopesheet_ob( return items; } -static size_t animdata_filter_ds_world( - bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, Scene *sce, World *wo, int filter_mode) +static size_t animdata_filter_ds_world(bAnimContext *ac, + ListBase *anim_data, + bDopeSheet *ads, + Scene *sce, + World *wo, + eAnimFilter_Flags filter_mode) { ListBase tmp_data = {nullptr, nullptr}; size_t tmp_items = 0; @@ -3143,8 +3197,11 @@ static size_t animdata_filter_ds_world( return items; } -static size_t animdata_filter_ds_scene( - bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, Scene *sce, int filter_mode) +static size_t animdata_filter_ds_scene(bAnimContext *ac, + ListBase *anim_data, + bDopeSheet *ads, + Scene *sce, + eAnimFilter_Flags filter_mode) { ListBase tmp_data = {nullptr, nullptr}; size_t tmp_items = 0; @@ -3205,8 +3262,11 @@ static size_t animdata_filter_ds_scene( return items; } -static size_t animdata_filter_dopesheet_scene( - bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, Scene *sce, int filter_mode) +static size_t animdata_filter_dopesheet_scene(bAnimContext *ac, + ListBase *anim_data, + bDopeSheet *ads, + Scene *sce, + eAnimFilter_Flags filter_mode) { ListBase tmp_data = {nullptr, nullptr}; size_t tmp_items = 0; @@ -3269,8 +3329,11 @@ static size_t animdata_filter_dopesheet_scene( return items; } -static size_t animdata_filter_ds_movieclip( - bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, MovieClip *clip, int filter_mode) +static size_t animdata_filter_ds_movieclip(bAnimContext *ac, + ListBase *anim_data, + bDopeSheet *ads, + MovieClip *clip, + eAnimFilter_Flags filter_mode) { ListBase tmp_data = {nullptr, nullptr}; size_t tmp_items = 0; @@ -3302,7 +3365,7 @@ static size_t animdata_filter_ds_movieclip( static size_t animdata_filter_dopesheet_movieclips(bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, - int filter_mode) + const eAnimFilter_Flags filter_mode) { size_t items = 0; LISTBASE_FOREACH (MovieClip *, clip, &ac->bmain->movieclips) { @@ -3320,7 +3383,7 @@ static size_t animdata_filter_dopesheet_movieclips(bAnimContext *ac, static bool animdata_filter_base_is_ok(bDopeSheet *ads, Base *base, const eObjectMode object_mode, - int filter_mode) + const eAnimFilter_Flags filter_mode) { Object *ob = base->object; @@ -3423,7 +3486,7 @@ static int ds_base_sorting_cmp(const void *base1_ptr, const void *base2_ptr) static Base **animdata_filter_ds_sorted_bases(bDopeSheet *ads, const Scene *scene, ViewLayer *view_layer, - int filter_mode, + const eAnimFilter_Flags filter_mode, size_t *r_usable_bases) { /* Create an array with space for all the bases, but only containing the usable ones */ @@ -3453,7 +3516,7 @@ static Base **animdata_filter_ds_sorted_bases(bDopeSheet *ads, static size_t animdata_filter_dopesheet(bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, - int filter_mode) + eAnimFilter_Flags filter_mode) { Scene *scene = (Scene *)ads->source; ViewLayer *view_layer = (ViewLayer *)ac->view_layer; @@ -3549,7 +3612,7 @@ static size_t animdata_filter_dopesheet(bAnimContext *ac, */ static short animdata_filter_dopesheet_summary(bAnimContext *ac, ListBase *anim_data, - int filter_mode, + const eAnimFilter_Flags filter_mode, size_t *items) { bDopeSheet *ads = nullptr; @@ -3598,7 +3661,7 @@ static size_t animdata_filter_animchan(bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, bAnimListElem *channel, - int filter_mode) + const eAnimFilter_Flags filter_mode) { size_t items = 0; @@ -3695,7 +3758,7 @@ static size_t animdata_filter_remove_duplis(ListBase *anim_data) size_t ANIM_animdata_filter(bAnimContext *ac, ListBase *anim_data, - eAnimFilter_Flags filter_mode, + const eAnimFilter_Flags filter_mode, void *data, eAnimCont_Types datatype) { @@ -3820,11 +3883,9 @@ size_t ANIM_animdata_filter(bAnimContext *ac, break; } - /* unhandled */ - default: { - printf("ANIM_animdata_filter() - Invalid datatype argument %i\n", datatype); + case ANIMCONT_NONE: + printf("ANIM_animdata_filter() - Invalid datatype argument ANIMCONT_NONE\n"); break; - } } /* remove any 'weedy' entries */