Refactor: Anim: use enum type for filter_mode parameter
Use `enum` type for the `filter_mode` parameter of many functions. This makes debugging easier and just makes the code slightly easier to understand. Also make the function parameter `const` wherever possible. Unfortunately, due to the `BEGIN_ANIMFILTER_SUBCHANNELS` and `END_ANIMFILTER_SUBCHANNELS` macros (which modify `filter_mode`), this is possible less often than I'd like. No functional changes. Pull Request: https://projects.blender.org/blender/blender/pulls/122882
This commit is contained in:
@@ -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<FCurve *> 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 */
|
||||
|
||||
Reference in New Issue
Block a user