60 saction = MEM_cnew<SpaceAction>(
"initaction");
74 region = MEM_cnew<ARegion>(
"header for action");
81 region = MEM_cnew<ARegion>(
"channel region for action");
91 region = MEM_cnew<ARegion>(
"buttons region for action");
98 region = MEM_cnew<ARegion>(
"main region for action");
103 region->v2d.tot.xmin =
float(scene->r.sfra - 10);
104 region->v2d.tot.ymin =
float(-area->winy) / 3.0f;
105 region->v2d.tot.xmax =
float(scene->r.efra + 10);
106 region->v2d.tot.ymax = 0.0f;
108 region->v2d.cur = region->v2d.tot;
110 region->v2d.min[0] = 0.0f;
111 region->v2d.min[1] = 0.0f;
116 region->v2d.minzoom = 0.01f;
117 region->v2d.maxzoom = 50;
172 v2d->
tot.
ymin = -(height + pad_bottom);
182 View2D *v2d = ®ion->v2d;
183 short marker_flag = 0;
185 ListBase anim_data = {
nullptr,
nullptr};
187 if (has_anim_context) {
222 if (has_anim_context) {
260 View2D *v2d = ®ion->v2d;
306 if (!has_valid_animcontext) {
310 View2D *v2d = ®ion->v2d;
312 ListBase anim_data = {
nullptr,
nullptr};
407 msg_sub_value_region_tag_redraw.
owner = region;
408 msg_sub_value_region_tag_redraw.user_data = region;
431 for (
int i = 0; i <
ARRAY_SIZE(type_array); i++) {
432 msg_key_params.
ptr.
type = type_array[i];
434 mbus, &msg_key_params, &msg_sub_value_region_tag_redraw, __func__);
505 msg_sub_value_region_tag_redraw.
owner = region;
506 msg_sub_value_region_tag_redraw.user_data = region;
513 use_preview ? &rna_Scene_frame_preview_start : &rna_Scene_frame_start,
514 use_preview ? &rna_Scene_frame_preview_end : &rna_Scene_frame_end,
515 &rna_Scene_use_preview_range,
516 &rna_Scene_frame_current,
596 region->v2d.tot.xmin =
float(scene->r.sfra - 4);
597 region->v2d.tot.xmax =
float(scene->r.efra + 4);
809 saction->
runtime.
flag &= ~SACTION_RUNTIME_FLAG_NEED_CHAN_SYNC;
916 std::unique_ptr<SpaceType> st = std::make_unique<SpaceType>();
938 st->blend_read_after_liblink =
nullptr;
942 art = MEM_cnew<ARegionType>(
"spacetype action region");
954 art = MEM_cnew<ARegionType>(
"spacetype action region");
966 art = MEM_cnew<ARegionType>(
"spacetype action region");
979 art = MEM_cnew<ARegionType>(
"spacetype action region");
SpaceAction * CTX_wm_space_action(const bContext *C)
Object * CTX_data_active_object(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
int BKE_lib_query_foreachid_process_flags_get(const LibraryForeachIDData *data)
#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)
#define LISTBASE_FOREACH(type, var, list)
void BLI_addtail(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
MINLINE int max_ii(int a, int b)
#define STRNCPY(dst, src)
#define BLO_write_struct(writer, struct_name, data_ptr)
@ TIME_CACHE_DYNAMICPAINT
@ TIME_CACHE_SIMULATION_NODES
@ SACTION_RUNTIME_FLAG_NEED_CHAN_SYNC
@ SACTION_SHOW_INTERPOLATION
Object groups, one object can be in many groups at once.
@ V2D_VIEWSYNC_AREA_VERTICAL
@ V2D_SCROLL_HORIZONTAL_HANDLES
AnimData * ED_actedit_animdata_from_context(const bContext *C, ID **r_adt_id_owner)
@ 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
void GPU_matrix_push_projection()
void GPU_matrix_pop_projection()
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_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)
@ WM_GIZMOMAP_DRAWSTEP_2D
#define ND_RENDER_OPTIONS
#define ND_SPACE_DOPESHEET
#define ND_BONE_COLLECTION
void draw_channel_names(bContext *C, bAnimContext *ac, ARegion *region, const ListBase &anim_data)
void timeline_draw_cache(const SpaceAction *saction, const Object *ob, const Scene *scene)
void draw_channel_strips(bAnimContext *ac, SpaceAction *saction, ARegion *region, ListBase *anim_data)
void action_operatortypes()
void action_keymap(wmKeyConfig *keyconf)
float ANIM_UI_get_channels_total_height(View2D *v2d, const int item_count)
void ANIM_animdata_freelist(ListBase *anim_data)
void ANIM_sync_animchannels_to_data(const bContext *C)
void ANIM_draw_action_framerange(AnimData *adt, bAction *action, View2D *v2d, float ymin, float ymax)
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)
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_dupallocN)(const void *vmemh)
int RNA_enum_from_value(const EnumPropertyItem *item, const int value)
PointerRNA RNA_id_pointer_create(ID *id)
void RNA_enum_items_add(EnumPropertyItem **items, int *totitem, const EnumPropertyItem *item)
const EnumPropertyItem rna_enum_space_action_mode_items[]
static int action_space_subtype_get(ScrArea *area)
static void action_foreach_id(SpaceLink *space_link, LibraryForeachIDData *data)
static void action_channel_region_init(wmWindowManager *wm, ARegion *region)
static SpaceLink * action_duplicate(SpaceLink *sl)
static void action_id_remap(ScrArea *, SpaceLink *slink, const blender::bke::id::IDRemapper &mappings)
static void action_header_region_init(wmWindowManager *, ARegion *region)
static void action_channel_region_draw(const bContext *C, ARegion *region)
static void action_space_subtype_set(ScrArea *area, int value)
static blender::StringRefNull action_space_name_get(const ScrArea *area)
static SpaceLink * action_create(const ScrArea *area, const Scene *scene)
static void action_space_subtype_item_extend(bContext *, EnumPropertyItem **item, int *totitem)
static void action_refresh(const bContext *C, ScrArea *area)
static void action_main_region_draw(const bContext *C, ARegion *region)
static void action_channel_region_listener(const wmRegionListenerParams *params)
static void action_listener(const wmSpaceTypeListenerParams *params)
static void action_header_region_listener(const wmRegionListenerParams *params)
static void action_header_region_draw(const bContext *C, ARegion *region)
static void action_init(wmWindowManager *, ScrArea *area)
static void saction_channel_region_message_subscribe(const wmRegionMessageSubscribeParams *params)
static void action_space_blend_read_data(BlendDataReader *, SpaceLink *sl)
static void action_main_region_draw_overlay(const bContext *C, ARegion *region)
static void action_free(SpaceLink *)
static void action_main_region_init(wmWindowManager *wm, ARegion *region)
void ED_spacetype_action()
static void action_buttons_area_init(wmWindowManager *wm, ARegion *region)
static void set_v2d_height(View2D *v2d, const size_t item_count, const bool add_marker_padding)
static void action_space_blend_write(BlendWriter *writer, SpaceLink *sl)
static void action_main_region_listener(const wmRegionListenerParams *params)
static void action_region_listener(const wmRegionListenerParams *params)
static int action_space_icon_get(const ScrArea *area)
static void saction_main_region_message_subscribe(const wmRegionMessageSubscribeParams *params)
static void action_buttons_area_draw(const bContext *C, ARegion *region)
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)
SpaceAction_Runtime runtime
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)
void WM_gizmomap_draw(wmGizmoMap *gzmap, const bContext *C, const eWM_GizmoFlagMapDrawStep drawstep)
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)