81 for (ale = anim_data.
first; ale; ale = ale->
next) {
83 if (channel_type != ale->
type) {
148 switch (channel_type) {
190 if (ale && ale->
adt) {
346 for (ale = anim_data.
first; ale; ale = ale->
next) {
473 const int matchLevel)
498 int prevLevel = matchLevel;
512 if (level == prevLevel) {
517 if (level > prevLevel) {
519 if (prevLevel == 0) {
544 const int matchLevel)
563 if (level > matchLevel) {
596 for (ale = anim_data->
first; ale; ale = ale->
next) {
602 if (ale->
id == ale_setting->
id) {
609 printf(
"ERROR: no channel matching the one changed was found\n");
616 printf(
"ERROR: no channel info for the changed channel\n");
949 const bool is_hidden)
953 bool is_sel =
false, is_untouchable =
false;
985 "rearrange_animchannel_add_to_islands(): don't know how to handle channels of type %u\n",
1007 if (is_untouchable) {
1029 for (island = islands->
first; island; island = isn) {
1054 if (ale->type !=
type) {
1071 *anim_data_visible = anim_data;
1091 for (channel = list->
first; channel; channel = chanNext) {
1093 const bool is_hidden =
1095 chanNext = channel->
next;
1110 for (island = first; island; island = isn) {
1111 isn = (mode > 0) ? island->
prev : island->
next;
1114 if (rearrange_func(&islands, island)) {
1145 if (rearrange_func ==
NULL) {
1156 if (is_liboverride) {
1165 extracted_nonlocal_nla_tracks.
last = nla_track->
prev;
1204 if (rearrange_func ==
NULL) {
1237 FCurve *
const group_fcurves_first = agrp->channels.first;
1238 FCurve *
const group_fcurves_last = agrp->channels.last;
1239 if (group_fcurves_first ==
NULL) {
1250 group_fcurves_first->
prev->
next = group_fcurves_last->
next;
1253 if (group_fcurves_last == act->
curves.
last) {
1259 group_fcurves_last->
next->
prev = group_fcurves_first->
prev;
1263 group_fcurves_first->
prev = group_fcurves_last->
next =
NULL;
1338 if (rearrange_func ==
NULL) {
1395 if (rearrange_func ==
NULL) {
1430 if (rearrange_func ==
NULL) {
1438 for (ale = anim_data.
first; ale; ale = ale->
next) {
1490 printf(
"Mask does not supported for moving yet\n");
1506 for (ale = anim_data.
first; ale; ale = ale->
next) {
1526 printf(
"Animdata has no action\n");
1543 printf(
"Animdata has no action\n");
1564 ot->
name =
"Move Channels";
1565 ot->
idname =
"ANIM_OT_channels_move";
1600 switch (
area->spacetype) {
1648 if (anim_data.
first) {
1657 for (ale = anim_data.
first; ale; ale = ale->
next) {
1702 for (ale = anim_data.
first; ale; ale = ale->
next) {
1719 ot->
name =
"Group Channels";
1720 ot->
idname =
"ANIM_OT_channels_group";
1737 "Name of newly created group");
1762 for (ale = anim_data.
first; ale; ale = ale->
next) {
1796 ot->
name =
"Ungroup Channels";
1797 ot->
idname =
"ANIM_OT_channels_ungroup";
1798 ot->
description =
"Remove selected F-Curves from their current groups";
1855 for (ale = anim_data.
first; ale; ale = ale->
next) {
1897 for (ale = anim_data.
first; ale; ale = ale->
next) {
1898 switch (ale->
type) {
1914 if (
STREQ(fcu->rna_path,
"strip_time")) {
1917 else if (
STREQ(fcu->rna_path,
"influence")) {
1921 printf(
"ERROR: Trying to delete NLA Control Curve for unknown property '%s'\n",
1978 ot->
name =
"Delete Channels";
1979 ot->
idname =
"ANIM_OT_channels_delete";
2068 for (ale = anim_data.
first; ale; ale = ale->
next) {
2078 for (ale = anim_data.
first; ale; ale = ale->
next) {
2138 ot->
name =
"Enable Channel Setting";
2139 ot->
idname =
"ANIM_OT_channels_setting_enable";
2140 ot->
description =
"Enable specified setting on all selected animation channels";
2164 ot->
name =
"Disable Channel Setting";
2165 ot->
idname =
"ANIM_OT_channels_setting_disable";
2166 ot->
description =
"Disable specified setting on all selected animation channels";
2190 ot->
name =
"Toggle Channel Setting";
2191 ot->
idname =
"ANIM_OT_channels_setting_toggle";
2192 ot->
description =
"Toggle specified setting on all selected animation channels";
2216 ot->
name =
"Toggle Channel Editability";
2217 ot->
idname =
"ANIM_OT_channels_editable_toggle";
2218 ot->
description =
"Toggle editability of selected channels";
2242 bool onlysel =
true;
2266 ot->
name =
"Expand Channels";
2267 ot->
idname =
"ANIM_OT_channels_expand";
2268 ot->
description =
"Expand (open) all selected expandable animation channels";
2279 ot->
srna,
"all", 1,
"All",
"Expand all channels (not just selected ones)");
2287 bool onlysel =
true;
2311 ot->
name =
"Collapse Channels";
2312 ot->
idname =
"ANIM_OT_channels_collapse";
2313 ot->
description =
"Collapse (close) all selected expandable animation channels";
2324 ot->
srna,
"all",
true,
"All",
"Collapse all channels (not just selected ones)");
2357 for (ale = anim_data.
first; ale; ale = ale->
next) {
2361 bool action_empty =
false;
2362 bool nla_empty =
false;
2363 bool drivers_empty =
false;
2373 action_empty =
true;
2406 if (action_empty && nla_empty && drivers_empty) {
2424 ot->
name =
"Remove Empty Animation Data";
2425 ot->
idname =
"ANIM_OT_channels_clean_empty";
2426 ot->
description =
"Delete all empty animation data containers from visible data-blocks";
2474 for (ale = anim_data.
first; ale; ale = ale->
next) {
2501 ot->
name =
"Revive Disabled F-Curves";
2502 ot->
idname =
"ANIM_OT_channels_fcurves_enable";
2503 ot->
description =
"Clears 'disabled' tag from all F-Curves to get broken F-Curves working again";
2574 ot->
name =
"Filter Channels";
2575 ot->
idname =
"ANIM_OT_channels_select_filter";
2577 "Start entering text which filters the set of channels shown to only include those with "
2627 ot->
idname =
"ANIM_OT_channels_select_all";
2628 ot->
description =
"Toggle selection of all animation channels";
2670 for (ale = anim_data.
first; ale; ale = ale->
next) {
2686 if (!((ymax < rectf.ymin) || (ymin > rectf.ymax))) {
2691 switch (ale->
type) {
2725 short selectmode = 0;
2761 ot->
idname =
"ANIM_OT_channels_select_box";
2762 ot->
description =
"Select all animation channels within the specified region";
2788 bool success =
false;
2803 printf(
"Error: animation channel (index = %d) not found in rename_anim_channels()\n",
2825 switch (ale->
type) {
2903 return channel_index;
2931 ot->
name =
"Rename Channels";
2932 ot->
idname =
"ANIM_OT_channels_rename";
2944 const short selectmode)
2969 const short selectmode)
2995 if (
b->object->adt) {
3022 const short selectmode)
3049 const short selectmode,
3086 else if (selectmode == -1) {
3131 const short selectmode,
3157 const short selectmode)
3205 const short selectmode,
3251 const short selectmode)
3271 const int channel_index,
3272 const short selectmode)
3277 int notifierFlags = 0;
3293 printf(
"Error: animation channel (index = %d) not found in mouse_anim_channels()\n",
3312 switch (ale->
type) {
3371 printf(
"Error: Invalid channel type in mouse_anim_channels()\n");
3380 return notifierFlags;
3392 int notifierFlags = 0;
3444 ot->
name =
"Mouse Click on Channels";
3445 ot->
idname =
"ANIM_OT_channels_click";
3446 ot->
description =
"Handle mouse clicks over animation channels";
3472 bool success =
false;
3487 printf(
"Error: animation channel (index = %d) not found in rename_anim_channels()\n",
3502 success = (fcu !=
NULL);
3507 if (fcu && fcu->
bezt) {
3513 for (ale = anim_data.
first; ale; ale = ale->
next) {
3517 for (i = 0, bezt = fcu_inner->
bezt; i < fcu_inner->totvert; i++, bezt++) {
3518 bezt->
f2 = bezt->
f1 = bezt->
f3 = 0;
3526 for (i = 0, bezt = fcu->
bezt; i < fcu->totvert; i++, bezt++) {
3566 ot->
name =
"Select Channel Keyframes";
3567 ot->
idname =
"ANIM_OT_channel_select_keys";
3568 ot->
description =
"Select all keyframes of channel under mouse";
Blender kernel action and pose functionality.
struct bActionGroup * action_groups_add_new(struct bAction *act, const char name[])
struct bPoseChannel * BKE_pose_channel_find_name(const struct bPose *pose, const char *name)
void action_groups_remove_channel(struct bAction *act, struct FCurve *fcu)
void action_groups_add_channel(struct bAction *act, struct bActionGroup *agrp, struct FCurve *fcurve)
void BKE_animdata_free(struct ID *id, bool do_id_user)
struct AnimData * BKE_animdata_from_id(const struct ID *id)
struct ScrArea * CTX_wm_area(const bContext *C)
struct Scene * CTX_data_scene(const bContext *C)
void CTX_wm_region_set(bContext *C, struct ARegion *region)
struct SpaceLink * CTX_wm_space_data(const bContext *C)
struct ARegion * CTX_wm_region(const bContext *C)
struct Main * CTX_data_main(const bContext *C)
void BKE_fcurve_free(struct FCurve *fcu)
void BKE_gpencil_layer_active_set(struct bGPdata *gpd, struct bGPDlayer *active)
void BKE_gpencil_free_data(struct bGPdata *gpd, bool free_all)
void BKE_gpencil_layer_delete(struct bGPdata *gpd, struct bGPDlayer *gpl)
void BKE_gpencil_layer_autolock_set(struct bGPdata *gpd, bool unlock)
void id_us_min(struct ID *id)
void BKE_id_free_us(struct Main *bmain, void *idv) ATTR_NONNULL()
void BKE_mask_layer_remove(struct Mask *mask, struct MaskLayer *masklay)
bool BKE_nlatrack_is_nonlocal_in_liboverride(const struct ID *id, const struct NlaTrack *nlt)
struct ARegion * BKE_area_find_region_type(const struct ScrArea *area, int type)
BLI_INLINE bool BLI_listbase_is_empty(const struct ListBase *lb)
#define LISTBASE_FOREACH(type, var, list)
void BLI_freelinkN(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
#define LISTBASE_FOREACH_MUTABLE(type, var, list)
void BLI_insertlinkafter(struct ListBase *listbase, void *vprevlink, void *vnewlink) ATTR_NONNULL(1)
void void void BLI_movelisttolist(struct ListBase *dst, struct ListBase *src) ATTR_NONNULL(1
void void BLI_freelistN(struct ListBase *listbase) ATTR_NONNULL(1)
void BLI_addtail(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
void BLI_remlink(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
void BLI_insertlinkbefore(struct ListBase *listbase, void *vnextlink, void *vnewlink) ATTR_NONNULL(1)
void * BLI_findlink(const struct ListBase *listbase, int number) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
void * BLI_findptr(const struct ListBase *listbase, const void *ptr, int offset) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
char * BLI_strncpy(char *__restrict dst, const char *__restrict src, size_t maxncpy) ATTR_NONNULL()
void DEG_id_tag_update_ex(struct Main *bmain, struct ID *id, int flag)
void DEG_id_tag_update(struct ID *id, int flag)
void DEG_relations_tag_update(struct Main *bmain)
#define ID_IS_LINKED(_id)
#define ID_IS_OVERRIDE_LIBRARY(_id)
@ NLASTRIP_FLAG_USR_INFLUENCE
@ ADT_NLA_SKEYS_COLLAPSED
@ NLATRACK_OVERRIDELIBRARY_LOCAL
Object is a sort of wrapper for general info.
@ ACHANNEL_SETFLAG_TOGGLE
@ ACHANNEL_SETFLAG_INVERT
#define ACHANNEL_NAMEWIDTH
#define ACHANNEL_FIRST_TOP(ac)
#define NLACHANNEL_STEP(snla)
#define NLACHANNEL_NAMEWIDTH
#define EXPANDED_AGRP(ac, agrp)
#define NLACHANNEL_FIRST_TOP(ac)
@ ACHANNEL_SETTING_ALWAYS_VISIBLE
@ ACHANNEL_SETTING_PROTECT
@ ACHANNEL_SETTING_VISIBLE
@ ACHANNEL_SETTING_EXPAND
@ ACHANNEL_SETTING_SELECT
#define ACHANNEL_STEP(ac)
#define ACHANNEL_SET_FLAG(channel, smode, sflag)
#define EXPANDED_DRVD(adt)
@ ANIMFILTER_DATA_VISIBLE
@ ANIMFILTER_CURVE_VISIBLE
@ ANIMFILTER_LIST_VISIBLE
@ ANIMFILTER_LIST_CHANNELS
void ED_object_base_activate_with_mode_exit_if_needed(struct bContext *C, struct Base *base)
void ED_object_base_select(struct Base *base, eObjectSelect_Mode mode)
void ED_region_toggle_hidden(struct bContext *C, struct ARegion *region)
void ED_region_tag_redraw(struct ARegion *region)
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint y
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum type
Read Guarded memory(de)allocation.
bool UI_textbutton_activate_rna(const struct bContext *C, struct ARegion *region, const void *rna_poin_data, const char *rna_prop_id)
void UI_view2d_listview_view_to_cell(float columnwidth, float rowheight, float startx, float starty, float viewx, float viewy, int *r_column, int *r_row)
void UI_view2d_region_to_view(const struct View2D *v2d, float x, float y, float *r_view_x, float *r_view_y) ATTR_NONNULL()
#define ND_SPACE_PROPERTIES
void ANIM_channel_setting_set(bAnimContext *ac, bAnimListElem *ale, eAnimChannel_Settings setting, eAnimChannels_SetFlag mode)
short ANIM_channel_setting_get(bAnimContext *ac, bAnimListElem *ale, eAnimChannel_Settings setting)
const bAnimChannelType * ANIM_channel_get_typeinfo(bAnimListElem *ale)
static int animchannels_select_filter_invoke(struct bContext *C, struct wmOperator *op, const struct wmEvent *UNUSED(event))
static int animchannels_expand_exec(bContext *C, wmOperator *op)
static int animchannels_collapse_exec(bContext *C, wmOperator *op)
static int animchannels_rename_invoke(bContext *C, wmOperator *UNUSED(op), const wmEvent *event)
static void rearrange_gpencil_channels(bAnimContext *ac, eRearrangeAnimChan_Mode mode)
void ED_operatortypes_animchannels(void)
static int animchannels_rearrange_exec(bContext *C, wmOperator *op)
static void anim_flush_channel_setting_down(bAnimContext *ac, const eAnimChannel_Settings setting, const eAnimChannels_SetFlag mode, bAnimListElem *const match, const int matchLevel)
static int animchannels_delete_exec(bContext *C, wmOperator *UNUSED(op))
void ANIM_flush_setting_anim_channels(bAnimContext *ac, ListBase *anim_data, bAnimListElem *ale_setting, eAnimChannel_Settings setting, eAnimChannels_SetFlag mode)
void ANIM_anim_channels_select_set(bAnimContext *ac, eAnimChannels_SetFlag sel)
static bool animchannels_enable_poll(bContext *C)
static void join_groups_action_temp(bAction *act)
static void tag_update_animation_element(bAnimListElem *ale)
static void ANIM_OT_channel_select_keys(wmOperatorType *ot)
@ REORDER_ISLAND_UNTOUCHABLE
@ REORDER_ISLAND_SELECTED
void ED_keymap_animchannels(wmKeyConfig *keyconf)
static void split_groups_action_temp(bAction *act, bActionGroup *tgrp)
static bool animchannels_select_filter_poll(bContext *C)
static const EnumPropertyItem prop_animchannel_rearrange_types[]
static void setflag_anim_channels(bAnimContext *ac, eAnimChannel_Settings setting, eAnimChannels_SetFlag mode, bool onlysel, bool flush)
static void ANIM_OT_channels_clean_empty(wmOperatorType *ot)
static bool rearrange_island_bottom(ListBase *list, tReorderChannelIsland *island)
static void rearrange_animchannel_add_to_islands(ListBase *islands, ListBase *srcList, Link *channel, eAnim_ChannelType type, const bool is_hidden)
static void box_select_anim_channels(bAnimContext *ac, rcti *rect, short selectmode)
static bool rearrange_island_up(ListBase *list, tReorderChannelIsland *island)
static int animchannels_group_exec(bContext *C, wmOperator *op)
static bool select_anim_channel_keys(bAnimContext *ac, int channel_index, bool extend)
static int click_select_channel_maskdatablock(bAnimListElem *ale)
static int click_select_channel_object(bContext *C, bAnimContext *ac, bAnimListElem *ale, const short selectmode)
static void rearrange_nla_channels(bAnimContext *ac, AnimData *adt, eRearrangeAnimChan_Mode mode)
static void anim_flush_channel_setting_up(bAnimContext *ac, const eAnimChannel_Settings setting, const eAnimChannels_SetFlag mode, bAnimListElem *const match, const int matchLevel)
static void ANIM_OT_channels_delete(wmOperatorType *ot)
static int animchannels_channel_get(bAnimContext *ac, const int mval[2])
static int click_select_channel_group(bAnimContext *ac, bAnimListElem *ale, const short selectmode, const int filter)
bool(* AnimChanRearrangeFp)(ListBase *list, tReorderChannelIsland *island)
static void rearrange_driver_channels(bAnimContext *ac, AnimData *adt, eRearrangeAnimChan_Mode mode)
static void rearrange_animchannel_flatten_islands(ListBase *islands, ListBase *srcList)
static const EnumPropertyItem prop_animchannel_settings_types[]
bool ANIM_remove_empty_action_from_animdata(struct AnimData *adt)
static bool animedit_poll_channels_active(bContext *C)
static int animchannels_ungroup_exec(bContext *C, wmOperator *UNUSED(op))
static ListBase anim_channels_for_selection(bAnimContext *ac)
static void ANIM_OT_channels_expand(wmOperatorType *ot)
static void ANIM_OT_channels_rename(wmOperatorType *ot)
static int click_select_channel_shapekey(bAnimContext *ac, bAnimListElem *ale, const short selectmode)
static bool animedit_poll_channels_nla_tweakmode_off(bContext *C)
void ANIM_set_active_channel(bAnimContext *ac, void *data, eAnimCont_Types datatype, eAnimFilter_Flags filter, void *channel_data, eAnim_ChannelType channel_type)
static int click_select_channel_gpdatablock(bAnimListElem *ale)
static void animchannels_group_channels(bAnimContext *ac, bAnimListElem *adt_ref, const char name[])
static bool rename_anim_channels(bAnimContext *ac, int channel_index)
static int animchannels_select_filter_modal(bContext *C, wmOperator *UNUSED(op), const wmEvent *UNUSED(event))
static int click_select_channel_nlacontrols(bAnimListElem *ale)
static bool rearrange_island_down(ListBase *list, tReorderChannelIsland *island)
static void ANIM_OT_channels_select_box(wmOperatorType *ot)
static void ANIM_OT_channels_editable_toggle(wmOperatorType *ot)
static bool rearrange_island_top(ListBase *list, tReorderChannelIsland *island)
static int animchannels_enable_exec(bContext *C, wmOperator *UNUSED(op))
static int animchannels_selectall_exec(bContext *C, wmOperator *op)
static void ANIM_OT_channels_fcurves_enable(wmOperatorType *ot)
static void ANIM_OT_channels_ungroup(wmOperatorType *ot)
static void rearrange_action_channels(bAnimContext *ac, bAction *act, eRearrangeAnimChan_Mode mode)
static int click_select_channel_gplayer(bContext *C, bAnimContext *ac, bAnimListElem *ale, const short selectmode, const int filter)
static bool rearrange_animchannel_islands(ListBase *list, AnimChanRearrangeFp rearrange_func, eRearrangeAnimChan_Mode mode, eAnim_ChannelType type, ListBase *anim_data_visible)
static void ANIM_OT_channels_setting_enable(wmOperatorType *ot)
static void ANIM_OT_channels_setting_toggle(wmOperatorType *ot)
static bool animchannels_grouping_poll(bContext *C)
static void ANIM_OT_channels_move(wmOperatorType *ot)
static int animchannels_channel_select_keys_invoke(bContext *C, wmOperator *op, const wmEvent *event)
static AnimChanRearrangeFp rearrange_get_mode_func(eRearrangeAnimChan_Mode mode)
void ANIM_anim_channels_select_toggle(bAnimContext *ac)
static void rearrange_nla_control_channels(bAnimContext *ac, AnimData *adt, eRearrangeAnimChan_Mode mode)
static int mouse_anim_channels(bContext *C, bAnimContext *ac, const int channel_index, const short selectmode)
static AnimChanRearrangeFp rearrange_gpencil_get_mode_func(eRearrangeAnimChan_Mode mode)
static bool rearrange_island_ok(tReorderChannelIsland *island)
static void ANIM_OT_channels_group(wmOperatorType *ot)
static void ANIM_OT_channels_select_filter(wmOperatorType *ot)
static int click_select_channel_dummy(bAnimContext *ac, bAnimListElem *ale, const short selectmode)
static void anim_channels_select_set(bAnimContext *ac, const ListBase anim_data, eAnimChannels_SetFlag sel)
static void ANIM_OT_channels_setting_disable(wmOperatorType *ot)
static void ANIM_OT_channels_click(wmOperatorType *ot)
struct tReorderChannelIsland tReorderChannelIsland
static eAnimChannels_SetFlag anim_channels_selection_flag_for_toggle(const ListBase anim_data)
static int animchannels_mouseclick_invoke(bContext *C, wmOperator *op, const wmEvent *event)
static int animchannels_box_select_exec(bContext *C, wmOperator *op)
static int click_select_channel_scene(bAnimListElem *ale, const short selectmode)
static const EnumPropertyItem prop_animchannel_setflag_types[]
static int animchannels_setflag_exec(bContext *C, wmOperator *op)
static void select_pchan_for_action_group(bAnimContext *ac, bActionGroup *agrp, bAnimListElem *ale)
@ REARRANGE_ANIMCHAN_DOWN
@ REARRANGE_ANIMCHAN_BOTTOM
static int click_select_channel_masklayer(bAnimContext *ac, bAnimListElem *ale, const short selectmode)
static int click_select_channel_fcurve(bAnimContext *ac, bAnimListElem *ale, const short selectmode, const int filter)
static void rearrange_animchannels_filter_visible(ListBase *anim_data_visible, bAnimContext *ac, eAnim_ChannelType type)
static void ANIM_OT_channels_collapse(wmOperatorType *ot)
static void ANIM_OT_channels_select_all(wmOperatorType *ot)
static int animchannels_clean_empty_exec(bContext *C, wmOperator *UNUSED(op))
void ANIM_fcurve_delete_from_animdata(bAnimContext *ac, AnimData *adt, FCurve *fcu)
void ANIM_animdata_freelist(ListBase *anim_data)
void ANIM_animdata_update(bAnimContext *ac, ListBase *anim_data)
bool ANIM_animdata_get_context(const bContext *C, bAnimContext *ac)
size_t ANIM_animdata_filter(bAnimContext *ac, ListBase *anim_data, eAnimFilter_Flags filter_mode, void *data, eAnimCont_Types datatype)
__forceinline const avxb select(const avxb &m, const avxb &t, const avxb &f)
return(oflags[bm->toolflag_index].f &oflag) !=0
DO_INLINE void filter(lfVector *V, fmatrix3x3 *S)
void(* MEM_freeN)(void *vmemh)
void *(* MEM_callocN)(size_t len, const char *str)
ccl_device_inline float4 mask(const int4 &mask, const float4 &a)
static void area(int d1, int d2, int e1, int e2, float weights[2])
SymEdge< T > * prev(const SymEdge< T > *se)
static const pxr::TfToken b("b", pxr::TfToken::Immortal)
bool ED_pose_deselect_all(Object *ob, int select_mode, const bool ignore_visibility)
void ED_pose_bone_select(Object *ob, bPoseChannel *pchan, bool select)
void RNA_string_get(PointerRNA *ptr, const char *name, char *value)
bool RNA_boolean_get(PointerRNA *ptr, const char *name)
int RNA_enum_get(PointerRNA *ptr, const char *name)
PropertyRNA * RNA_def_boolean(StructOrFunctionRNA *cont_, const char *identifier, bool default_value, const char *ui_name, const char *ui_description)
PropertyRNA * RNA_def_string(StructOrFunctionRNA *cont_, const char *identifier, const char *default_value, int maxlen, const char *ui_name, const char *ui_description)
void RNA_def_property_flag(PropertyRNA *prop, PropertyFlag flag)
PropertyRNA * RNA_def_enum(StructOrFunctionRNA *cont_, const char *identifier, const EnumPropertyItem *items, int default_value, const char *ui_name, const char *ui_description)
struct bActionGroup * next
short(* get_offset)(bAnimContext *ac, bAnimListElem *ale)
bool(* name_prop)(bAnimListElem *ale, struct PointerRNA *ptr, struct PropertyRNA **prop)
struct ViewLayer * view_layer
struct ID * fcurve_owner_id
struct bAnimListElem * next
struct bAnimListElem * prev
struct tReorderChannelIsland * next
struct tReorderChannelIsland * prev
int(* invoke)(struct bContext *, struct wmOperator *, const struct wmEvent *) ATTR_WARN_UNUSED_RESULT
int(* modal)(struct bContext *, struct wmOperator *, const struct wmEvent *) ATTR_WARN_UNUSED_RESULT
bool(* poll)(struct bContext *) ATTR_WARN_UNUSED_RESULT
void(* cancel)(struct bContext *, struct wmOperator *)
int(* exec)(struct bContext *, struct wmOperator *) ATTR_WARN_UNUSED_RESULT
wmEventHandler_Op * WM_event_add_modal_handler(bContext *C, wmOperator *op)
void WM_main_add_notifier(unsigned int type, void *reference)
void WM_event_add_notifier(const bContext *C, uint type, void *reference)
void WM_gesture_box_cancel(bContext *C, wmOperator *op)
int WM_gesture_box_invoke(bContext *C, wmOperator *op, const wmEvent *event)
int WM_gesture_box_modal(bContext *C, wmOperator *op, const wmEvent *event)
wmKeyMap * WM_keymap_ensure(wmKeyConfig *keyconf, const char *idname, int spaceid, int regionid)
void WM_operator_properties_border_to_rcti(struct wmOperator *op, rcti *rect)
void WM_operator_properties_gesture_box_select(wmOperatorType *ot)
void WM_operator_properties_select_all(wmOperatorType *ot)
void WM_operatortype_append(void(*opfunc)(wmOperatorType *))
int WM_operator_flag_only_pass_through_on_press(int retval, const struct wmEvent *event)
int WM_operator_props_popup(bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
int WM_menu_invoke(bContext *C, wmOperator *op, const wmEvent *UNUSED(event))