65 if (ibuf !=
nullptr) {
75 pt = MEM_cnew<PanelType>(
"spacetype clip panel metadata");
103 printf(
"%s: expected pointer property for %s.%s\n",
116 uiTemplateID(layout, C,
ptr, propname,
nullptr,
"CLIP_OT_open",
nullptr);
122 uiDefBut(block,
UI_BTYPE_LABEL, 0,
IFACE_(
"File Path:"), 0, 19, 145, 19,
nullptr, 0, 0,
"");
129 uiItemO(row,
"", ICON_FILE_REFRESH,
"clip.reload");
152 printf(
"%s: expected pointer property for %s.%s\n",
202#define B_MARKER_POS 3
203#define B_MARKER_OFFSET 4
204#define B_MARKER_PAT_DIM 5
205#define B_MARKER_SEARCH_POS 6
206#define B_MARKER_SEARCH_DIM 7
207#define B_MARKER_FLAG 8
277 float dim[2], pat_dim[2], pat_min[2], pat_max[2];
286 float scale_x = dim[0] / pat_dim[0];
287 float scale_y = dim[1] / pat_dim[1];
289 for (
int a = 0; a < 4; a++) {
299 float delta[2], side[2];
315 float dim[2], search_dim[2];
341 float offset[2], delta[2];
367 const char *propname,
384 printf(
"%s: expected pointer property for %s.%s\n",
399 MarkerUpdateCb *cb = MEM_cnew<MarkerUpdateCb>(
"uiTemplateMarker update_cb");
413 tip =
TIP_(
"Marker is disabled at current frame");
416 tip =
TIP_(
"Marker is enabled at current frame");
446 IFACE_(
"Track is locked"),
459 float pat_min[2], pat_max[2];
460 float pat_dim[2], search_dim[2], search_pos[2];
487 tip =
TIP_(
"Marker is disabled at current frame");
490 tip =
TIP_(
"Marker is enabled at current frame");
536 TIP_(
"X-position of marker at frame in screen coordinates"));
550 TIP_(
"Y-position of marker at frame in screen coordinates"));
577 TIP_(
"X-offset to parenting point"));
591 TIP_(
"Y-offset to parenting point"));
618 TIP_(
"Width of marker's pattern in screen coordinates"));
632 TIP_(
"Height of marker's pattern in screen coordinates"));
659 TIP_(
"X-position of search at frame relative to marker's position"));
673 TIP_(
"Y-position of search at frame relative to marker's position"));
687 TIP_(
"Width of marker's search in screen coordinates"));
701 TIP_(
"Height of marker's search in screen coordinates"));
713 const char *propname,
728 printf(
"%s: expected pointer property for %s.%s\n",
779 if (clip->anim !=
nullptr) {
784 str + ofs,
sizeof(
str) - ofs,
RPT_(
", %.2f fps"),
float(frs_sec) / frs_sec_base);
797 if (framenr <= clip->
len) {
810 if (framenr <= clip->
len) {
SpaceClip * CTX_wm_space_clip(const bContext *C)
float BKE_movieclip_remap_scene_to_clip_frame(const struct MovieClip *clip, float framenr)
void BKE_movieclip_get_size(struct MovieClip *clip, const struct MovieClipUser *user, int *r_width, int *r_height)
void BKE_movieclip_filepath_for_frame(struct MovieClip *clip, const struct MovieClipUser *user, char *filepath)
struct ImBuf * BKE_movieclip_get_ibuf_flag(struct MovieClip *clip, const struct MovieClipUser *user, int flag, int cache_flag)
@ PANEL_TYPE_DEFAULT_CLOSED
struct MovieTrackingMarker * BKE_tracking_marker_ensure(struct MovieTrackingTrack *track, int framenr)
struct MovieTrackingMarker * BKE_tracking_marker_get(struct MovieTrackingTrack *track, int framenr)
void BKE_tracking_marker_clamp_search_position(struct MovieTrackingMarker *marker)
void BKE_tracking_marker_clamp_search_size(struct MovieTrackingMarker *marker)
void BKE_tracking_marker_pattern_minmax(const struct MovieTrackingMarker *marker, float min[2], float max[2])
void BLI_addtail(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
MINLINE void sub_v2_v2(float r[2], const float a[2])
MINLINE void mul_v2_fl(float r[2], float f)
MINLINE void copy_v2_v2(float r[2], const float a[2])
MINLINE void add_v2_v2v2(float r[2], const float a[2], const float b[2])
MINLINE void sub_v2_v2v2(float r[2], const float a[2], const float b[2])
void void void const char * BLI_path_basename(const char *path) ATTR_NONNULL(1) ATTR_WARN_UNUSED_RESULT
#define STRNCPY(dst, src)
#define SNPRINTF(dst, format,...)
size_t BLI_snprintf_rlen(char *__restrict dst, size_t dst_maxncpy, const char *__restrict format,...) ATTR_NONNULL(1
char char size_t BLI_strncpy_rlen(char *__restrict dst, const char *__restrict src, size_t dst_maxncpy) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1
#define BLT_I18NCONTEXT_DEFAULT_BPYRNA
void DEG_id_tag_update(ID *id, unsigned int flags)
bool ED_space_clip_poll(bContext *C)
ImBuf * ED_space_clip_get_buffer(const SpaceClip *sc)
void ED_region_image_metadata_panel_draw(ImBuf *ibuf, uiLayout *layout)
bool IMB_anim_get_fps(const ImBufAnim *anim, bool no_av_base, short *r_frs_sec, float *r_frs_sec_base)
Contains defines and structs used throughout the imbuf module.
Read Guarded memory(de)allocation.
void uiLayoutSetActive(uiLayout *layout, bool active)
void uiTemplateColorspaceSettings(uiLayout *layout, PointerRNA *ptr, const char *propname)
uiBut * uiDefBut(uiBlock *block, int type, int retval, blender::StringRef str, int x, int y, short width, short height, void *poin, float min, float max, const char *tip)
void uiItemL(uiLayout *layout, const char *name, int icon)
uiBlock * uiLayoutGetBlock(uiLayout *layout)
uiLayout * uiLayoutRow(uiLayout *layout, bool align)
void UI_but_drawflag_enable(uiBut *but, int flag)
void uiLayoutSetAlignment(uiLayout *layout, char alignment)
void UI_but_number_step_size_set(uiBut *but, float step_size)
void UI_block_func_handle_set(uiBlock *block, uiBlockHandleFunc func, void *arg)
uiBut * uiDefButBitI(uiBlock *block, int type, int bit, int retval, blender::StringRef str, int x, int y, short width, short height, int *poin, float min, float max, const char *tip)
uiBut * uiDefButF(uiBlock *block, int type, int retval, blender::StringRef str, int x, int y, short width, short height, float *poin, float min, float max, const char *tip)
void UI_block_align_begin(uiBlock *block)
void uiItemO(uiLayout *layout, const char *name, int icon, const char *opname)
uiBut * uiDefIconButI(uiBlock *block, int type, int retval, int icon, int x, int y, short width, short height, int *poin, float min, float max, const char *tip)
void UI_block_funcN_set(uiBlock *block, uiButHandleNFunc funcN, void *argN, void *arg2, uiButArgNFree func_argN_free_fn=MEM_freeN, uiButArgNCopy func_argN_copy_fn=MEM_dupallocN)
void UI_but_number_precision_set(uiBut *but, float precision)
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)
uiLayout * uiLayoutSplit(uiLayout *layout, float percentage, bool align)
uiBlock * uiLayoutAbsoluteBlock(uiLayout *layout)
uiBut * uiDefIconButBitI(uiBlock *block, int type, int bit, int retval, int icon, int x, int y, short width, short height, int *poin, float min, float max, const char *tip)
void UI_but_funcN_set(uiBut *but, uiButHandleNFunc funcN, void *argN, void *arg2, uiButArgNFree func_argN_free_fn=MEM_freeN, uiButArgNCopy func_argN_copy_fn=MEM_dupallocN)
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 UI_block_align_end(uiBlock *block)
void IMB_freeImBuf(ImBuf *)
void MEM_freeN(void *vmemh)
PropertyRNA * RNA_struct_find_property(PointerRNA *ptr, const char *identifier)
PropertyType RNA_property_type(PropertyRNA *prop)
PointerRNA RNA_property_pointer_get(PointerRNA *ptr, PropertyRNA *prop)
const char * RNA_struct_identifier(const StructRNA *type)
ImBufFloatBuffer float_buffer
MovieTrackingMarker * marker
MovieTrackingTrack * track
float marker_search_pos[2]
float pattern_corners[4][2]
MovieTrackingMarker * markers
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]
void WM_event_add_notifier(const bContext *C, uint type, void *reference)