diff options
author | Sebastian Parborg <darkdefende@gmail.com> | 2019-07-31 20:10:44 +0300 |
---|---|---|
committer | Sebastian Parborg <darkdefende@gmail.com> | 2019-07-31 20:16:47 +0300 |
commit | f7c13f2d761a1938a96c6435055c4308504527ff (patch) | |
tree | 75eb6742d3f35e906eff86af8c3e34e383971324 /source/blender/editors/interface/interface_query.c | |
parent | 81d4cf5f5a1d7db95f9cd75f32f5ec40252a609f (diff) |
Revert "UI: remove checks for other popovers when switching menu"
This reverts commit 77616571292ab1eeb9805797bfdd4525cc306923.
This commit broke overlapping popovers. For example in the color
management tab it would be impossible to select and of the popover
alternatives as it would switch to the menu button under the cursor.
Diffstat (limited to 'source/blender/editors/interface/interface_query.c')
-rw-r--r-- | source/blender/editors/interface/interface_query.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/source/blender/editors/interface/interface_query.c b/source/blender/editors/interface/interface_query.c index 462183b4245..d0efb3714bc 100644 --- a/source/blender/editors/interface/interface_query.c +++ b/source/blender/editors/interface/interface_query.c @@ -570,3 +570,29 @@ bool ui_region_contains_rect_px(const ARegion *ar, const rcti *rect_px) } /** \} */ + +/* -------------------------------------------------------------------- */ +/** \name Screen (#bScreen) Spatial + * \{ */ + +/** Check if the cursor is over any popups. */ +ARegion *ui_screen_region_find_mouse_over_ex(bScreen *screen, int x, int y) +{ + for (ARegion *ar = screen->regionbase.first; ar; ar = ar->next) { + rcti winrct; + + ui_region_winrct_get_no_margin(ar, &winrct); + + if (BLI_rcti_isect_pt(&winrct, x, y)) { + return ar; + } + } + return NULL; +} + +ARegion *ui_screen_region_find_mouse_over(bScreen *screen, const wmEvent *event) +{ + return ui_screen_region_find_mouse_over_ex(screen, event->x, event->y); +} + +/** \} */ |