diff options
Diffstat (limited to 'source/blender/editors/space_graph/space_graph.c')
-rw-r--r-- | source/blender/editors/space_graph/space_graph.c | 32 |
1 files changed, 15 insertions, 17 deletions
diff --git a/source/blender/editors/space_graph/space_graph.c b/source/blender/editors/space_graph/space_graph.c index b9c7c529620..052e089942c 100644 --- a/source/blender/editors/space_graph/space_graph.c +++ b/source/blender/editors/space_graph/space_graph.c @@ -200,9 +200,7 @@ static void graph_main_region_draw(const bContext *C, ARegion *region) Scene *scene = CTX_data_scene(C); bAnimContext ac; View2D *v2d = ®ion->v2d; - View2DScrollers *scrollers; float col[3]; - short cfra_flag = 0; /* clear and setup matrix */ UI_GetThemeColor3fv(TH_BACK, col); @@ -284,14 +282,6 @@ static void graph_main_region_draw(const bContext *C, ARegion *region) immUnbindProgram(); } - if (sipo->mode != SIPO_MODE_DRIVERS) { - /* current frame */ - if (sipo->flag & SIPO_DRAWTIME) { - cfra_flag |= DRAWCFRA_UNIT_SECONDS; - } - ANIM_draw_cfra(C, v2d, cfra_flag); - } - /* markers */ if (sipo->mode != SIPO_MODE_DRIVERS) { UI_view2d_view_orthoSpecial(region, v2d, 1); @@ -316,12 +306,22 @@ static void graph_main_region_draw(const bContext *C, ARegion *region) /* time-scrubbing */ ED_time_scrub_draw(region, scene, display_seconds, false); +} + +static void graph_main_region_draw_overlay(const bContext *C, ARegion *region) +{ + /* draw entirely, view changes should be handled here */ + const SpaceGraph *sipo = CTX_wm_space_graph(C); + const Scene *scene = CTX_data_scene(C); + const bool draw_vert_line = sipo->mode != SIPO_MODE_DRIVERS; + View2D *v2d = ®ion->v2d; + + /* scrubbing region */ + ED_time_scrub_draw_current_frame(region, scene, sipo->flag & SIPO_DRAWTIME, draw_vert_line); /* scrollers */ // FIXME: args for scrollers depend on the type of data being shown... - scrollers = UI_view2d_scrollers_calc(v2d, NULL); - UI_view2d_scrollers_draw(v2d, scrollers); - UI_view2d_scrollers_free(scrollers); + UI_view2d_scrollers_draw(v2d, NULL); /* scale numbers */ { @@ -358,7 +358,6 @@ static void graph_channel_region_draw(const bContext *C, ARegion *region) { bAnimContext ac; View2D *v2d = ®ion->v2d; - View2DScrollers *scrollers; float col[3]; /* clear and setup matrix */ @@ -380,9 +379,7 @@ static void graph_channel_region_draw(const bContext *C, ARegion *region) UI_view2d_view_restore(C); /* scrollers */ - scrollers = UI_view2d_scrollers_calc(v2d, NULL); - UI_view2d_scrollers_draw(v2d, scrollers); - UI_view2d_scrollers_free(scrollers); + UI_view2d_scrollers_draw(v2d, NULL); } /* add handlers, stuff you only do once or on area/region changes */ @@ -859,6 +856,7 @@ void ED_spacetype_ipo(void) art->regionid = RGN_TYPE_WINDOW; art->init = graph_main_region_init; art->draw = graph_main_region_draw; + art->draw_overlay = graph_main_region_draw_overlay; art->listener = graph_region_listener; art->message_subscribe = graph_region_message_subscribe; art->keymapflag = ED_KEYMAP_VIEW2D | ED_KEYMAP_ANIMATION | ED_KEYMAP_FRAMES; |