diff options
author | Campbell Barton <ideasman42@gmail.com> | 2018-04-28 23:54:11 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2018-04-29 10:16:32 +0300 |
commit | a56d6e467b9a8ad422de100a969dc2d0b9276135 (patch) | |
tree | ef99b1c0f1fd15565ddf9aafa76a1fa1d7c2ad2d /source/blender/editors/interface/interface_region_popover.c | |
parent | ca7964c24b814182c0261d1c3f4ffeb6cfd799a7 (diff) |
UI: show popover arrow directly under the button
A visual hint but looks broken when its not pointing to the button.
Diffstat (limited to 'source/blender/editors/interface/interface_region_popover.c')
-rw-r--r-- | source/blender/editors/interface/interface_region_popover.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/source/blender/editors/interface/interface_region_popover.c b/source/blender/editors/interface/interface_region_popover.c index ea8c4d9ddce..845511b3279 100644 --- a/source/blender/editors/interface/interface_region_popover.c +++ b/source/blender/editors/interface/interface_region_popover.c @@ -140,6 +140,15 @@ static uiBlock *ui_block_func_POPOVER(bContext *C, uiPopupBlockHandle *handle, v bool slideout = false; //ui_block_is_menu(pup->but->block); if (slideout) UI_block_direction_set(block, UI_DIR_RIGHT); + + /* Store the button location for positioning the popover arrow hint. */ + { + float center[2] = {BLI_rctf_cent_x(&pup->but->rect), BLI_rctf_cent_y(&pup->but->rect)}; + ui_block_to_window_fl(handle->ctx_region, pup->but->block, ¢er[0], ¢er[1]); + /* These variables aren't used for popovers, we could add new variables if there is a conflict. */ + block->mx = (int)center[0]; + block->my = (int)center[1]; + } } else { /* Not attached to a button. */ |