Blender V5.0
space_clip.cc File Reference
#include <cfloat>
#include <cstring>
#include "DNA_defaults.h"
#include "DNA_mask_types.h"
#include "DNA_movieclip_types.h"
#include "DNA_scene_types.h"
#include "DNA_view3d_types.h"
#include "MEM_guardedalloc.h"
#include "BLI_listbase.h"
#include "BLI_math_base.h"
#include "BLI_path_utils.hh"
#include "BLI_string_utf8.h"
#include "BLI_utildefines.h"
#include "BKE_context.hh"
#include "BKE_lib_query.hh"
#include "BKE_lib_remap.hh"
#include "BKE_movieclip.h"
#include "BKE_screen.hh"
#include "BKE_tracking.h"
#include "IMB_imbuf_types.hh"
#include "ED_anim_api.hh"
#include "ED_clip.hh"
#include "ED_mask.hh"
#include "ED_screen.hh"
#include "ED_space_api.hh"
#include "ED_time_scrub_ui.hh"
#include "ED_uvedit.hh"
#include "IMB_imbuf.hh"
#include "GPU_matrix.hh"
#include "WM_api.hh"
#include "WM_types.hh"
#include "UI_interface.hh"
#include "UI_resources.hh"
#include "UI_view2d.hh"
#include "BLO_read_write.hh"
#include "RNA_access.hh"
#include "clip_intern.hh"

Go to the source code of this file.

Functions

Local Utilities
static void init_preview_region (const Scene *scene, const ScrArea *area, const SpaceClip *sc, ARegion *region)
static void clip_scopes_tag_refresh (ScrArea *area)
static void clip_scopes_check_gpencil_change (ScrArea *area)
static void clip_area_sync_frame_from_scene (ScrArea *area, const Scene *scene)
Main Region
static void movieclip_main_area_set_view2d (const bContext *C, ARegion *region)
static bool clip_main_region_poll (const RegionPollParams *params)
static void clip_main_region_init (wmWindowManager *wm, ARegion *region)
static void clip_main_region_draw (const bContext *C, ARegion *region)
static void clip_main_region_listener (const wmRegionListenerParams *params)
Preview Region
static bool clip_preview_region_poll (const RegionPollParams *params)
static void clip_preview_region_init (wmWindowManager *wm, ARegion *region)
static void graph_region_draw (const bContext *C, ARegion *region)
static void dopesheet_region_draw (const bContext *C, ARegion *region)
static void clip_preview_region_draw (const bContext *C, ARegion *region)
static void clip_preview_region_listener (const wmRegionListenerParams *)
Channels Region
static bool clip_channels_region_poll (const RegionPollParams *params)
static void clip_channels_region_init (wmWindowManager *wm, ARegion *region)
static void clip_channels_region_draw (const bContext *C, ARegion *region)
static void clip_channels_region_listener (const wmRegionListenerParams *)
Header Region
static void clip_header_region_init (wmWindowManager *, ARegion *region)
static void clip_header_region_draw (const bContext *C, ARegion *region)
static void clip_header_region_listener (const wmRegionListenerParams *params)
Tools Region
static bool clip_tools_region_poll (const RegionPollParams *params)
static void clip_tools_region_init (wmWindowManager *wm, ARegion *region)
static void clip_tools_region_draw (const bContext *C, ARegion *region)
Tool Properties Region
static void clip_props_region_listener (const wmRegionListenerParams *params)
Properties Region
static bool clip_properties_region_poll (const RegionPollParams *params)
static void clip_properties_region_init (wmWindowManager *wm, ARegion *region)
static void clip_properties_region_draw (const bContext *C, ARegion *region)
static void clip_properties_region_listener (const wmRegionListenerParams *params)
IO Callbacks
static void clip_id_remap (ScrArea *, SpaceLink *slink, const blender::bke::id::IDRemapper &mappings)
static void clip_foreach_id (SpaceLink *space_link, LibraryForeachIDData *data)
static void clip_space_blend_read_data (BlendDataReader *, SpaceLink *sl)
static void clip_space_blend_write (BlendWriter *writer, SpaceLink *sl)
Registration
void ED_spacetype_clip ()

Default Callbacks for Clip Space

const char * clip_context_dir [] = {"edit_movieclip", "edit_mask", nullptr}
static SpaceLinkclip_create (const ScrArea *, const Scene *)
static void clip_free (SpaceLink *sl)
static void clip_init (wmWindowManager *, ScrArea *area)
static SpaceLinkclip_duplicate (SpaceLink *sl)
static void clip_listener (const wmSpaceTypeListenerParams *params)
static void clip_operatortypes ()
static void clip_keymap (wmKeyConfig *keyconf)
static int clip_context (const bContext *C, const char *member, bContextDataResult *result)
static bool clip_drop_poll (bContext *, wmDrag *drag, const wmEvent *)
static void clip_drop_copy (bContext *, wmDrag *drag, wmDropBox *drop)
static void clip_dropboxes ()
static void clip_refresh (const bContext *C, ScrArea *area)
static void CLIP_GGT_navigate (wmGizmoGroupType *gzgt)
static void clip_gizmos ()

Function Documentation

◆ clip_area_sync_frame_from_scene()

void clip_area_sync_frame_from_scene ( ScrArea * area,
const Scene * scene )
static

◆ clip_channels_region_draw()

◆ clip_channels_region_init()

◆ clip_channels_region_listener()

void clip_channels_region_listener ( const wmRegionListenerParams * )
static

Definition at line 1020 of file space_clip.cc.

Referenced by ED_spacetype_clip().

◆ clip_channels_region_poll()

bool clip_channels_region_poll ( const RegionPollParams * params)
static

Definition at line 978 of file space_clip.cc.

References ELEM, params, SC_VIEW_DOPESHEET, and SpaceClip::view.

Referenced by ED_spacetype_clip().

◆ clip_context()

◆ clip_create()

◆ clip_drop_copy()

void clip_drop_copy ( bContext * ,
wmDrag * drag,
wmDropBox * drop )
static

◆ clip_drop_poll()

bool clip_drop_poll ( bContext * ,
wmDrag * drag,
const wmEvent *  )
static

◆ clip_dropboxes()

void clip_dropboxes ( )
static

◆ clip_duplicate()

◆ clip_foreach_id()

◆ clip_free()

void clip_free ( SpaceLink * sl)
static

◆ CLIP_GGT_navigate()

void CLIP_GGT_navigate ( wmGizmoGroupType * gzgt)
static

Definition at line 585 of file space_clip.cc.

References VIEW2D_GGT_navigate_impl().

Referenced by clip_gizmos().

◆ clip_gizmos()

void clip_gizmos ( )
static

◆ clip_header_region_draw()

void clip_header_region_draw ( const bContext * C,
ARegion * region )
static

Definition at line 1034 of file space_clip.cc.

References C, and ED_region_header().

Referenced by ED_spacetype_clip().

◆ clip_header_region_init()

void clip_header_region_init ( wmWindowManager * ,
ARegion * region )
static

Definition at line 1029 of file space_clip.cc.

References ED_region_header_init().

Referenced by ED_spacetype_clip().

◆ clip_header_region_listener()

void clip_header_region_listener ( const wmRegionListenerParams * params)
static

◆ clip_id_remap()

◆ clip_init()

void clip_init ( wmWindowManager * ,
ScrArea * area )
static

◆ clip_keymap()

void clip_keymap ( wmKeyConfig * keyconf)
static

Definition at line 476 of file space_clip.cc.

References RGN_TYPE_WINDOW, SPACE_CLIP, and WM_keymap_ensure().

Referenced by ED_spacetype_clip().

◆ clip_listener()

◆ clip_main_region_draw()

void clip_main_region_draw ( const bContext * C,
ARegion * region )
static

Definition at line 678 of file space_clip.cc.

References SpaceClip::around, BKE_autotrack_context_sync_user(), MaskSpaceInfo::blend_factor, C, clip_draw_cache_and_notes(), clip_draw_grease_pencil(), clip_draw_main(), CTX_data_edit_mask(), CTX_data_expect_evaluated_depsgraph(), CTX_wm_area(), CTX_wm_space_clip(), SpaceClip::cursor, MaskSpaceInfo::draw_flag, MaskSpaceInfo::draw_type, ED_clip_view_selection(), ED_image_draw_cursor(), ED_mask_draw_region(), ED_mask_get_size(), ED_region_draw_cb_draw(), ED_space_clip_get_aspect(), ED_space_clip_get_clip(), ED_space_clip_get_size(), ED_space_clip_get_stable_buffer(), ED_space_clip_get_zoom(), MovieTrackingStabilization::flag, SpaceClip::flag, SpaceClipOverlay::flag, SpaceClip::gizmo_flag, GPU_matrix_mul, GPU_matrix_pop(), GPU_matrix_push(), GPU_matrix_scale_2f(), GPU_matrix_translate_2f(), IMB_freeImBuf(), mask(), SpaceClip::mask_info, SpaceClip::mode, movieclip_main_area_set_view2d(), SpaceClip::overlay, MaskSpaceInfo::overlay_mode, REGION_DRAW_POST_VIEW, REGION_DRAW_PRE_VIEW, ARegion::runtime, SC_LOCK_SELECTION, SC_MODE_MASKEDIT, SC_SHOW_ANNOTATION, SC_SHOW_CURSOR, SC_SHOW_OVERLAYS, SCLIP_GIZMO_HIDE, MovieTracking::stabilization, SpaceClip::stabmat, TH_BACK, MovieClip::tracking, TRACKING_2D_STABILIZATION, MovieClip::tracking_context, UI_ThemeClearColor(), UI_view2d_view_restore(), UI_view2d_view_to_region_fl(), SpaceClip::user, ARegion::v2d, V3D_AROUND_CURSOR, WM_gizmomap_draw(), WM_GIZMOMAP_DRAWSTEP_2D, x, SpaceClip::xlockof, SpaceClip::xof, y, SpaceClip::ylockof, and SpaceClip::yof.

Referenced by ED_spacetype_clip().

◆ clip_main_region_init()

void clip_main_region_init ( wmWindowManager * wm,
ARegion * region )
static

◆ clip_main_region_listener()

void clip_main_region_listener ( const wmRegionListenerParams * params)
static

◆ clip_main_region_poll()

bool clip_main_region_poll ( const RegionPollParams * params)
static

Definition at line 651 of file space_clip.cc.

References ELEM, params, SC_VIEW_CLIP, and SpaceClip::view.

Referenced by ED_spacetype_clip().

◆ clip_operatortypes()

void clip_operatortypes ( )
static

Definition at line 350 of file space_clip.cc.

References CLIP_OT_add_marker(), CLIP_OT_add_marker_at_click(), CLIP_OT_apply_solution_scale(), CLIP_OT_average_tracks(), CLIP_OT_change_frame(), CLIP_OT_clean_tracks(), CLIP_OT_clear_solution(), CLIP_OT_clear_track_path(), CLIP_OT_copy_tracks(), CLIP_OT_create_plane_track(), CLIP_OT_cursor_set(), CLIP_OT_delete_marker(), CLIP_OT_delete_track(), CLIP_OT_detect_features(), CLIP_OT_disable_markers(), CLIP_OT_dopesheet_select_channel(), CLIP_OT_dopesheet_view_all(), CLIP_OT_frame_jump(), CLIP_OT_graph_center_current_frame(), CLIP_OT_graph_delete_curve(), CLIP_OT_graph_delete_knot(), CLIP_OT_graph_disable_markers(), CLIP_OT_graph_select(), CLIP_OT_graph_select_all_markers(), CLIP_OT_graph_select_box(), CLIP_OT_graph_view_all(), CLIP_OT_hide_tracks(), CLIP_OT_hide_tracks_clear(), CLIP_OT_join_tracks(), CLIP_OT_keyframe_delete(), CLIP_OT_keyframe_insert(), CLIP_OT_lock_selection_toggle(), CLIP_OT_lock_tracks(), CLIP_OT_mode_set(), CLIP_OT_new_image_from_plane_marker(), CLIP_OT_open(), CLIP_OT_paste_tracks(), CLIP_OT_prefetch(), CLIP_OT_rebuild_proxy(), CLIP_OT_refine_markers(), CLIP_OT_reload(), CLIP_OT_select(), CLIP_OT_select_all(), CLIP_OT_select_box(), CLIP_OT_select_circle(), CLIP_OT_select_grouped(), CLIP_OT_select_lasso(), CLIP_OT_set_axis(), CLIP_OT_set_origin(), CLIP_OT_set_plane(), CLIP_OT_set_scale(), CLIP_OT_set_scene_frames(), CLIP_OT_set_solution_scale(), CLIP_OT_set_solver_keyframe(), CLIP_OT_slide_marker(), CLIP_OT_slide_plane_marker(), CLIP_OT_solve_camera(), CLIP_OT_stabilize_2d_add(), CLIP_OT_stabilize_2d_remove(), CLIP_OT_stabilize_2d_rotation_add(), CLIP_OT_stabilize_2d_rotation_remove(), CLIP_OT_stabilize_2d_rotation_select(), CLIP_OT_stabilize_2d_select(), CLIP_OT_track_copy_color(), CLIP_OT_track_markers(), CLIP_OT_tracking_object_new(), CLIP_OT_tracking_object_remove(), CLIP_OT_update_image_from_plane_marker(), CLIP_OT_view_all(), CLIP_OT_view_center_cursor(), CLIP_OT_view_pan(), CLIP_OT_view_selected(), CLIP_OT_view_zoom(), CLIP_OT_view_zoom_in(), CLIP_OT_view_zoom_out(), CLIP_OT_view_zoom_ratio(), and WM_operatortype_append().

Referenced by ED_spacetype_clip().

◆ clip_preview_region_draw()

void clip_preview_region_draw ( const bContext * C,
ARegion * region )
static

◆ clip_preview_region_init()

◆ clip_preview_region_listener()

void clip_preview_region_listener ( const wmRegionListenerParams * )
static

Definition at line 970 of file space_clip.cc.

Referenced by ED_spacetype_clip().

◆ clip_preview_region_poll()

bool clip_preview_region_poll ( const RegionPollParams * params)
static

Definition at line 819 of file space_clip.cc.

References ELEM, params, SC_VIEW_DOPESHEET, SC_VIEW_GRAPH, and SpaceClip::view.

Referenced by ED_spacetype_clip().

◆ clip_properties_region_draw()

void clip_properties_region_draw ( const bContext * C,
ARegion * region )
static

◆ clip_properties_region_init()

void clip_properties_region_init ( wmWindowManager * wm,
ARegion * region )
static

◆ clip_properties_region_listener()

void clip_properties_region_listener ( const wmRegionListenerParams * params)
static

◆ clip_properties_region_poll()

bool clip_properties_region_poll ( const RegionPollParams * params)
static

Definition at line 1131 of file space_clip.cc.

References ELEM, params, SC_VIEW_CLIP, and SpaceClip::view.

Referenced by ED_spacetype_clip().

◆ clip_props_region_listener()

void clip_props_region_listener ( const wmRegionListenerParams * params)
static

◆ clip_refresh()

◆ clip_scopes_check_gpencil_change()

void clip_scopes_check_gpencil_change ( ScrArea * area)
static

◆ clip_scopes_tag_refresh()

◆ clip_space_blend_read_data()

void clip_space_blend_read_data ( BlendDataReader * ,
SpaceLink * sl )
static

◆ clip_space_blend_write()

void clip_space_blend_write ( BlendWriter * writer,
SpaceLink * sl )
static

Definition at line 1222 of file space_clip.cc.

References BLO_write_struct.

Referenced by ED_spacetype_clip().

◆ clip_tools_region_draw()

void clip_tools_region_draw ( const bContext * C,
ARegion * region )
static

Definition at line 1084 of file space_clip.cc.

References C, and ED_region_panels().

Referenced by ED_spacetype_clip().

◆ clip_tools_region_init()

void clip_tools_region_init ( wmWindowManager * wm,
ARegion * region )
static

◆ clip_tools_region_poll()

bool clip_tools_region_poll ( const RegionPollParams * params)
static

Definition at line 1067 of file space_clip.cc.

References ELEM, params, SC_VIEW_CLIP, and SpaceClip::view.

Referenced by ED_spacetype_clip().

◆ dopesheet_region_draw()

◆ ED_spacetype_clip()

void ED_spacetype_clip ( )

Definition at line 1233 of file space_clip.cc.

References BKE_spacetype_register(), BLI_addhead(), clip_channels_region_draw(), clip_channels_region_init(), clip_channels_region_listener(), clip_channels_region_poll(), clip_context(), clip_create(), clip_dropboxes(), clip_duplicate(), clip_foreach_id(), clip_free(), clip_gizmos(), clip_header_region_draw(), clip_header_region_init(), clip_header_region_listener(), clip_id_remap(), clip_init(), clip_keymap(), clip_listener(), clip_main_region_draw(), clip_main_region_init(), clip_main_region_listener(), clip_main_region_poll(), clip_operatortypes(), clip_preview_region_draw(), clip_preview_region_init(), clip_preview_region_listener(), clip_preview_region_poll(), clip_properties_region_draw(), clip_properties_region_init(), clip_properties_region_listener(), clip_properties_region_poll(), clip_props_region_listener(), clip_refresh(), clip_space_blend_read_data(), clip_space_blend_write(), clip_tools_region_draw(), clip_tools_region_init(), clip_tools_region_poll(), ARegionType::draw, ED_area_type_hud(), ED_clip_buttons_register(), ED_KEYMAP_FRAMES, ED_KEYMAP_GIZMO, ED_KEYMAP_GPENCIL, ED_KEYMAP_HEADER, ED_KEYMAP_UI, ED_KEYMAP_VIEW2D, ED_region_generic_panel_region_snap_size(), HEADERY, ARegionType::init, ARegionType::keymapflag, ARegionType::listener, MEM_callocN(), ARegionType::poll, ARegionType::prefsizex, ARegionType::prefsizey, ARegionType::regionid, RGN_TYPE_CHANNELS, RGN_TYPE_HEADER, RGN_TYPE_PREVIEW, RGN_TYPE_TOOLS, RGN_TYPE_UI, RGN_TYPE_WINDOW, ARegionType::snap_size, SPACE_CLIP, STRNCPY_UTF8, UI_COMPACT_PANEL_WIDTH, and UI_SIDEBAR_PANEL_WIDTH.

Referenced by ED_spacetypes_init().

◆ graph_region_draw()

◆ init_preview_region()

◆ movieclip_main_area_set_view2d()

Variable Documentation

◆ clip_context_dir

const char * clip_context_dir = {"edit_movieclip", "edit_mask", nullptr}

Definition at line 493 of file space_clip.cc.

Referenced by bpy_context_members(), and clip_context().