70 for (region =
area->regionbase.first; region; region = region->
next) {
154 region->
v2d.
min[0] = 0.0f;
155 region->
v2d.
min[1] = 0.0f;
156 region->
v2d.
max[0] = 12000.0f;
157 region->
v2d.
max[1] = 12000.0f;
176 region->
v2d.
min[0] = 10.0f;
177 region->
v2d.
min[1] = 1.0f;
244 bool view_changed =
false;
246 switch (sseq->
view) {
291 if (region_main && region_preview) {
301 region_preview->
sizey = (int)(
height - region_main->sizey);
308 region_main->sizey = (int)(
height - region_preview->
sizey);
320 if (region_preview->
sizey < 10 || region_main->sizey < 10 ||
321 region_preview->
sizey + region_main->sizey >
height) {
323 region_main->sizey = (int)(
height - region_preview->
sizey);
436 gzgt->
name =
"Sequencer Transform Gizmo";
437 gzgt->
idname =
"SEQUENCER_GGT_gizmo2d";
450 gzgt->
name =
"Sequencer Translate Gizmo";
451 gzgt->
idname =
"SEQUENCER_GGT_gizmo2d_translate";
464 gzgt->
name =
"Sequencer Transform Gizmo Resize";
465 gzgt->
idname =
"SEQUENCER_GGT_gizmo2d_resize";
478 gzgt->
name =
"Sequencer Transform Gizmo Resize";
479 gzgt->
idname =
"SEQUENCER_GGT_gizmo2d_rotate";
573 const float scrub_bar_height =
BLI_rcti_size_y(&scrub_rect) * pixel_view_size_y;
576 strip_boundbox.
ymax += 1.0f + scrub_bar_height;
579 float scroll_bar_height = v2d->
hor.
ymax * pixel_view_size_y;
584 strip_boundbox.
ymin -= markers_size;
587 strip_boundbox.
ymin -= scroll_bar_height;
596 if (view_clamped.
ymax > strip_boundbox.
ymax) {
597 view_clamped.
ymax = strip_boundbox.
ymax;
600 if (view_clamped.
ymin < strip_boundbox.
ymin) {
601 view_clamped.
ymin = strip_boundbox.
ymin;
605 v2d->
cur = view_clamped;
690 use_preview ? &rna_Scene_frame_preview_start : &rna_Scene_frame_start,
691 use_preview ? &rna_Scene_frame_preview_end : &rna_Scene_frame_end,
692 &rna_Scene_use_preview_range,
693 &rna_Scene_frame_current,
711 &RNA_SequenceTransform,
712 &RNA_SequenceModifier,
713 &RNA_SequenceColorBalanceData,
716 for (
int i = 0; i <
ARRAY_SIZE(type_array); i++) {
717 msg_key_params.
ptr.
type = type_array[i];
719 mbus, &msg_key_params, &msg_sub_value_region_tag_redraw, __func__);
812 const bool draw_frame_overlay = (
scene->
ed &&
844 float cursor_pixel[2];
856 int xoffset = rect->
xmin +
U.widget_unit;
857 int yoffset = rect->
ymax;
968 const struct IDRemapper *mappings)
1106 if (
G.background == 0) {
struct ScrArea * CTX_wm_area(const bContext *C)
struct Scene * CTX_data_scene(const bContext *C)
void CTX_data_dir_set(bContextDataResult *result, const char **dir)
bool CTX_data_equals(const char *member, const char *str)
void CTX_data_id_pointer_set(bContextDataResult *result, struct ID *id)
bool CTX_data_dir(const char *member)
struct wmWindowManager * CTX_wm_manager(const bContext *C)
struct SpaceSeq * CTX_wm_space_seq(const bContext *C)
@ CTX_RESULT_MEMBER_NOT_FOUND
struct wmWindow * CTX_wm_window(const bContext *C)
IDRemapperApplyResult BKE_id_remapper_apply(const struct IDRemapper *id_remapper, struct ID **r_id_ptr, IDRemapperApplyOptions options)
void BKE_spacetype_register(struct SpaceType *st)
SequencerDrawView sequencer_view3d_fn
void BLI_ghash_free(GHash *gh, GHashKeyFreeFP keyfreefp, GHashValFreeFP valfreefp)
BLI_INLINE bool BLI_listbase_is_empty(const struct ListBase *lb)
void BLI_addhead(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
void BLI_addtail(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
MINLINE float max_ff(float a, float b)
MINLINE float min_ff(float a, float b)
BLI_INLINE int BLI_rcti_size_y(const struct rcti *rct)
void BLI_rctf_init(struct rctf *rect, float xmin, float xmax, float ymin, float ymax)
BLI_INLINE float BLI_rctf_size_y(const struct rctf *rct)
@ RGN_FLAG_HIDDEN_BY_USER
#define SEQ_EDIT_OVERLAY_FRAME_ABS
#define SEQ_EDIT_OVERLAY_FRAME_SHOW
@ SEQ_TIMELINE_SHOW_FCURVES
@ SEQ_TIMELINE_SHOW_STRIP_DURATION
@ SEQ_TIMELINE_SHOW_STRIP_SOURCE
@ SEQ_TIMELINE_SHOW_STRIP_NAME
@ SEQ_TIMELINE_SHOW_STRIP_COLOR_TAG
@ SEQ_VIEW_SEQUENCE_PREVIEW
@ SEQ_PREVIEW_SHOW_GPENCIL
@ SEQ_PREVIEW_SHOW_OUTLINE_SELECTED
@ SEQ_PREVIEW_SHOW_2D_CURSOR
@ SEQ_OVERLAY_FRAME_TYPE_RECT
@ SEQ_OVERLAY_FRAME_TYPE_CURRENT
@ SEQ_OVERLAY_FRAME_TYPE_REFERENCE
@ V2D_VIEWSYNC_AREA_VERTICAL
@ V2D_SCROLL_VERTICAL_HIDE
@ V2D_SCROLL_VERTICAL_HANDLES
@ V2D_SCROLL_HORIZONTAL_HANDLES
void DRW_draw_cursor_2d_ex(const struct ARegion *region, const float cursor[2])
void ED_area_tag_redraw(ScrArea *area)
bScreen * ED_screen_animation_no_scrub(const struct wmWindowManager *wm)
void ED_region_header(const struct bContext *C, struct ARegion *region)
void ED_region_do_msg_notify_tag_redraw(struct bContext *C, struct wmMsgSubscribeKey *msg_key, struct wmMsgSubscribeValue *msg_val)
void ED_area_do_mgs_subscribe_for_tool_ui(const struct wmRegionMessageSubscribeParams *params)
int ED_region_generic_tools_region_snap_size(const struct ARegion *region, int size, int axis)
void ED_region_generic_tools_region_message_subscribe(const struct wmRegionMessageSubscribeParams *params)
int ED_area_headersize(void)
void ED_region_panels(const struct bContext *C, struct ARegion *region)
void ED_area_do_mgs_subscribe_for_tool_header(const struct wmRegionMessageSubscribeParams *params)
struct ARegionType * ED_area_type_hud(int space_type)
bScreen * ED_screen_animation_playing(const struct wmWindowManager *wm)
void ED_region_panels_init(struct wmWindowManager *wm, struct ARegion *region)
void ED_region_tag_redraw(struct ARegion *region)
void ED_region_header_init(struct ARegion *region)
void ED_area_init(struct wmWindowManager *wm, struct wmWindow *win, struct ScrArea *area)
const rcti * ED_region_visible_rect(ARegion *region)
void ED_scene_draw_fps(const struct Scene *scene, int xoffset, int *yoffset)
struct ImBuf * ED_view3d_draw_offscreen_imbuf_simple(struct Depsgraph *depsgraph, struct Scene *scene, struct View3DShading *shading_override, eDrawType drawtype, struct Object *camera, int width, int height, eImBufFlags imbuf_flags, eV3DOffscreenDrawFlag draw_flags, int alpha_mode, const char *viewname, struct GPUOffScreen *ofs, char err_out[256])
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei height
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum type
void GPU_depth_mask(bool depth)
void GPU_color_mask(bool r, bool g, bool b, bool a)
void GPU_depth_test(eGPUDepthTest test)
Read Guarded memory(de)allocation.
void UI_panel_category_active_set_default(struct ARegion *region, const char *idname)
#define UI_SIDEBAR_PANEL_WIDTH
#define UI_COMPACT_PANEL_WIDTH
void VIEW2D_GGT_navigate_impl(struct wmGizmoGroupType *gzgt, const char *idname)
#define UI_MARKER_MARGIN_Y
void UI_view2d_region_reinit(struct View2D *v2d, short type, int winx, int winy)
@ WM_GIZMOMAP_DRAWSTEP_2D
@ WM_GIZMOGROUPTYPE_TOOL_FALLBACK_KEYMAP
@ WM_GIZMOGROUPTYPE_DELAY_REFRESH_FOR_TWEAK
#define ND_SPACE_SEQUENCER
#define ND_GPENCIL_EDITMODE
#define ND_RENDER_OPTIONS
#define ND_DRAW_RENDER_VIEWPORT
ListBase * ED_context_get_markers(const bContext *C)
void IMB_freeImBuf(ImBuf *UNUSED(ibuf))
const vector< Marker > & markers
void *(* MEM_dupallocN)(const void *vmemh)
void *(* MEM_callocN)(size_t len, const char *str)
ccl_device_inline float4 mask(const int4 &mask, const float4 &a)
static void area(int d1, int d2, int e1, int e2, float weights[2])
static const pxr::TfToken st("st", pxr::TfToken::Immortal)
void RNA_id_pointer_create(ID *id, PointerRNA *r_ptr)
Editing * SEQ_editing_get(const Scene *scene)
void draw_channels(const bContext *C, ARegion *region)
void sequencer_dropboxes(void)
void draw_timeline_seq_display(const bContext *C, ARegion *region)
void sequencer_draw_preview(const bContext *C, Scene *scene, ARegion *region, SpaceSeq *sseq, int timeline_frame, int offset, bool draw_overlay, bool draw_backdrop)
void draw_timeline_seq(const bContext *C, ARegion *region)
void last_displayed_thumbnails_list_free(void *val)
void sequencer_operatortypes(void)
void sequencer_keymap(struct wmKeyConfig *keyconf)
static void sequencer_main_region_view2d_changed(const bContext *C, ARegion *region)
static void sequencer_channel_region_init(wmWindowManager *wm, ARegion *region)
static void SEQUENCER_GGT_gizmo2d(wmGizmoGroupType *gzgt)
static void sequencer_preview_region_listener(const wmRegionListenerParams *params)
static SpaceLink * sequencer_duplicate(SpaceLink *sl)
static void sequencer_preview_region_view2d_changed(const bContext *C, ARegion *UNUSED(region))
static ARegion * sequencer_find_region(ScrArea *area, short type)
static void SEQUENCER_GGT_gizmo2d_rotate(wmGizmoGroupType *gzgt)
static void sequencer_listener(const wmSpaceTypeListenerParams *params)
static void sequencer_main_region_layout(const bContext *C, ARegion *region)
static void sequencer_main_region_init(wmWindowManager *wm, ARegion *region)
const char * sequencer_context_dir[]
static SpaceLink * sequencer_create(const ScrArea *UNUSED(area), const Scene *scene)
static void sequencer_preview_region_layout(const bContext *C, ARegion *region)
static void sequencer_main_region_listener(const wmRegionListenerParams *params)
static void sequencer_preview_region_draw(const bContext *C, ARegion *region)
static void sequencer_header_region_draw(const bContext *C, ARegion *region)
static void sequencer_main_region_draw_overlay(const bContext *C, ARegion *region)
static void sequencer_free(SpaceLink *sl)
static bool is_cursor_visible(const SpaceSeq *sseq)
static void sequencer_buttons_region_listener(const wmRegionListenerParams *params)
static void sequencer_header_region_init(wmWindowManager *UNUSED(wm), ARegion *region)
static void sequencer_main_clamp_view(const bContext *C, ARegion *region)
static void sequencer_channel_region_draw(const bContext *C, ARegion *region)
static void sequencer_preview_region_init(wmWindowManager *wm, ARegion *region)
static void SEQUENCER_GGT_gizmo2d_resize(wmGizmoGroupType *gzgt)
static void sequencer_main_region_draw(const bContext *C, ARegion *region)
static void SEQUENCER_GGT_gizmo2d_translate(wmGizmoGroupType *gzgt)
void ED_spacetype_sequencer(void)
static void sequencer_scopes_tag_refresh(ScrArea *area)
static void sequencer_init(struct wmWindowManager *UNUSED(wm), ScrArea *UNUSED(area))
static void sequencer_buttons_region_draw(const bContext *C, ARegion *region)
static void sequencer_main_region_message_subscribe(const wmRegionMessageSubscribeParams *params)
static void sequencer_refresh(const bContext *C, ScrArea *area)
static int sequencer_context(const bContext *C, const char *member, bContextDataResult *result)
static void SEQUENCER_GGT_navigate(wmGizmoGroupType *gzgt)
static void sequencer_id_remap(ScrArea *UNUSED(area), SpaceLink *slink, const struct IDRemapper *mappings)
static void sequencer_buttons_region_init(wmWindowManager *wm, ARegion *region)
static void sequencer_main_region_clamp_custom_set(const bContext *C, ARegion *region)
static void sequencer_gizmos(void)
static void sequencer_tools_region_draw(const bContext *C, ARegion *region)
static void sequencer_tools_region_init(wmWindowManager *wm, ARegion *region)
void SEQ_timeline_expand_boundbox(const Scene *scene, const ListBase *seqbase, rctf *rect)
void(* draw)(const struct bContext *C, struct ARegion *region)
void(* message_subscribe)(const wmRegionMessageSubscribeParams *params)
int(* snap_size)(const struct ARegion *region, int size, int axis)
void(* draw_overlay)(const struct bContext *C, struct ARegion *region)
void(* listener)(const wmRegionListenerParams *params)
void(* on_view2d_changed)(const struct bContext *C, struct ARegion *region)
void(* layout)(const struct bContext *C, struct ARegion *region)
void(* init)(struct wmWindowManager *wm, struct ARegion *region)
struct wmGizmoMap * gizmo_map
struct ImBuf * reference_ibuf
struct ImBuf * waveform_ibuf
struct ImBuf * sep_waveform_ibuf
struct ImBuf * zebra_ibuf
struct ImBuf * histogram_ibuf
struct ImBuf * vector_ibuf
float timeline_clamp_custom_range
struct GHash * last_displayed_thumbnails
struct rctf last_thumbnail_area
struct SequencerScopes scopes
struct SequencerTimelineOverlay timeline_overlay
struct SequencerPreviewOverlay preview_overlay
struct wmTimer * smooth_timer
eWM_GizmoFlagGroupTypeFlag flag
struct wmGizmoMapType_Params gzmap_params
struct wmKeyConfig * defaultconf
void ED_time_scrub_region_rect_get(const ARegion *region, rcti *rect)
Mask * SEQ_active_mask_get(Scene *scene)
ListBase * WM_dropboxmap_find(const char *idname, int spaceid, int regionid)
wmEventHandler_Dropbox * WM_event_add_dropbox_handler(ListBase *handlers, ListBase *dropboxes)
wmEventHandler_Keymap * WM_event_add_keymap_handler_v2d_mask(ListBase *handlers, wmKeyMap *keymap)
void WM_event_remove_handlers(bContext *C, ListBase *handlers)
wmGizmoGroupTypeRef * WM_gizmogrouptype_append_and_link(wmGizmoMapType *gzmap_type, void(*wtfunc)(struct wmGizmoGroupType *))
wmGizmoGroupType * WM_gizmogrouptype_append(void(*wtfunc)(struct wmGizmoGroupType *))
wmGizmoMapType * WM_gizmomaptype_ensure(const struct wmGizmoMapType_Params *gzmap_params)
void WM_gizmomap_tag_refresh(wmGizmoMap *gzmap)
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(struct wmMsgBus *mbus, const wmMsgParams_RNA *msg_key_params, const wmMsgSubscribeValue *msg_val_params, const char *id_repr)
void WM_msg_subscribe_rna(struct wmMsgBus *mbus, PointerRNA *ptr, const PropertyRNA *prop, const wmMsgSubscribeValue *msg_val_params, const char *id_repr)