53 snla = MEM_cnew<SpaceNla>(
"initnla");
57 snla->
ads = MEM_cnew<bDopeSheet>(
"NlaEdit DopeSheet");
64 region = MEM_cnew<ARegion>(
"header for nla");
71 region = MEM_cnew<ARegion>(
"track list for nla");
81 region = MEM_cnew<ARegion>(
"buttons region for nla");
88 region = MEM_cnew<ARegion>(
"main region for nla");
93 region->v2d.tot.xmin =
float(scene->r.sfra - 10);
94 region->v2d.tot.ymin =
float(-area->winy) / 3.0f;
95 region->v2d.tot.xmax =
float(scene->r.efra + 10);
96 region->v2d.tot.ymax = 0.0f;
98 region->v2d.cur = region->v2d.tot;
100 region->v2d.min[0] = 0.0f;
101 region->v2d.min[1] = 0.0f;
104 region->v2d.max[1] = 10000.0f;
106 region->v2d.minzoom = 0.01f;
107 region->v2d.maxzoom = 50;
115 return reinterpret_cast<SpaceLink *
>(snla);
135 if (snla->
ads ==
nullptr) {
136 snla->
ads = MEM_cnew<bDopeSheet>(
"NlaEdit DopeSheet");
151 return reinterpret_cast<SpaceLink *
>(snlan);
187 ListBase anim_data = {
nullptr,
nullptr};
190 View2D *v2d = ®ion->v2d;
243 View2D *v2d = ®ion->v2d;
293 View2D *v2d = ®ion->v2d;
433 msg_sub_value_region_tag_redraw.
owner = region;
434 msg_sub_value_region_tag_redraw.
user_data = region;
441 use_preview ? &rna_Scene_frame_preview_start : &rna_Scene_frame_start,
442 use_preview ? &rna_Scene_frame_preview_end : &rna_Scene_frame_end,
443 &rna_Scene_use_preview_range,
444 &rna_Scene_frame_current,
504 msg_sub_value_region_tag_redraw.
owner = region;
505 msg_sub_value_region_tag_redraw.
user_data = region;
517 for (
int i = 0; i <
ARRAY_SIZE(type_array); i++) {
518 msg_key_params.
ptr.
type = type_array[i];
520 mbus, &msg_key_params, &msg_sub_value_region_tag_redraw, __func__);
572 if (snla->
ads ==
nullptr) {
585 if (snla->
ads ==
nullptr) {
611 std::unique_ptr<SpaceType> st = std::make_unique<SpaceType>();
627 st->blend_read_after_liblink =
nullptr;
631 art = MEM_cnew<ARegionType>(
"spacetype nla region");
643 art = MEM_cnew<ARegionType>(
"spacetype nla region");
654 art = MEM_cnew<ARegionType>(
"spacetype nla region");
667 art = MEM_cnew<ARegionType>(
"spacetype nla region");
SpaceNla * CTX_wm_space_nla(const bContext *C)
Scene * CTX_data_scene(const bContext *C)
#define BKE_LIB_FOREACHID_PROCESS_IDSUPER(data_, id_super_, cb_flag_)
@ IDWALK_CB_DIRECT_WEAK_LINK
#define BKE_LIB_FOREACHID_PROCESS_ID(data_, id_, cb_flag_)
void BKE_spacetype_register(std::unique_ptr< SpaceType > st)
BLI_INLINE bool BLI_listbase_is_empty(const struct ListBase *lb)
void BLI_addhead(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
void void BLI_freelistN(struct ListBase *listbase) ATTR_NONNULL(1)
void BLI_addtail(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
#define STRNCPY(dst, src)
#define BLO_write_struct(writer, struct_name, data_ptr)
#define BLO_read_struct(reader, struct_name, ptr_p)
Object groups, one object can be in many groups at once.
@ V2D_VIEWSYNC_AREA_VERTICAL
@ V2D_SCROLL_HORIZONTAL_HANDLES
#define NLATRACK_TOT_HEIGHT(ac, item_amount)
#define NLATRACK_STEP(snla)
@ ANIMFILTER_DATA_VISIBLE
@ ANIMFILTER_LIST_VISIBLE
@ ANIMFILTER_LIST_CHANNELS
void ED_area_tag_redraw(ScrArea *area)
ARegionType * ED_area_type_hud(int space_type)
void ED_region_panels(const bContext *C, ARegion *region)
void ED_region_header(const bContext *C, ARegion *region)
void ED_region_header_init(ARegion *region)
void ED_area_tag_refresh(ScrArea *area)
void ED_region_panels_init(wmWindowManager *wm, ARegion *region)
void ED_region_tag_redraw(ARegion *region)
void ED_region_do_msg_notify_tag_redraw(bContext *C, wmMsgSubscribeKey *msg_key, wmMsgSubscribeValue *msg_val)
void ED_region_draw_cb_draw(const bContext *C, ARegion *region, int type)
#define REGION_DRAW_POST_VIEW
#define REGION_DRAW_PRE_VIEW
Read Guarded memory(de)allocation.
#define UI_SIDEBAR_PANEL_WIDTH
void UI_ThemeClearColor(int colorid)
#define UI_MARKER_MARGIN_Y
void UI_view2d_view_orthoSpecial(ARegion *region, View2D *v2d, bool xaxis)
void UI_view2d_curRect_clamp_y(View2D *v2d)
void UI_view2d_scrollers_draw(View2D *v2d, const rcti *mask_custom)
void UI_view2d_view_restore(const bContext *C)
void UI_view2d_region_reinit(View2D *v2d, short type, int winx, int winy)
void UI_view2d_text_cache_draw(ARegion *region)
void UI_view2d_view_ortho(const View2D *v2d)
void UI_view2d_draw_lines_x__discrete_frames_or_seconds(const View2D *v2d, const Scene *scene, bool display_seconds, bool display_minor_lines)
#define ND_RENDER_OPTIONS
void ANIM_animdata_freelist(ListBase *anim_data)
void ANIM_draw_previewrange(const bContext *C, View2D *v2d, int end_frame_width)
void ANIM_draw_framerange(Scene *scene, View2D *v2d)
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)
ListBase * ED_context_get_markers(const bContext *C)
void ED_markers_draw(const bContext *C, int flag)
IDRemapperApplyResult apply(ID **r_id_ptr, IDRemapperApplyOptions options, ID *id_self=nullptr) const
draw_view in_light_buf[] float
void MEM_freeN(void *vmemh)
void *(* MEM_dupallocN)(const void *vmemh)
void draw_nla_track_list(const bContext *C, bAnimContext *ac, ARegion *region, const ListBase &anim_data)
void draw_nla_main_data(bAnimContext *ac, SpaceNla *snla, ARegion *region)
void nla_keymap(wmKeyConfig *keyconf)
PointerRNA RNA_id_pointer_create(ID *id)
static void nla_buttons_region_draw(const bContext *C, ARegion *region)
static void nla_listener(const wmSpaceTypeListenerParams *params)
static void nla_id_remap(ScrArea *, SpaceLink *slink, const blender::bke::id::IDRemapper &mappings)
static void nla_main_region_init(wmWindowManager *wm, ARegion *region)
static void nla_space_blend_read_data(BlendDataReader *reader, SpaceLink *sl)
static void nla_track_region_draw(const bContext *C, ARegion *region)
static SpaceLink * nla_duplicate(SpaceLink *sl)
static void nla_header_region_init(wmWindowManager *, ARegion *region)
static void nla_space_blend_write(BlendWriter *writer, SpaceLink *sl)
static void nla_main_region_message_subscribe(const wmRegionMessageSubscribeParams *params)
static void nla_free(SpaceLink *sl)
static void nla_main_region_draw_overlay(const bContext *C, ARegion *region)
static void nla_main_region_draw(const bContext *C, ARegion *region)
static void nla_track_region_message_subscribe(const wmRegionMessageSubscribeParams *params)
static void nla_header_region_draw(const bContext *C, ARegion *region)
static void nla_buttons_region_init(wmWindowManager *wm, ARegion *region)
static void nla_track_region_init(wmWindowManager *wm, ARegion *region)
static void nla_region_listener(const wmRegionListenerParams *params)
static void nla_foreach_id(SpaceLink *space_link, LibraryForeachIDData *data)
static void nla_main_region_listener(const wmRegionListenerParams *params)
static void nla_init(wmWindowManager *wm, ScrArea *area)
static SpaceLink * nla_create(const ScrArea *area, const Scene *scene)
static void nla_track_region_listener(const wmRegionListenerParams *params)
void(* message_subscribe)(const wmRegionMessageSubscribeParams *params)
void(* listener)(const wmRegionListenerParams *params)
void(* draw)(const bContext *C, ARegion *region)
void(* draw_overlay)(const bContext *C, ARegion *region)
void(* init)(wmWindowManager *wm, ARegion *region)
struct Collection * filter_grp
struct wmKeyConfig * defaultconf
void ED_time_scrub_draw_current_frame(const ARegion *region, const Scene *scene, bool display_seconds)
void ED_time_scrub_channel_search_draw(const bContext *C, ARegion *region, bDopeSheet *dopesheet)
void ED_time_scrub_draw(const ARegion *region, const Scene *scene, bool display_seconds, bool discrete_frames)
wmEventHandler_Keymap * WM_event_add_keymap_handler(ListBase *handlers, wmKeyMap *keymap)
wmEventHandler_Keymap * WM_event_add_keymap_handler_v2d_mask(ListBase *handlers, wmKeyMap *keymap)
wmKeyMap * WM_keymap_ensure(wmKeyConfig *keyconf, const char *idname, int spaceid, int regionid)
void WM_msg_subscribe_rna_params(wmMsgBus *mbus, const wmMsgParams_RNA *msg_key_params, const wmMsgSubscribeValue *msg_val_params, const char *id_repr)
void WM_msg_subscribe_rna(wmMsgBus *mbus, PointerRNA *ptr, const PropertyRNA *prop, const wmMsgSubscribeValue *msg_val_params, const char *id_repr)
wmWindow * WM_window_find_by_area(wmWindowManager *wm, const ScrArea *area)
Scene * WM_window_get_active_scene(const wmWindow *win)