diff options
author | Joshua Leung <aligorith@gmail.com> | 2018-04-24 20:18:22 +0300 |
---|---|---|
committer | Joshua Leung <aligorith@gmail.com> | 2018-04-24 20:18:31 +0300 |
commit | b05fd95f8aaf3eecb88dbb87744fec7bda30fa1f (patch) | |
tree | ba86fc0063cd639954a85ea4724946a2fd2cafcf /source/blender/editors/space_action/space_action.c | |
parent | 9511cc13d75a156743bf55a73d5c7fc8f56fe72b (diff) |
Current Frame Indicator tweaks
* Draw the frame/time number box over the scrollbar instead of above it,
to reduce the clutter/clashes with markers.
* Draw the box centered around the line instead of off to one side,
making it clearer that the frame shown is the one being affected.
* Make the box larger than the scrollbar + use white text to make it
stand out from the neighbouring frame numbers (otherwise, it's easy
to misread that it's just another one of those)
Diffstat (limited to 'source/blender/editors/space_action/space_action.c')
-rw-r--r-- | source/blender/editors/space_action/space_action.c | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/source/blender/editors/space_action/space_action.c b/source/blender/editors/space_action/space_action.c index f749cce69e3..5353c250d1e 100644 --- a/source/blender/editors/space_action/space_action.c +++ b/source/blender/editors/space_action/space_action.c @@ -217,7 +217,9 @@ static void action_main_region_draw(const bContext *C, ARegion *ar) View2D *v2d = &ar->v2d; View2DGrid *grid; View2DScrollers *scrollers; - short unit = 0, flag = 0; + short marker_flag = 0; + short cfra_flag = 0; + short unit = 0; /* clear and setup matrix */ UI_ThemeClearColor(TH_BACK); @@ -242,15 +244,14 @@ static void action_main_region_draw(const bContext *C, ARegion *ar) } /* current frame */ - if (saction->flag & SACTION_DRAWTIME) flag |= DRAWCFRA_UNIT_SECONDS; - if ((saction->flag & SACTION_NODRAWCFRANUM) == 0) flag |= DRAWCFRA_SHOW_NUMBOX; - ANIM_draw_cfra(C, v2d, flag); + if (saction->flag & SACTION_DRAWTIME) cfra_flag |= DRAWCFRA_UNIT_SECONDS; + ANIM_draw_cfra(C, v2d, cfra_flag); /* markers */ UI_view2d_view_orthoSpecial(ar, v2d, 1); - flag = ((ac.markers && (ac.markers != &ac.scene->markers)) ? DRAW_MARKERS_LOCAL : 0) | DRAW_MARKERS_MARGIN; - ED_markers_draw(C, flag); + marker_flag = ((ac.markers && (ac.markers != &ac.scene->markers)) ? DRAW_MARKERS_LOCAL : 0) | DRAW_MARKERS_MARGIN; + ED_markers_draw(C, marker_flag); /* caches */ if (saction->mode == SACTCONT_TIMELINE) { @@ -272,6 +273,12 @@ static void action_main_region_draw(const bContext *C, ARegion *ar) scrollers = UI_view2d_scrollers_calc(C, v2d, unit, V2D_GRID_CLAMP, V2D_ARG_DUMMY, V2D_ARG_DUMMY); UI_view2d_scrollers_draw(C, v2d, scrollers); UI_view2d_scrollers_free(scrollers); + + /* draw current frame number-indicator on top of scrollers */ + if ((saction->flag & SACTION_NODRAWCFRANUM) == 0) { + UI_view2d_view_orthoSpecial(ar, v2d, 1); + ANIM_draw_cfra_number(C, v2d, cfra_flag); + } } /* add handlers, stuff you only do once or on area/region changes */ |