100 for (ale = anim_data.
first; ale; ale = ale->
next) {
150 if (ale->
adt && adt_ptr) {
294 uiItemL(row,
"", ICON_SMALL_TRI_RIGHT_VEC);
309 "NLA_OT_action_unlink",
316 uiItemR(row, &adt_ptr,
"action_extrapolation", 0,
IFACE_(
"Extrapolation"), ICON_NONE);
320 uiItemR(row, &adt_ptr,
"action_blend_type", 0,
IFACE_(
"Blending"), ICON_NONE);
324 uiItemR(row, &adt_ptr,
"action_influence", 0,
IFACE_(
"Influence"), ICON_NONE);
349 uiItemL(row,
"", ICON_ARROW_LEFTRIGHT);
352 uiItemL(row,
"", ICON_SEQ_STRIP_META);
358 uiItemR(row, &strip_ptr,
"name", 0,
"", ICON_NLA);
361 uiItemR(row, &strip_ptr,
"mute", 0,
"", ICON_NONE);
372 short showEvalProps = 1;
389 uiItemR(column, &strip_ptr,
"frame_start", 0,
IFACE_(
"Frame Start"), ICON_NONE);
390 uiItemR(column, &strip_ptr,
"frame_end", 0,
IFACE_(
"End"), ICON_NONE);
403 uiItemR(column, &strip_ptr,
"extrapolation", 0,
NULL, ICON_NONE);
404 uiItemR(column, &strip_ptr,
"blend_type", 0,
NULL, ICON_NONE);
414 uiItemR(column, &strip_ptr,
"blend_in", 0,
IFACE_(
"Blend In"), ICON_NONE);
415 uiItemR(column, &strip_ptr,
"blend_out", 0,
IFACE_(
"Out"), ICON_NONE);
419 uiItemR(row, &strip_ptr,
"use_auto_blend", 0,
NULL, ICON_NONE);
427 uiItemR(row, &strip_ptr,
"use_reverse", 0,
NULL, ICON_NONE);
429 uiItemR(column, &strip_ptr,
"use_animated_time_cyclic", 0,
NULL, ICON_NONE);
454 uiItemR(row, &strip_ptr,
"action", 0,
NULL, ICON_ACTION);
458 uiItemR(column, &strip_ptr,
"action_frame_start", 0,
IFACE_(
"Frame Start"), ICON_NONE);
459 uiItemR(column, &strip_ptr,
"action_frame_end", 0,
IFACE_(
"End"), ICON_NONE);
462 uiItemR(row, &strip_ptr,
"use_sync_length", 0,
"", ICON_NONE);
463 uiItemO(row,
IFACE_(
"Now"), ICON_FILE_REFRESH,
"NLA_OT_action_sync_length");
468 uiItemR(column, &strip_ptr,
"scale", 0,
IFACE_(
"Playback Scale"), ICON_NONE);
469 uiItemR(column, &strip_ptr,
"repeat", 0,
NULL, ICON_NONE);
489 uiItemR(
col, &strip_ptr,
"use_animated_influence", 0,
"", ICON_NONE);
509 uiItemR(layout, &strip_ptr,
"influence", 0,
NULL, ICON_NONE);
528 uiItemR(
col, &strip_ptr,
"use_animated_time", 0,
"", ICON_NONE);
547 uiItemR(layout, &strip_ptr,
"strip_time", 0,
NULL, ICON_NONE);
550 #define NLA_FMODIFIER_PANEL_PREFIX "NLA"
573 strip = strip_ptr.
data;
586 row, (
bContext *)
C,
"NLA_OT_fmodifier_add",
"type",
IFACE_(
"Add Modifier"), ICON_NONE);
590 uiItemO(row,
"", ICON_COPYDOWN,
"NLA_OT_fmodifier_copy");
591 uiItemO(row,
"", ICON_PASTEDOWN,
"NLA_OT_fmodifier_paste");
604 strcpy(pt->
idname,
"NLA_PT_animdata");
605 strcpy(pt->
label,
N_(
"Animation Data"));
606 strcpy(pt->
category,
"Edited Action");
614 strcpy(pt->
idname,
"NLA_PT_stripname");
615 strcpy(pt->
label,
N_(
"Active Strip Name"));
624 strcpy(pt->
idname,
"NLA_PT_properties");
625 strcpy(pt->
label,
N_(
"Active Strip"));
633 strcpy(pt->
idname,
"NLA_PT_actionclip");
634 strcpy(pt->
label,
N_(
"Action Clip"));
643 strcpy(pt->
idname,
"NLA_PT_evaluation");
644 strcpy(pt->
parent_id,
"NLA_PT_properties");
645 strcpy(pt->
label,
N_(
"Animated Influence"));
650 pt->
parent = pt_properties;
657 strcpy(pt->
idname,
"NLA_PT_animated_strip_time");
658 strcpy(pt->
parent_id,
"NLA_PT_properties");
659 strcpy(pt->
label,
N_(
"Animated Strip Time"));
664 pt->
parent = pt_properties;
671 strcpy(pt->
idname,
"NLA_PT_modifiers");
672 strcpy(pt->
label,
N_(
"Modifiers"));
const FModifierTypeInfo * get_fmodifier_typeinfo(const int type)
struct NlaStrip * BKE_nlastrip_find_active(struct NlaTrack *nlt)
@ PANEL_TYPE_DEFAULT_CLOSED
struct LinkData * BLI_genericNodeN(void *data)
void BLI_addtail(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
size_t BLI_snprintf(char *__restrict dst, size_t maxncpy, const char *__restrict format,...) ATTR_NONNULL(1
#define BLT_I18NCONTEXT_DEFAULT_BPYRNA
@ NLASTRIP_TYPE_TRANSITION
@ ANIMFILTER_DATA_VISIBLE
@ ANIMFILTER_LIST_VISIBLE
@ ANIMFILTER_LIST_CHANNELS
_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.
uiLayout * uiLayoutRowWithHeading(uiLayout *layout, bool align, const char *heading)
void uiLayoutSetActive(uiLayout *layout, bool active)
uiBlock * uiLayoutGetBlock(uiLayout *layout)
@ UI_EMBOSS_NONE_OR_STATUS
uiLayout * uiLayoutColumnWithHeading(uiLayout *layout, bool align, const char *heading)
void uiLayoutSetEnabled(uiLayout *layout, bool enabled)
uiLayout * uiLayoutColumn(uiLayout *layout, bool align)
void uiItemL(uiLayout *layout, const char *name, int icon)
void uiItemMenuEnumO(uiLayout *layout, struct bContext *C, const char *opname, const char *propname, const char *name, int icon)
void uiTemplateID(uiLayout *layout, const struct bContext *C, struct PointerRNA *ptr, const char *propname, const char *newop, const char *openop, const char *unlinkop, int filter, const bool live_icon, const char *text)
void uiLayoutSetAlignment(uiLayout *layout, char alignment)
void uiLayoutSetPropSep(uiLayout *layout, bool is_sep)
void UI_block_func_handle_set(uiBlock *block, uiBlockHandleFunc func, void *arg)
void uiItemS(uiLayout *layout)
uiLayout * uiLayoutRow(uiLayout *layout, bool align)
@ UI_TEMPLATE_ID_FILTER_ALL
void UI_block_emboss_set(uiBlock *block, eUIEmbossType emboss)
void uiItemR(uiLayout *layout, struct PointerRNA *ptr, const char *propname, int flag, const char *name, int icon)
void uiItemO(uiLayout *layout, const char *name, int icon, const char *opname)
void uiLayoutSetPropDecorate(uiLayout *layout, bool is_sep)
void ANIM_animdata_freelist(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)
void ANIM_modifier_panels_register_graph_and_NLA(ARegionType *region_type, const char *modifier_panel_prefix, PanelTypePollFn poll_function)
void ANIM_fmodifier_panels(const bContext *C, ID *owner_id, ListBase *fmodifiers, uiListPanelIDFromDataFunc panel_id_fn)
DO_INLINE void filter(lfVector *V, fmatrix3x3 *S)
void *(* MEM_callocN)(size_t len, const char *str)
void RNA_pointer_create(ID *id, StructRNA *type, void *data, PointerRNA *r_ptr)
void RNA_id_pointer_create(ID *id, PointerRNA *r_ptr)
int RNA_struct_ui_icon(const StructRNA *type)
bool RNA_boolean_get(PointerRNA *ptr, const char *name)
int RNA_enum_get(PointerRNA *ptr, const char *name)
void(* draw)(const struct bContext *C, struct Panel *panel)
bool(* poll)(const struct bContext *C, struct PanelType *pt)
void(* draw_header)(const struct bContext *C, struct Panel *panel)
char idname[BKE_ST_MAXNAME]
char translation_context[BKE_ST_MAXNAME]
char category[BKE_ST_MAXNAME]
struct PanelType * parent
char label[BKE_ST_MAXNAME]
char parent_id[BKE_ST_MAXNAME]
struct bAnimListElem * next
void WM_event_add_notifier(const bContext *C, uint type, void *reference)