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:
authorAaron Carlisle <carlisle.b3d@gmail.com>2021-10-21 02:49:02 +0300
committerCampbell Barton <ideasman42@gmail.com>2021-10-21 05:15:41 +0300
commit69102786047dccdcbaee0df6307a8c3364d28fe0 (patch)
tree327a99274ee99dc576cbb2e9657f5e0c6e1c56fc /source/blender/editors/interface/interface_query.c
parent2905b493fe5b569069d6035c9a17ed855c03fa17 (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.c51
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, &region->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, &region->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, &region->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 = &region->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, &region->v2d, x, y)) {
+ UI_view2d_mouse_in_scrollers(region, &region->v2d, xy)) {
return false;
}
}