Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2018-04-28 23:54:11 +0300
committerCampbell Barton <ideasman42@gmail.com>2018-04-29 10:16:32 +0300
commita56d6e467b9a8ad422de100a969dc2d0b9276135 (patch)
treeef99b1c0f1fd15565ddf9aafa76a1fa1d7c2ad2d /source/blender/editors/interface/interface_region_popover.c
parentca7964c24b814182c0261d1c3f4ffeb6cfd799a7 (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.c9
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, &center[0], &center[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. */