32 #include "RNA_prototypes.h"
85 for (ale = anim_data.
first; ale; ale = ale->
next) {
135 if (ale->
adt && adt_ptr) {
305 uiItemL(row,
"", ICON_RIGHTARROW);
320 "NLA_OT_action_unlink",
327 uiItemR(row, &adt_ptr,
"action_extrapolation", 0,
IFACE_(
"Extrapolation"), ICON_NONE);
331 uiItemR(row, &adt_ptr,
"action_blend_type", 0,
IFACE_(
"Blending"), ICON_NONE);
335 uiItemR(row, &adt_ptr,
"action_influence", 0,
IFACE_(
"Influence"), ICON_NONE);
360 uiItemL(row,
"", ICON_ARROW_LEFTRIGHT);
363 uiItemL(row,
"", ICON_SEQ_STRIP_META);
369 uiItemR(row, &strip_ptr,
"name", 0,
"", ICON_NLA);
372 uiItemR(row, &strip_ptr,
"mute", 0,
"", ICON_NONE);
383 short showEvalProps = 1;
400 uiItemR(column, &strip_ptr,
"frame_start_ui", 0,
IFACE_(
"Frame Start"), ICON_NONE);
401 uiItemR(column, &strip_ptr,
"frame_end_ui", 0,
IFACE_(
"End"), ICON_NONE);
414 uiItemR(column, &strip_ptr,
"extrapolation", 0,
NULL, ICON_NONE);
415 uiItemR(column, &strip_ptr,
"blend_type", 0,
NULL, ICON_NONE);
425 uiItemR(column, &strip_ptr,
"blend_in", 0,
IFACE_(
"Blend In"), ICON_NONE);
426 uiItemR(column, &strip_ptr,
"blend_out", 0,
IFACE_(
"Out"), ICON_NONE);
430 uiItemR(row, &strip_ptr,
"use_auto_blend", 0,
NULL, ICON_NONE);
438 uiItemR(row, &strip_ptr,
"use_reverse", 0,
NULL, ICON_NONE);
440 uiItemR(column, &strip_ptr,
"use_animated_time_cyclic", 0,
NULL, ICON_NONE);
465 uiItemR(row, &strip_ptr,
"action", 0,
NULL, ICON_ACTION);
469 uiItemR(column, &strip_ptr,
"action_frame_start", 0,
IFACE_(
"Frame Start"), ICON_NONE);
470 uiItemR(column, &strip_ptr,
"action_frame_end", 0,
IFACE_(
"End"), ICON_NONE);
473 uiItemR(row, &strip_ptr,
"use_sync_length", 0,
"", ICON_NONE);
474 uiItemO(row,
IFACE_(
"Now"), ICON_FILE_REFRESH,
"NLA_OT_action_sync_length");
479 uiItemR(column, &strip_ptr,
"scale", 0,
IFACE_(
"Playback Scale"), ICON_NONE);
480 uiItemR(column, &strip_ptr,
"repeat", 0,
NULL, ICON_NONE);
500 uiItemR(
col, &strip_ptr,
"use_animated_influence", 0,
"", ICON_NONE);
520 uiItemR(layout, &strip_ptr,
"influence", 0,
NULL, ICON_NONE);
539 uiItemR(
col, &strip_ptr,
"use_animated_time", 0,
"", ICON_NONE);
558 uiItemR(layout, &strip_ptr,
"strip_time", 0,
NULL, ICON_NONE);
561 #define NLA_FMODIFIER_PANEL_PREFIX "NLA"
584 strip = strip_ptr.
data;
597 row, (
bContext *)
C,
"NLA_OT_fmodifier_add",
"type",
IFACE_(
"Add Modifier"), ICON_NONE);
601 uiItemO(row,
"", ICON_COPYDOWN,
"NLA_OT_fmodifier_copy");
602 uiItemO(row,
"", ICON_PASTEDOWN,
"NLA_OT_fmodifier_paste");
615 strcpy(pt->
idname,
"NLA_PT_animdata");
616 strcpy(pt->
label,
N_(
"Animation Data"));
617 strcpy(pt->
category,
"Edited Action");
625 strcpy(pt->
idname,
"NLA_PT_stripname");
626 strcpy(pt->
label,
N_(
"Active Strip Name"));
635 strcpy(pt->
idname,
"NLA_PT_properties");
636 strcpy(pt->
label,
N_(
"Active Strip"));
644 strcpy(pt->
idname,
"NLA_PT_actionclip");
645 strcpy(pt->
label,
N_(
"Action Clip"));
654 strcpy(pt->
idname,
"NLA_PT_evaluation");
655 strcpy(pt->
parent_id,
"NLA_PT_properties");
656 strcpy(pt->
label,
N_(
"Animated Influence"));
661 pt->
parent = pt_properties;
668 strcpy(pt->
idname,
"NLA_PT_animated_strip_time");
669 strcpy(pt->
parent_id,
"NLA_PT_properties");
670 strcpy(pt->
label,
N_(
"Animated Strip Time"));
675 pt->
parent = pt_properties;
682 strcpy(pt->
idname,
"NLA_PT_modifiers");
683 strcpy(pt->
label,
N_(
"Modifiers"));
const FModifierTypeInfo * get_fmodifier_typeinfo(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 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)
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 uiTemplateID(uiLayout *layout, const struct bContext *C, struct PointerRNA *ptr, const char *propname, const char *newop, const char *openop, const char *unlinkop, int filter, bool live_icon, const char *text)
@ UI_TEMPLATE_ID_FILTER_ALL
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)