for more editors: timeline, graph, action, NLA, sequencer, image, clip.
const char draw_flag, const char draw_type,
const int width_i, const int height_i,
const float aspx, const float aspy,
- const short do_scale_applied, const short do_post_draw,
+ const short do_scale_applied, const short do_draw_cb,
float stabmat[4][4],
const struct bContext *C);
const char draw_flag, const char draw_type,
const int width_i, const int height_i, /* convert directly into aspect corrected vars */
const float aspx, const float aspy,
- const short do_scale_applied, const short do_post_draw,
+ const short do_scale_applied, const short do_draw_cb,
float stabmat[4][4], /* optional - only used by clip */
const bContext *C /* optional - only used when do_post_draw is set or called from clip editor */
)
glMultMatrixf(stabmat);
}
+ if (do_draw_cb) {
+ ED_region_draw_cb_draw(C, ar, REGION_DRAW_PRE_VIEW);
+ }
+
/* draw! */
draw_masklays(C, mask, draw_flag, draw_type, width, height);
- if (do_post_draw) {
+ if (do_draw_cb) {
ED_region_draw_cb_draw(C, ar, REGION_DRAW_POST_VIEW);
}
UI_view2d_grid_draw(v2d, grid, V2D_GRIDLINES_ALL);
UI_view2d_grid_free(grid);
+ ED_region_draw_cb_draw(C, ar, REGION_DRAW_PRE_VIEW);
+
/* data */
if (ANIM_animdata_get_context(C, &ac)) {
draw_channel_strips(&ac, saction, ar);
/* preview range */
UI_view2d_view_ortho(v2d);
ANIM_draw_previewrange(C, v2d);
+
+ /* callback */
+ UI_view2d_view_ortho(v2d);
+ ED_region_draw_cb_draw(C, ar, REGION_DRAW_POST_VIEW);
/* reset view matrix */
UI_view2d_view_restore(C);
grid = UI_view2d_grid_calc(CTX_data_scene(C), v2d, unitx, V2D_GRID_NOCLAMP, unity, V2D_GRID_NOCLAMP, ar->winx, ar->winy);
UI_view2d_grid_draw(v2d, grid, V2D_GRIDLINES_ALL);
+ ED_region_draw_cb_draw(C, ar, REGION_DRAW_PRE_VIEW);
+
/* draw data */
if (ANIM_animdata_get_context(C, &ac)) {
/* draw ghost curves */
UI_view2d_view_ortho(v2d);
ANIM_draw_previewrange(C, v2d);
+ /* callback */
+ UI_view2d_view_ortho(v2d);
+ ED_region_draw_cb_draw(C, ar, REGION_DRAW_POST_VIEW);
+
/* reset view matrix */
UI_view2d_view_restore(C);
/* and uvs in 0.0-1.0 space */
UI_view2d_view_ortho(v2d);
+
+ ED_region_draw_cb_draw(C, ar, REGION_DRAW_PRE_VIEW);
+
draw_uvedit_main(sima, ar, scene, obedit, obact);
/* check for mask (delay draw) */
UI_view2d_grid_draw(v2d, grid, V2D_GRIDLINES_ALL);
UI_view2d_grid_free(grid);
+ ED_region_draw_cb_draw(C, ar, REGION_DRAW_PRE_VIEW);
+
/* data */
if (ANIM_animdata_get_context(C, &ac)) {
/* strips and backdrops */
UI_view2d_view_ortho(v2d);
ANIM_draw_previewrange(C, v2d);
+ /* callback */
+ UI_view2d_view_ortho(v2d);
+ ED_region_draw_cb_draw(C, ar, REGION_DRAW_POST_VIEW);
+
/* reset view matrix */
UI_view2d_view_restore(C);
/* regular grid-pattern over the rest of the view (i.e. 25-frame grid lines) */
// NOTE: the gridlines are currently spaced every 25 frames, which is only fine for 25 fps, but maybe not for 30...
UI_view2d_constant_grid_draw(v2d);
+
+ ED_region_draw_cb_draw(C, ar, REGION_DRAW_PRE_VIEW);
seq_draw_sfra_efra(scene, v2d);
}
+ /* callback */
+ ED_region_draw_cb_draw(C, ar, REGION_DRAW_POST_VIEW);
+
/* reset view matrix */
UI_view2d_view_restore(C);
UI_view2d_grid_draw(v2d, grid, (V2D_VERTICAL_LINES | V2D_VERTICAL_AXIS));
UI_view2d_grid_free(grid);
+ ED_region_draw_cb_draw(C, ar, REGION_DRAW_PRE_VIEW);
+
/* start and end frame */
time_draw_sfra_efra(scene, v2d);
/* caches */
time_draw_cache(stime, obact, scene);
+ /* callback */
+ UI_view2d_view_ortho(v2d);
+ ED_region_draw_cb_draw(C, ar, REGION_DRAW_POST_VIEW);
+
/* reset view matrix */
UI_view2d_view_restore(C);