33#include "RNA_prototypes.hh"
71 ListBase anim_data = {
nullptr,
nullptr};
139 if (ale->adt && adt_ptr) {
149 id =
static_cast<ID *
>(ale->data);
332 uiItemL(row,
"", ICON_RIGHTARROW);
341 uiTemplateID(row, C, &adt_ptr,
"action",
"ACTION_OT_new",
nullptr,
"NLA_OT_action_unlink");
378 uiItemL(row,
"", ICON_ARROW_LEFTRIGHT);
381 uiItemL(row,
"", ICON_SEQ_STRIP_META);
401 short showEvalProps = 1;
449 row, &strip_ptr,
"use_auto_blend",
UI_ITEM_NONE,
nullptr, ICON_NONE);
486#ifdef WITH_ANIM_BAKLAVA
504 "anim.slot_unassign_from_nla_strip",
513 column, &strip_ptr,
"action_frame_start",
UI_ITEM_NONE,
IFACE_(
"Frame Start"), ICON_NONE);
518 uiItemO(row,
IFACE_(
"Now"), ICON_FILE_REFRESH,
"NLA_OT_action_sync_length");
605#define NLA_FMODIFIER_PANEL_PREFIX "NLA"
642 uiItemO(row,
"", ICON_COPYDOWN,
"NLA_OT_fmodifier_copy");
643 uiItemO(row,
"", ICON_PASTEDOWN,
"NLA_OT_fmodifier_paste");
655 pt = MEM_cnew<PanelType>(
"spacetype nla panel animdata");
665 pt = MEM_cnew<PanelType>(
"spacetype nla panel properties");
675 PanelType *pt_properties = pt = MEM_cnew<PanelType>(
"spacetype nla panel properties");
684 pt = MEM_cnew<PanelType>(
"spacetype nla panel properties");
694 pt = MEM_cnew<PanelType>(
"spacetype nla panel evaluation");
702 pt->
parent = pt_properties;
708 pt = MEM_cnew<PanelType>(
"spacetype nla panel animated strip time");
716 pt->
parent = pt_properties;
722 pt = MEM_cnew<PanelType>(
"spacetype nla panel modifiers");
Functions and classes to work with Actions.
Functions for backward compatibility with the legacy Action API.
const FModifierTypeInfo * get_fmodifier_typeinfo(int type)
NlaStrip * BKE_nlastrip_find_active(NlaTrack *nlt)
@ PANEL_TYPE_DEFAULT_CLOSED
#define LISTBASE_FOREACH(type, var, list)
void BLI_addtail(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
struct LinkData * BLI_genericNodeN(void *data)
#define STRNCPY(dst, src)
size_t BLI_snprintf(char *__restrict dst, size_t dst_maxncpy, const char *__restrict format,...) ATTR_NONNULL(1
#define BLT_I18NCONTEXT_DEFAULT_BPYRNA
@ NLASTRIP_TYPE_TRANSITION
@ ANIMTYPE_SPECIALDATA__UNUSED
@ ANIMTYPE_GREASE_PENCIL_DATABLOCK
@ ANIMTYPE_GREASE_PENCIL_LAYER
@ ANIMTYPE_FILLACT_LAYERED
@ ANIMTYPE_GREASE_PENCIL_LAYER_GROUP
@ ANIMFILTER_DATA_VISIBLE
@ ANIMFILTER_LIST_VISIBLE
@ ANIMFILTER_LIST_CHANNELS
Read Guarded memory(de)allocation.
void uiLayoutSetActive(uiLayout *layout, bool active)
void uiTemplateSearch(uiLayout *layout, const bContext *C, PointerRNA *ptr, const char *propname, PointerRNA *searchptr, const char *searchpropname, const char *newop, const char *unlinkop, const char *text=nullptr)
@ UI_EMBOSS_NONE_OR_STATUS
void uiLayoutSetEnabled(uiLayout *layout, bool enabled)
void uiItemMenuEnumO(uiLayout *layout, const bContext *C, const char *opname, const char *propname, const char *name, int icon)
void uiItemL(uiLayout *layout, const char *name, int icon)
uiBlock * uiLayoutGetBlock(uiLayout *layout)
uiLayout * uiLayoutRow(uiLayout *layout, bool align)
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 * uiLayoutRowWithHeading(uiLayout *layout, bool align, const char *heading)
void UI_block_emboss_set(uiBlock *block, eUIEmbossType emboss)
void uiItemO(uiLayout *layout, const char *name, int icon, const char *opname)
uiLayout * uiLayoutColumnWithHeading(uiLayout *layout, bool align, const char *heading)
void uiLayoutSetPropDecorate(uiLayout *layout, bool is_sep)
void uiTemplateID(uiLayout *layout, const bContext *C, PointerRNA *ptr, const char *propname, const char *newop, const char *openop, const char *unlinkop, int filter=UI_TEMPLATE_ID_FILTER_ALL, bool live_icon=false, const char *text=nullptr)
uiLayout * uiLayoutColumn(uiLayout *layout, bool align)
void uiItemR(uiLayout *layout, PointerRNA *ptr, const char *propname, eUI_Item_Flag flag, const char *name, int icon)
void uiLayoutSetContextPointer(uiLayout *layout, const char *name, PointerRNA *ptr)
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, const eAnimFilter_Flags filter_mode, void *data, const 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)
bool action_treat_as_legacy(const bAction &action)
int RNA_struct_ui_icon(const StructRNA *type)
bool RNA_boolean_get(PointerRNA *ptr, const char *name)
PointerRNA RNA_pointer_create(ID *id, StructRNA *type, void *data)
int RNA_enum_get(PointerRNA *ptr, const char *name)
PointerRNA RNA_id_pointer_create(ID *id)
void(* draw)(const bContext *C, Panel *panel)
char idname[BKE_ST_MAXNAME]
bool(* poll)(const bContext *C, PanelType *pt)
char translation_context[BKE_ST_MAXNAME]
char category[BKE_ST_MAXNAME]
char label[BKE_ST_MAXNAME]
char parent_id[BKE_ST_MAXNAME]
void(* draw_header)(const bContext *C, Panel *panel)
void WM_event_add_notifier(const bContext *C, uint type, void *reference)