95 for (ale = anim_data.
first; ale; ale = ale->
next) {
97 if (channel_type != ale->
type) {
161 switch (channel_type) {
202 if (ale && ale->
adt) {
358 for (ale = anim_data.
first; ale; ale = ale->
next) {
486 const int matchLevel)
511 int prevLevel = matchLevel;
525 if (level == prevLevel) {
530 if (level > prevLevel) {
532 if (prevLevel == 0) {
557 const int matchLevel)
576 if (level > matchLevel) {
618 for (ale = anim_data->
first; ale; ale = ale->
next) {
624 if (ale->
id == ale_setting->
id) {
631 printf(
"ERROR: no channel matching the one changed was found\n");
638 printf(
"ERROR: no channel info for the changed channel\n");
974 const bool is_hidden)
978 bool is_sel =
false, is_untouchable =
false;
1010 "rearrange_animchannel_add_to_islands(): don't know how to handle channels of type %u\n",
1032 if (is_untouchable) {
1054 for (island = islands->
first; island; island = isn) {
1079 if (ale->type !=
type) {
1096 *anim_data_visible = anim_data;
1116 for (channel = list->
first; channel; channel = chanNext) {
1118 const bool is_hidden =
1120 chanNext = channel->
next;
1135 for (island = first; island; island = isn) {
1136 isn = (mode > 0) ? island->
prev : island->
next;
1139 if (rearrange_func(&islands, island)) {
1170 if (rearrange_func ==
NULL) {
1181 if (is_liboverride) {
1190 extracted_nonlocal_nla_tracks.
last = nla_track->
prev;
1229 if (rearrange_func ==
NULL) {
1262 FCurve *
const group_fcurves_first = agrp->channels.first;
1263 FCurve *
const group_fcurves_last = agrp->channels.last;
1264 if (group_fcurves_first ==
NULL) {
1275 group_fcurves_first->
prev->
next = group_fcurves_last->
next;
1278 if (group_fcurves_last == act->
curves.
last) {
1284 group_fcurves_last->
next->
prev = group_fcurves_first->
prev;
1370 if (rearrange_func ==
NULL) {
1427 if (rearrange_func ==
NULL) {
1462 if (rearrange_func ==
NULL) {
1470 for (ale = anim_data.
first; ale; ale = ale->
next) {
1522 printf(
"Mask does not supported for moving yet\n");
1537 for (ale = anim_data.
first; ale; ale = ale->
next) {
1557 printf(
"Animdata has no action\n");
1574 printf(
"Animdata has no action\n");
1595 ot->
name =
"Move Channels";
1596 ot->
idname =
"ANIM_OT_channels_move";
1631 switch (
area->spacetype) {
1678 if (anim_data.
first) {
1687 for (ale = anim_data.
first; ale; ale = ale->
next) {
1732 for (ale = anim_data.
first; ale; ale = ale->
next) {
1749 ot->
name =
"Group Channels";
1750 ot->
idname =
"ANIM_OT_channels_group";
1767 "Name of newly created group");
1792 for (ale = anim_data.
first; ale; ale = ale->
next) {
1826 ot->
name =
"Ungroup Channels";
1827 ot->
idname =
"ANIM_OT_channels_ungroup";
1828 ot->
description =
"Remove selected F-Curves from their current groups";
1885 for (ale = anim_data.
first; ale; ale = ale->
next) {
1927 for (ale = anim_data.
first; ale; ale = ale->
next) {
1928 switch (ale->
type) {
1944 if (
STREQ(fcu->rna_path,
"strip_time")) {
1947 else if (
STREQ(fcu->rna_path,
"influence")) {
1951 printf(
"ERROR: Trying to delete NLA Control Curve for unknown property '%s'\n",
1997 ot->
name =
"Delete Channels";
1998 ot->
idname =
"ANIM_OT_channels_delete";
2087 for (ale = anim_data.
first; ale; ale = ale->
next) {
2097 for (ale = anim_data.
first; ale; ale = ale->
next) {
2157 ot->
name =
"Enable Channel Setting";
2158 ot->
idname =
"ANIM_OT_channels_setting_enable";
2159 ot->
description =
"Enable specified setting on all selected animation channels";
2183 ot->
name =
"Disable Channel Setting";
2184 ot->
idname =
"ANIM_OT_channels_setting_disable";
2185 ot->
description =
"Disable specified setting on all selected animation channels";
2209 ot->
name =
"Toggle Channel Setting";
2210 ot->
idname =
"ANIM_OT_channels_setting_toggle";
2211 ot->
description =
"Toggle specified setting on all selected animation channels";
2235 ot->
name =
"Toggle Channel Editability";
2236 ot->
idname =
"ANIM_OT_channels_editable_toggle";
2237 ot->
description =
"Toggle editability of selected channels";
2261 bool onlysel =
true;
2285 ot->
name =
"Expand Channels";
2286 ot->
idname =
"ANIM_OT_channels_expand";
2287 ot->
description =
"Expand (open) all selected expandable animation channels";
2298 ot->
srna,
"all", 1,
"All",
"Expand all channels (not just selected ones)");
2306 bool onlysel =
true;
2330 ot->
name =
"Collapse Channels";
2331 ot->
idname =
"ANIM_OT_channels_collapse";
2332 ot->
description =
"Collapse (close) all selected expandable animation channels";
2343 ot->
srna,
"all",
true,
"All",
"Collapse all channels (not just selected ones)");
2376 for (ale = anim_data.
first; ale; ale = ale->
next) {
2380 bool action_empty =
false;
2381 bool nla_empty =
false;
2382 bool drivers_empty =
false;
2392 action_empty =
true;
2425 if (action_empty && nla_empty && drivers_empty) {
2442 ot->
name =
"Remove Empty Animation Data";
2443 ot->
idname =
"ANIM_OT_channels_clean_empty";
2444 ot->
description =
"Delete all empty animation data containers from visible data-blocks";
2492 for (ale = anim_data.
first; ale; ale = ale->
next) {
2519 ot->
name =
"Revive Disabled F-Curves";
2520 ot->
idname =
"ANIM_OT_channels_fcurves_enable";
2521 ot->
description =
"Clears 'disabled' tag from all F-Curves to get broken F-Curves working again";
2585 ot->
name =
"Find Channels";
2586 ot->
idname =
"ANIM_OT_channels_find";
2587 ot->
description =
"Filter the set of channels shown to only include those with matching names";
2603 "Text to search for in channel names");
2647 ot->
idname =
"ANIM_OT_channels_select_all";
2648 ot->
description =
"Toggle selection of all animation channels";
2690 for (ale = anim_data.
first; ale; ale = ale->
next) {
2706 if (!((ymax < rectf.ymin) || (ymin > rectf.ymax))) {
2711 switch (ale->
type) {
2745 short selectmode = 0;
2781 ot->
idname =
"ANIM_OT_channels_select_box";
2782 ot->
description =
"Select all animation channels within the specified region";
2808 bool success =
false;
2820 printf(
"Error: animation channel (index = %d) not found in rename_anim_channels()\n",
2897 return channel_index;
2925 ot->
name =
"Rename Channels";
2926 ot->
idname =
"ANIM_OT_channels_rename";
2938 const short selectmode)
2963 const short selectmode)
3016 const short selectmode)
3043 const short selectmode,
3080 else if (selectmode == -1) {
3125 const short selectmode,
3151 const short selectmode)
3199 const short selectmode,
3245 const short selectmode)
3265 const int channel_index,
3266 const short selectmode)
3271 int notifierFlags = 0;
3283 printf(
"Error: animation channel (index = %d) not found in mouse_anim_channels()\n",
3302 switch (ale->
type) {
3361 printf(
"Error: Invalid channel type in mouse_anim_channels()\n");
3370 return notifierFlags;
3382 int notifierFlags = 0;
3433 ot->
name =
"Mouse Click on Channels";
3434 ot->
idname =
"ANIM_OT_channels_click";
3435 ot->
description =
"Handle mouse clicks over animation channels";
3450 ot->
srna,
"children_only",
false,
"Select Children Only",
"");
3459 bool success =
false;
3473 printf(
"Error: animation channel (index = %d) not found in rename_anim_channels()\n",
3482 success = (fcu !=
NULL);
3487 if (fcu && fcu->
bezt) {
3493 for (ale = anim_data.
first; ale; ale = ale->
next) {
3497 for (i = 0, bezt = fcu_inner->
bezt; i < fcu_inner->totvert; i++, bezt++) {
3498 bezt->
f2 = bezt->
f1 = bezt->
f3 = 0;
3506 for (i = 0, bezt = fcu->
bezt; i < fcu->totvert; i++, bezt++) {
3546 ot->
name =
"Select Channel Keyframes";
3547 ot->
idname =
"ANIM_OT_channel_select_keys";
3548 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)
struct AnimData * BKE_animdata_from_id(struct ID *id)
void BKE_animdata_free(struct ID *id, const bool do_id_user)
struct ScrArea * CTX_wm_area(const bContext *C)
struct Scene * CTX_data_scene(const bContext *C)
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_layer_delete(struct bGPdata *gpd, struct bGPDlayer *gpl)
void BKE_gpencil_layer_autolock_set(struct bGPdata *gpd, const bool unlock)
void id_us_min(struct ID *id)
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)
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, const int offset) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
char * BLI_strncpy(char *__restrict dst, const char *__restrict src, const 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
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_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 type
_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
Read Guarded memory(de)allocation.
void UI_view2d_listview_view_to_cell(float columnwidth, float rowheight, float startx, float starty, float viewx, float viewy, int *column, int *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_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 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 ANIM_OT_channels_find(wmOperatorType *ot)
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 int animchannels_find_invoke(bContext *C, wmOperator *op, const wmEvent *event)
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 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 int animchannels_find_exec(bContext *C, wmOperator *op)
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 bool animchannels_find_poll(bContext *C)
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 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)
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)
static void area(int d1, int d2, int e1, int e2, float weights[2])
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_set(PointerRNA *ptr, const char *name, const char *value)
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
__forceinline const avxb select(const avxb &m, const avxb &t, const avxb &f)
ccl_device_inline float4 mask(const int4 &mask, const float4 &a)
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_props_popup(bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
int WM_menu_invoke(bContext *C, wmOperator *op, const wmEvent *UNUSED(event))