diff options
author | Campbell Barton <ideasman42@gmail.com> | 2018-09-04 10:57:59 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2018-09-04 11:05:17 +0300 |
commit | 571aead323dd4cb84d2a39894172c119d6dfbab5 (patch) | |
tree | 0714bd7ca441e74cfeadf6172dd3644e4251f15e /source/blender/windowmanager | |
parent | e913e79fb51cb48d880473c82c00ca39c73cdca2 (diff) |
UI: support immediate non-overlapping tooltips
Use these for the toolbar, since they're non-overlapping the interface,
showing them quickly isn't a problem.
Diffstat (limited to 'source/blender/windowmanager')
-rw-r--r-- | source/blender/windowmanager/WM_api.h | 2 | ||||
-rw-r--r-- | source/blender/windowmanager/intern/wm_event_system.c | 2 | ||||
-rw-r--r-- | source/blender/windowmanager/intern/wm_tooltip.c | 5 |
3 files changed, 5 insertions, 4 deletions
diff --git a/source/blender/windowmanager/WM_api.h b/source/blender/windowmanager/WM_api.h index 66e3a77a66a..36f030e4eac 100644 --- a/source/blender/windowmanager/WM_api.h +++ b/source/blender/windowmanager/WM_api.h @@ -628,7 +628,7 @@ typedef struct ARegion *(*wmTooltipInitFn)(struct bContext *, struct ARegion *, void WM_tooltip_timer_init( struct bContext *C, struct wmWindow *win, struct ARegion *ar, - wmTooltipInitFn init); + wmTooltipInitFn init, bool quick); void WM_tooltip_timer_clear(struct bContext *C, struct wmWindow *win); void WM_tooltip_clear(struct bContext *C, struct wmWindow *win); void WM_tooltip_init(struct bContext *C, struct wmWindow *win); diff --git a/source/blender/windowmanager/intern/wm_event_system.c b/source/blender/windowmanager/intern/wm_event_system.c index cd1357e85b1..f074c083b31 100644 --- a/source/blender/windowmanager/intern/wm_event_system.c +++ b/source/blender/windowmanager/intern/wm_event_system.c @@ -2422,7 +2422,7 @@ static int wm_handlers_do_intern(bContext *C, wmEvent *event, ListBase *handlers int part; gz = wm_gizmomap_highlight_find(gzmap, C, event, &part); if (wm_gizmomap_highlight_set(gzmap, C, gz, part) && gz != NULL) { - WM_tooltip_timer_init(C, CTX_wm_window(C), region, WM_gizmomap_tooltip_init); + WM_tooltip_timer_init(C, CTX_wm_window(C), region, WM_gizmomap_tooltip_init, false); } } else { diff --git a/source/blender/windowmanager/intern/wm_tooltip.c b/source/blender/windowmanager/intern/wm_tooltip.c index 94a44a97afd..0953351de2b 100644 --- a/source/blender/windowmanager/intern/wm_tooltip.c +++ b/source/blender/windowmanager/intern/wm_tooltip.c @@ -39,7 +39,7 @@ void WM_tooltip_timer_init( bContext *C, wmWindow *win, ARegion *ar, - wmTooltipInitFn init) + wmTooltipInitFn init, bool quick) { WM_tooltip_timer_clear(C, win); @@ -49,7 +49,8 @@ void WM_tooltip_timer_init( screen->tool_tip = MEM_callocN(sizeof(*screen->tool_tip), __func__); } screen->tool_tip->region_from = ar; - screen->tool_tip->timer = WM_event_add_timer(wm, win, TIMER, UI_TOOLTIP_DELAY); + screen->tool_tip->timer = WM_event_add_timer( + wm, win, TIMER, quick ? UI_TOOLTIP_DELAY_QUICK : UI_TOOLTIP_DELAY); screen->tool_tip->init = init; } |