diff options
author | Aaron Carlisle <carlisle.b3d@gmail.com> | 2021-10-21 02:49:02 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2021-10-21 05:15:41 +0300 |
commit | 69102786047dccdcbaee0df6307a8c3364d28fe0 (patch) | |
tree | 327a99274ee99dc576cbb2e9657f5e0c6e1c56fc /source/blender/editors/interface/interface_query.c | |
parent | 2905b493fe5b569069d6035c9a17ed855c03fa17 (diff) |
Cleanup: Use array as a parameter for event x/y functions
This change simplifies the parameter list for these functions
and reduces the chance of typos mixing up array indices.
Reviewed By: campbellbarton
Ref D12950
Diffstat (limited to 'source/blender/editors/interface/interface_query.c')
-rw-r--r-- | source/blender/editors/interface/interface_query.c | 51 |
1 files changed, 23 insertions, 28 deletions
diff --git a/source/blender/editors/interface/interface_query.c b/source/blender/editors/interface/interface_query.c index b80e0bfc3ca..85f829c7f48 100644 --- a/source/blender/editors/interface/interface_query.c +++ b/source/blender/editors/interface/interface_query.c @@ -222,14 +222,14 @@ bool ui_but_contains_rect(const uiBut *but, const rctf *rect) return BLI_rctf_isect(&but->rect, rect, NULL); } -bool ui_but_contains_point_px(const uiBut *but, const ARegion *region, int x, int y) +bool ui_but_contains_point_px(const uiBut *but, const ARegion *region, const int xy[2]) { uiBlock *block = but->block; - if (!ui_region_contains_point_px(region, x, y)) { + if (!ui_region_contains_point_px(region, xy)) { return false; } - float mx = x, my = y; + float mx = xy[0], my = xy[1]; ui_window_to_block_fl(region, block, &mx, &my); if (but->pie_dir != UI_RADIAL_NONE) { @@ -286,19 +286,18 @@ static uiBut *ui_but_find(const ARegion *region, /* x and y are only used in case event is NULL... */ uiBut *ui_but_find_mouse_over_ex(const ARegion *region, - const int x, - const int y, + const int xy[2], const bool labeledit, const uiButFindPollFn find_poll, const void *find_custom_data) { uiBut *butover = NULL; - if (!ui_region_contains_point_px(region, x, y)) { + if (!ui_region_contains_point_px(region, xy)) { return NULL; } LISTBASE_FOREACH (uiBlock *, block, ®ion->uiblocks) { - float mx = x, my = y; + float mx = xy[0], my = xy[1]; ui_window_to_block_fl(region, block, &mx, &my); LISTBASE_FOREACH_BACKWARD (uiBut *, but, &block->buttons) { @@ -333,8 +332,7 @@ uiBut *ui_but_find_mouse_over_ex(const ARegion *region, uiBut *ui_but_find_mouse_over(const ARegion *region, const wmEvent *event) { - return ui_but_find_mouse_over_ex( - region, event->xy[0], event->xy[1], event->ctrl != 0, NULL, NULL); + return ui_but_find_mouse_over_ex(region, event->xy, event->ctrl != 0, NULL, NULL); } uiBut *ui_but_find_rect_over(const struct ARegion *region, const rcti *rect_px) @@ -375,13 +373,13 @@ uiBut *ui_but_find_rect_over(const struct ARegion *region, const rcti *rect_px) return butover; } -uiBut *ui_list_find_mouse_over_ex(const ARegion *region, int x, int y) +uiBut *ui_list_find_mouse_over_ex(const ARegion *region, const int xy[2]) { - if (!ui_region_contains_point_px(region, x, y)) { + if (!ui_region_contains_point_px(region, xy)) { return NULL; } LISTBASE_FOREACH (uiBlock *, block, ®ion->uiblocks) { - float mx = x, my = y; + float mx = xy[0], my = xy[1]; ui_window_to_block_fl(region, block, &mx, &my); LISTBASE_FOREACH_BACKWARD (uiBut *, but, &block->buttons) { if (but->type == UI_BTYPE_LISTBOX && ui_but_contains_pt(but, mx, my)) { @@ -399,7 +397,7 @@ uiBut *ui_list_find_mouse_over(const ARegion *region, const wmEvent *event) /* If there is no info about the mouse, just act as if there is nothing underneath it. */ return NULL; } - return ui_list_find_mouse_over_ex(region, event->xy[0], event->xy[1]); + return ui_list_find_mouse_over_ex(region, event->xy); } uiList *UI_list_find_mouse_over(const ARegion *region, const wmEvent *event) @@ -436,9 +434,9 @@ static bool ui_but_is_listrow(const uiBut *but, const void *UNUSED(customdata)) return but->type == UI_BTYPE_LISTROW; } -uiBut *ui_list_row_find_mouse_over(const ARegion *region, const int x, const int y) +uiBut *ui_list_row_find_mouse_over(const ARegion *region, const int xy[2]) { - return ui_but_find_mouse_over_ex(region, x, y, false, ui_but_is_listrow, NULL); + return ui_but_find_mouse_over_ex(region, xy, false, ui_but_is_listrow, NULL); } struct ListRowFindIndexData { @@ -469,9 +467,9 @@ static bool ui_but_is_treerow(const uiBut *but, const void *UNUSED(customdata)) return but->type == UI_BTYPE_TREEROW; } -uiBut *ui_tree_row_find_mouse_over(const ARegion *region, const int x, const int y) +uiBut *ui_tree_row_find_mouse_over(const ARegion *region, const int xy[2]) { - return ui_but_find_mouse_over_ex(region, x, y, false, ui_but_is_treerow, NULL); + return ui_but_find_mouse_over_ex(region, xy, false, ui_but_is_treerow, NULL); } static bool ui_but_is_active_treerow(const uiBut *but, const void *customdata) @@ -683,12 +681,9 @@ bool UI_block_can_add_separator(const uiBlock *block) /** \name Block (#uiBlock) Spatial * \{ */ -uiBlock *ui_block_find_mouse_over_ex(const ARegion *region, - const int x, - const int y, - bool only_clip) +uiBlock *ui_block_find_mouse_over_ex(const ARegion *region, const int xy[2], bool only_clip) { - if (!ui_region_contains_point_px(region, x, y)) { + if (!ui_region_contains_point_px(region, xy)) { return NULL; } LISTBASE_FOREACH (uiBlock *, block, ®ion->uiblocks) { @@ -697,7 +692,7 @@ uiBlock *ui_block_find_mouse_over_ex(const ARegion *region, continue; } } - float mx = x, my = y; + float mx = xy[0], my = xy[1]; ui_window_to_block_fl(region, block, &mx, &my); if (BLI_rctf_isect_pt(&block->rect, mx, my)) { return block; @@ -708,7 +703,7 @@ uiBlock *ui_block_find_mouse_over_ex(const ARegion *region, uiBlock *ui_block_find_mouse_over(const ARegion *region, const wmEvent *event, bool only_clip) { - return ui_block_find_mouse_over_ex(region, event->xy[0], event->xy[1], only_clip); + return ui_block_find_mouse_over_ex(region, event->xy, only_clip); } /** \} */ @@ -748,11 +743,11 @@ uiBut *ui_region_find_first_but_test_flag(ARegion *region, int flag_include, int /** \name Region (#ARegion) Spatial * \{ */ -bool ui_region_contains_point_px(const ARegion *region, int x, int y) +bool ui_region_contains_point_px(const ARegion *region, const int xy[2]) { rcti winrct; ui_region_winrct_get_no_margin(region, &winrct); - if (!BLI_rcti_isect_pt(&winrct, x, y)) { + if (!BLI_rcti_isect_pt_v(&winrct, xy)) { return false; } @@ -763,11 +758,11 @@ bool ui_region_contains_point_px(const ARegion *region, int x, int y) */ if (region->v2d.mask.xmin != region->v2d.mask.xmax) { const View2D *v2d = ®ion->v2d; - int mx = x, my = y; + int mx = xy[0], my = xy[1]; ui_window_to_region(region, &mx, &my); if (!BLI_rcti_isect_pt(&v2d->mask, mx, my) || - UI_view2d_mouse_in_scrollers(region, ®ion->v2d, x, y)) { + UI_view2d_mouse_in_scrollers(region, ®ion->v2d, xy)) { return false; } } |