diff options
author | Aaron Carlisle <carlisle.b3d@gmail.com> | 2021-10-20 15:45:30 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2021-10-20 16:00:01 +0300 |
commit | 2743d746ea4f38c098512f6dd6fc33d5a62429d3 (patch) | |
tree | 0680f3c4713b7ecd698b91c5d1298734fc55f7ff /source/blender/editors/interface | |
parent | 3435ea014d42d1e223513f448cbdaba63864115c (diff) |
Cleanup: use an array for wmEvent cursor position variables
Use arrays for wmEvent coordinates, this quiets warnings with GCC11.
- `x, y` -> `xy`.
- `prevx, prevy` -> `prev_xy`.
- `prevclickx, prevclicky` -> `prev_click_xy`.
There is still some cleanup such as using `copy_v2_v2_int()`,
this can be done separately.
Reviewed By: campbellbarton, Severin
Ref D12901
Diffstat (limited to 'source/blender/editors/interface')
22 files changed, 226 insertions, 212 deletions
diff --git a/source/blender/editors/interface/interface.c b/source/blender/editors/interface/interface.c index b7458793f15..fe4caf03184 100644 --- a/source/blender/editors/interface/interface.c +++ b/source/blender/editors/interface/interface.c @@ -1988,7 +1988,7 @@ void UI_block_end(const bContext *C, uiBlock *block) { wmWindow *window = CTX_wm_window(C); - UI_block_end_ex(C, block, &window->eventstate->x, NULL); + UI_block_end_ex(C, block, window->eventstate->xy, NULL); } /* ************** BLOCK DRAWING FUNCTION ************* */ diff --git a/source/blender/editors/interface/interface_context_menu.c b/source/blender/editors/interface/interface_context_menu.c index d327124484b..7d5295aa758 100644 --- a/source/blender/editors/interface/interface_context_menu.c +++ b/source/blender/editors/interface/interface_context_menu.c @@ -928,7 +928,7 @@ bool ui_popup_context_menu_for_button(bContext *C, uiBut *but, const wmEvent *ev { const ARegion *region = CTX_wm_region(C); uiButTreeRow *treerow_but = (uiButTreeRow *)ui_tree_row_find_mouse_over( - region, event->x, event->y); + region, event->xy[0], event->xy[1]); if (treerow_but) { BLI_assert(treerow_but->but.type == UI_BTYPE_TREEROW); UI_tree_view_item_context_menu_build( @@ -1216,8 +1216,8 @@ bool ui_popup_context_menu_for_button(bContext *C, uiBut *but, const wmEvent *ev ARegion *region = CTX_wm_region(C); const bool is_inside_listbox = ui_list_find_mouse_over(region, event) != NULL; const bool is_inside_listrow = is_inside_listbox ? - ui_list_row_find_mouse_over(region, event->x, event->y) != - NULL : + ui_list_row_find_mouse_over( + region, event->xy[0], event->xy[1]) != NULL : false; if (is_inside_listrow) { MenuType *mt = WM_menutype_find("UI_MT_list_item_context_menu", true); diff --git a/source/blender/editors/interface/interface_dropboxes.cc b/source/blender/editors/interface/interface_dropboxes.cc index cb33e7f736e..34bd5f17881 100644 --- a/source/blender/editors/interface/interface_dropboxes.cc +++ b/source/blender/editors/interface/interface_dropboxes.cc @@ -30,7 +30,7 @@ static bool ui_tree_view_drop_poll(bContext *C, wmDrag *drag, const wmEvent *eve { const ARegion *region = CTX_wm_region(C); const uiTreeViewItemHandle *hovered_tree_item = UI_block_tree_view_find_item_at( - region, event->x, event->y); + region, event->xy[0], event->xy[1]); if (!hovered_tree_item) { return false; } @@ -45,7 +45,7 @@ static char *ui_tree_view_drop_tooltip(bContext *C, { const ARegion *region = CTX_wm_region(C); const uiTreeViewItemHandle *hovered_tree_item = UI_block_tree_view_find_item_at( - region, event->x, event->y); + region, event->xy[0], event->xy[1]); if (!hovered_tree_item) { return nullptr; } diff --git a/source/blender/editors/interface/interface_eyedropper.c b/source/blender/editors/interface/interface_eyedropper.c index 58a9f362488..395ecc77ef4 100644 --- a/source/blender/editors/interface/interface_eyedropper.c +++ b/source/blender/editors/interface/interface_eyedropper.c @@ -126,8 +126,8 @@ void eyedropper_draw_cursor_text_window(const struct wmWindow *window, const cha return; } - const int x = window->eventstate->x; - const int y = window->eventstate->y; + const int x = window->eventstate->xy[0]; + const int y = window->eventstate->xy[1]; eyedropper_draw_cursor_text_ex(x, y, name); } @@ -153,8 +153,8 @@ void eyedropper_draw_cursor_text_region(const int x, const int y, const char *na uiBut *eyedropper_get_property_button_under_mouse(bContext *C, const wmEvent *event) { bScreen *screen = CTX_wm_screen(C); - ScrArea *area = BKE_screen_find_area_xy(screen, SPACE_TYPE_ANY, event->x, event->y); - const ARegion *region = BKE_area_find_region_xy(area, RGN_TYPE_ANY, event->x, event->y); + ScrArea *area = BKE_screen_find_area_xy(screen, SPACE_TYPE_ANY, event->xy[0], event->xy[1]); + const ARegion *region = BKE_area_find_region_xy(area, RGN_TYPE_ANY, event->xy[0], event->xy[1]); uiBut *but = ui_but_find_mouse_over(region, event); diff --git a/source/blender/editors/interface/interface_eyedropper_color.c b/source/blender/editors/interface/interface_eyedropper_color.c index 9d06fb2b27a..c3633e11f83 100644 --- a/source/blender/editors/interface/interface_eyedropper_color.c +++ b/source/blender/editors/interface/interface_eyedropper_color.c @@ -481,7 +481,7 @@ static int eyedropper_modal(bContext *C, wmOperator *op, const wmEvent *event) case EYE_MODAL_SAMPLE_CONFIRM: { const bool is_undo = eye->is_undo; if (eye->accum_tot == 0) { - eyedropper_color_sample(C, eye, event->x, event->y); + eyedropper_color_sample(C, eye, event->xy[0], event->xy[1]); } eyedropper_exit(C, op); /* Could support finished & undo-skip. */ @@ -490,23 +490,23 @@ static int eyedropper_modal(bContext *C, wmOperator *op, const wmEvent *event) case EYE_MODAL_SAMPLE_BEGIN: /* enable accum and make first sample */ eye->accum_start = true; - eyedropper_color_sample(C, eye, event->x, event->y); + eyedropper_color_sample(C, eye, event->xy[0], event->xy[1]); break; case EYE_MODAL_SAMPLE_RESET: eye->accum_tot = 0; zero_v3(eye->accum_col); - eyedropper_color_sample(C, eye, event->x, event->y); + eyedropper_color_sample(C, eye, event->xy[0], event->xy[1]); break; } } else if (ELEM(event->type, MOUSEMOVE, INBETWEEN_MOUSEMOVE)) { if (eye->accum_start) { /* button is pressed so keep sampling */ - eyedropper_color_sample(C, eye, event->x, event->y); + eyedropper_color_sample(C, eye, event->xy[0], event->xy[1]); } if (eye->draw_handle_sample_text) { - eyedropper_color_sample_text_update(C, eye, event->x, event->y); + eyedropper_color_sample_text_update(C, eye, event->xy[0], event->xy[1]); ED_region_tag_redraw(CTX_wm_region(C)); } } diff --git a/source/blender/editors/interface/interface_eyedropper_colorband.c b/source/blender/editors/interface/interface_eyedropper_colorband.c index d32eb415b19..22320282766 100644 --- a/source/blender/editors/interface/interface_eyedropper_colorband.c +++ b/source/blender/editors/interface/interface_eyedropper_colorband.c @@ -233,7 +233,7 @@ static int eyedropper_colorband_modal(bContext *C, wmOperator *op, const wmEvent return OPERATOR_CANCELLED; case EYE_MODAL_SAMPLE_CONFIRM: { const bool is_undo = eye->is_undo; - eyedropper_colorband_sample_segment(C, eye, event->x, event->y); + eyedropper_colorband_sample_segment(C, eye, event->xy[0], event->xy[1]); eyedropper_colorband_apply(C, op); eyedropper_colorband_exit(C, op); /* Could support finished & undo-skip. */ @@ -242,10 +242,10 @@ static int eyedropper_colorband_modal(bContext *C, wmOperator *op, const wmEvent case EYE_MODAL_SAMPLE_BEGIN: /* enable accum and make first sample */ eye->sample_start = true; - eyedropper_colorband_sample_point(C, eye, event->x, event->y); + eyedropper_colorband_sample_point(C, eye, event->xy[0], event->xy[1]); eyedropper_colorband_apply(C, op); - eye->last_x = event->x; - eye->last_y = event->y; + eye->last_x = event->xy[0]; + eye->last_y = event->xy[1]; break; case EYE_MODAL_SAMPLE_RESET: break; @@ -253,7 +253,7 @@ static int eyedropper_colorband_modal(bContext *C, wmOperator *op, const wmEvent } else if (event->type == MOUSEMOVE) { if (eye->sample_start) { - eyedropper_colorband_sample_segment(C, eye, event->x, event->y); + eyedropper_colorband_sample_segment(C, eye, event->xy[0], event->xy[1]); eyedropper_colorband_apply(C, op); } } @@ -280,7 +280,7 @@ static int eyedropper_colorband_point_modal(bContext *C, wmOperator *op, const w } break; case EYE_MODAL_POINT_SAMPLE: - eyedropper_colorband_sample_point(C, eye, event->x, event->y); + eyedropper_colorband_sample_point(C, eye, event->xy[0], event->xy[1]); eyedropper_colorband_apply(C, op); if (eye->color_buffer_len == MAXCOLORBAND) { eyedropper_colorband_exit(C, op); diff --git a/source/blender/editors/interface/interface_eyedropper_datablock.c b/source/blender/editors/interface/interface_eyedropper_datablock.c index 4996c803dfe..261aa997d06 100644 --- a/source/blender/editors/interface/interface_eyedropper_datablock.c +++ b/source/blender/editors/interface/interface_eyedropper_datablock.c @@ -292,7 +292,7 @@ static int datadropper_modal(bContext *C, wmOperator *op, const wmEvent *event) return OPERATOR_CANCELLED; case EYE_MODAL_SAMPLE_CONFIRM: { const bool is_undo = ddr->is_undo; - const bool success = datadropper_id_sample(C, ddr, event->x, event->y); + const bool success = datadropper_id_sample(C, ddr, event->xy[0], event->xy[1]); datadropper_exit(C, op); if (success) { /* Could support finished & undo-skip. */ @@ -309,7 +309,7 @@ static int datadropper_modal(bContext *C, wmOperator *op, const wmEvent *event) wmWindow *win; ScrArea *area; - int mval[] = {event->x, event->y}; + int mval[] = {event->xy[0], event->xy[1]}; datadropper_win_area_find(C, mval, mval, &win, &area); /* Set the region for eyedropper cursor text drawing */ diff --git a/source/blender/editors/interface/interface_eyedropper_depth.c b/source/blender/editors/interface/interface_eyedropper_depth.c index 311f718d950..4172c474f4a 100644 --- a/source/blender/editors/interface/interface_eyedropper_depth.c +++ b/source/blender/editors/interface/interface_eyedropper_depth.c @@ -276,7 +276,7 @@ static int depthdropper_modal(bContext *C, wmOperator *op, const wmEvent *event) case EYE_MODAL_SAMPLE_CONFIRM: { const bool is_undo = ddr->is_undo; if (ddr->accum_tot == 0) { - depthdropper_depth_sample(C, ddr, event->x, event->y); + depthdropper_depth_sample(C, ddr, event->xy[0], event->xy[1]); } else { depthdropper_depth_set_accum(C, ddr); @@ -288,12 +288,12 @@ static int depthdropper_modal(bContext *C, wmOperator *op, const wmEvent *event) case EYE_MODAL_SAMPLE_BEGIN: /* enable accum and make first sample */ ddr->accum_start = true; - depthdropper_depth_sample_accum(C, ddr, event->x, event->y); + depthdropper_depth_sample_accum(C, ddr, event->xy[0], event->xy[1]); break; case EYE_MODAL_SAMPLE_RESET: ddr->accum_tot = 0; ddr->accum_depth = 0.0f; - depthdropper_depth_sample_accum(C, ddr, event->x, event->y); + depthdropper_depth_sample_accum(C, ddr, event->xy[0], event->xy[1]); depthdropper_depth_set_accum(C, ddr); break; } @@ -301,7 +301,7 @@ static int depthdropper_modal(bContext *C, wmOperator *op, const wmEvent *event) else if (event->type == MOUSEMOVE) { if (ddr->accum_start) { /* button is pressed so keep sampling */ - depthdropper_depth_sample_accum(C, ddr, event->x, event->y); + depthdropper_depth_sample_accum(C, ddr, event->xy[0], event->xy[1]); depthdropper_depth_set_accum(C, ddr); } } diff --git a/source/blender/editors/interface/interface_eyedropper_gpencil_color.c b/source/blender/editors/interface/interface_eyedropper_gpencil_color.c index 417807afff1..d76ff84bcad 100644 --- a/source/blender/editors/interface/interface_eyedropper_gpencil_color.c +++ b/source/blender/editors/interface/interface_eyedropper_gpencil_color.c @@ -292,7 +292,7 @@ static int eyedropper_gpencil_modal(bContext *C, wmOperator *op, const wmEvent * return OPERATOR_CANCELLED; } case EYE_MODAL_SAMPLE_CONFIRM: { - eyedropper_gpencil_color_sample(C, eye, event->x, event->y); + eyedropper_gpencil_color_sample(C, eye, event->xy[0], event->xy[1]); /* Create material. */ eyedropper_gpencil_color_set(C, event, eye); @@ -309,7 +309,7 @@ static int eyedropper_gpencil_modal(bContext *C, wmOperator *op, const wmEvent * } case MOUSEMOVE: case INBETWEEN_MOUSEMOVE: { - eyedropper_gpencil_color_sample(C, eye, event->x, event->y); + eyedropper_gpencil_color_sample(C, eye, event->xy[0], event->xy[1]); break; } default: { diff --git a/source/blender/editors/interface/interface_handlers.c b/source/blender/editors/interface/interface_handlers.c index 81494264cdf..129f3143451 100644 --- a/source/blender/editors/interface/interface_handlers.c +++ b/source/blender/editors/interface/interface_handlers.c @@ -358,7 +358,7 @@ typedef struct uiHandleButtonMulti { * here so we can tell if this is a vertical motion or not. */ float drag_dir[2]; - /* values copied direct from event->x,y + /* values copied direct from event->xy * used to detect buttons between the current and initial mouse position */ int drag_start[2]; @@ -1426,8 +1426,8 @@ static bool ui_multibut_states_tag(uiBut *but_active, seg[0][0] = data->multi_data.drag_start[0]; seg[0][1] = data->multi_data.drag_start[1]; - seg[1][0] = event->x; - seg[1][1] = event->y; + seg[1][0] = event->xy[0]; + seg[1][1] = event->xy[1]; BLI_assert(data->multi_data.init == BUTTON_MULTI_INIT_SETUP); @@ -1746,7 +1746,7 @@ static int ui_handler_region_drag_toggle(bContext *C, const wmEvent *event, void break; } case MOUSEMOVE: { - ui_drag_toggle_set(C, drag_info, &event->x); + ui_drag_toggle_set(C, drag_info, event->xy); break; } } @@ -2064,7 +2064,8 @@ static bool ui_but_drag_init(bContext *C, WM_event_drag_threshold(event), (int)((UI_UNIT_Y / 2) * ui_block_to_window_scale(data->region, but->block))); - if (abs(data->dragstartx - event->x) + abs(data->dragstarty - event->y) > drag_threshold) { + if (abs(data->dragstartx - event->xy[0]) + abs(data->dragstarty - event->xy[1]) > + drag_threshold) { button_activate_state(C, but, BUTTON_STATE_EXIT); data->cancel = true; #ifdef USE_DRAG_TOGGLE @@ -2079,8 +2080,8 @@ static bool ui_but_drag_init(bContext *C, drag_info->pushed_state = ui_drag_toggle_but_pushed_state(but); drag_info->but_cent_start[0] = BLI_rctf_cent_x(&but->rect); drag_info->but_cent_start[1] = BLI_rctf_cent_y(&but->rect); - copy_v2_v2_int(drag_info->xy_init, &event->x); - copy_v2_v2_int(drag_info->xy_last, &event->x); + copy_v2_v2_int(drag_info->xy_init, &event->xy[0]); + copy_v2_v2_int(drag_info->xy_last, &event->xy[0]); /* needed for toggle drag on popups */ region_prev = CTX_wm_region(C); @@ -3421,9 +3422,9 @@ static void ui_textedit_ime_begin(wmWindow *win, uiBut *UNUSED(but)) BLI_assert(win->ime_data == NULL); /* enable IME and position to cursor, it's a trick */ - x = win->eventstate->x; + x = win->eventstate->xy[0]; /* flip y and move down a bit, prevent the IME panel cover the edit button */ - y = win->eventstate->y - 12; + y = win->eventstate->xy[1] - 12; wm_window_IME_begin(win, x, y, 0, 0, true); } @@ -3737,18 +3738,18 @@ static void ui_do_but_textedit( /* exit on LMB only on RELEASE for searchbox, to mimic other popups, * and allow multiple menu levels */ if (data->searchbox) { - inbox = ui_searchbox_inside(data->searchbox, event->x, event->y); + inbox = ui_searchbox_inside(data->searchbox, event->xy[0], event->xy[1]); } /* for double click: we do a press again for when you first click on button * (selects all text, no cursor pos) */ if (ELEM(event->val, KM_PRESS, KM_DBL_CLICK)) { - float mx = event->x; - float my = event->y; + float mx = event->xy[0]; + float my = event->xy[1]; ui_window_to_block_fl(data->region, block, &mx, &my); if (ui_but_contains_pt(but, mx, my)) { - ui_textedit_set_cursor_pos(but, data, event->x); + ui_textedit_set_cursor_pos(but, data, event->xy[0]); but->selsta = but->selend = but->pos; data->sel_pos_init = but->pos; @@ -4019,11 +4020,11 @@ static void ui_do_but_textedit_select( switch (event->type) { case MOUSEMOVE: { - int mx = event->x; - int my = event->y; + int mx = event->xy[0]; + int my = event->xy[1]; ui_window_to_block(data->region, block, &mx, &my); - ui_textedit_set_cursor_select(but, data, event->x); + ui_textedit_set_cursor_select(but, data, event->xy[0]); retval = WM_UI_HANDLER_BREAK; break; } @@ -4359,7 +4360,8 @@ static uiBut *ui_but_list_row_text_activate(bContext *C, uiButtonActivateType activate_type) { ARegion *region = CTX_wm_region(C); - uiBut *labelbut = ui_but_find_mouse_over_ex(region, event->x, event->y, true, NULL, NULL); + uiBut *labelbut = ui_but_find_mouse_over_ex( + region, event->xy[0], event->xy[1], true, NULL, NULL); if (labelbut && labelbut->type == UI_BTYPE_TEXT && !(labelbut->flag & UI_BUT_DISABLED)) { /* exit listrow */ @@ -4386,7 +4388,7 @@ static uiButExtraOpIcon *ui_but_extra_operator_icon_mouse_over_get(uiBut *but, { float xmax = but->rect.xmax; const float icon_size = 0.8f * BLI_rctf_size_y(&but->rect); /* ICON_SIZE_FROM_BUTRECT */ - int x = event->x, y = event->y; + int x = event->xy[0], y = event->xy[1]; ui_window_to_block(data->region, but->block, &x, &y); if (!BLI_rctf_isect_pt(&but->rect, x, y)) { @@ -4476,8 +4478,8 @@ static bool ui_do_but_ANY_drag_toggle( # endif ui_apply_but(C, but->block, but, data, true); button_activate_state(C, but, BUTTON_STATE_WAIT_DRAG); - data->dragstartx = event->x; - data->dragstarty = event->y; + data->dragstartx = event->xy[0]; + data->dragstarty = event->xy[1]; *r_retval = WM_UI_HANDLER_BREAK; return true; } @@ -4563,7 +4565,8 @@ static int ui_do_but_HOTKEYEVT(bContext *C, if (event->type == LEFTMOUSE && event->val == KM_PRESS) { /* only cancel if click outside the button */ - if (ui_but_contains_point_px(but, but->active->region, event->x, event->y) == false) { + if (ui_but_contains_point_px(but, but->active->region, event->xy[0], event->xy[1]) == + false) { /* data->cancel doesn't work, this button opens immediate */ if (but->flag & UI_BUT_IMMEDIATE) { ui_but_value_set(but, 0); @@ -4860,16 +4863,16 @@ static int ui_do_but_EXIT(bContext *C, uiBut *but, uiHandleButtonData *data, con /* tell the button to wait and keep checking further events to * see if it should start dragging */ button_activate_state(C, but, BUTTON_STATE_WAIT_DRAG); - data->dragstartx = event->x; - data->dragstarty = event->y; + data->dragstartx = event->xy[0]; + data->dragstarty = event->xy[1]; return WM_UI_HANDLER_CONTINUE; } } #ifdef USE_DRAG_TOGGLE if ((event->type == LEFTMOUSE) && (event->val == KM_PRESS) && ui_but_is_drag_toggle(but)) { button_activate_state(C, but, BUTTON_STATE_WAIT_DRAG); - data->dragstartx = event->x; - data->dragstarty = event->y; + data->dragstartx = event->xy[0]; + data->dragstarty = event->xy[1]; return WM_UI_HANDLER_CONTINUE; } #endif @@ -5291,8 +5294,8 @@ static void ui_numedit_set_active(uiBut *but) BLI_rctf_size_y(&but->rect) * 0.7f); /* we can click on the side arrows to increment/decrement, * or click inside to edit the value directly */ - int mx = data->window->eventstate->x; - int my = data->window->eventstate->y; + int mx = data->window->eventstate->xy[0]; + int my = data->window->eventstate->xy[1]; ui_window_to_block(data->region, but->block, &mx, &my); if (mx < (but->rect.xmin + handle_width)) { @@ -5332,10 +5335,10 @@ static int ui_do_but_NUM( int retval = WM_UI_HANDLER_CONTINUE; /* mouse location scaled to fit the UI */ - int mx = event->x; - int my = event->y; + int mx = event->xy[0]; + int my = event->xy[1]; /* mouse location kept at screen pixel coords */ - const int screen_mx = event->x; + const int screen_mx = event->xy[0]; BLI_assert(but->type == UI_BTYPE_NUM); @@ -5387,7 +5390,7 @@ static int ui_do_but_NUM( } #ifdef USE_DRAG_MULTINUM - copy_v2_v2_int(data->multi_data.drag_start, &event->x); + copy_v2_v2_int(data->multi_data.drag_start, event->xy); #endif } } @@ -5681,8 +5684,8 @@ static int ui_do_but_SLI( int click = 0; int retval = WM_UI_HANDLER_CONTINUE; - int mx = event->x; - int my = event->y; + int mx = event->xy[0]; + int my = event->xy[1]; ui_window_to_block(data->region, block, &mx, &my); if (data->state == BUTTON_STATE_HIGHLIGHT) { @@ -5741,7 +5744,7 @@ static int ui_do_but_SLI( } } #ifdef USE_DRAG_MULTINUM - copy_v2_v2_int(data->multi_data.drag_start, &event->x); + copy_v2_v2_int(data->multi_data.drag_start, event->xy); #endif } else if (data->state == BUTTON_STATE_NUM_EDITING) { @@ -5901,8 +5904,8 @@ static int ui_do_but_SCROLL( int retval = WM_UI_HANDLER_CONTINUE; const bool horizontal = (BLI_rctf_size_x(&but->rect) > BLI_rctf_size_y(&but->rect)); - int mx = event->x; - int my = event->y; + int mx = event->xy[0]; + int my = event->xy[1]; ui_window_to_block(data->region, block, &mx, &my); if (data->state == BUTTON_STATE_HIGHLIGHT) { @@ -5958,15 +5961,15 @@ static int ui_do_but_GRIP( * See T37739. */ - int mx = event->x; - int my = event->y; + int mx = event->xy[0]; + int my = event->xy[1]; ui_window_to_block(data->region, block, &mx, &my); if (data->state == BUTTON_STATE_HIGHLIGHT) { if (event->val == KM_PRESS) { if (event->type == LEFTMOUSE) { - data->dragstartx = event->x; - data->dragstarty = event->y; + data->dragstartx = event->xy[0]; + data->dragstarty = event->xy[1]; button_activate_state(C, but, BUTTON_STATE_NUM_EDITING); retval = WM_UI_HANDLER_BREAK; } @@ -6029,16 +6032,16 @@ static int ui_do_but_BLOCK(bContext *C, uiBut *but, uiHandleButtonData *data, co if (event->type == LEFTMOUSE && but->dragpoin && event->val == KM_PRESS) { if (ui_but_contains_point_px_icon(but, data->region, event)) { button_activate_state(C, but, BUTTON_STATE_WAIT_DRAG); - data->dragstartx = event->x; - data->dragstarty = event->y; + data->dragstartx = event->xy[0]; + data->dragstarty = event->xy[1]; return WM_UI_HANDLER_BREAK; } } #ifdef USE_DRAG_TOGGLE if (event->type == LEFTMOUSE && event->val == KM_PRESS && (ui_but_is_drag_toggle(but))) { button_activate_state(C, but, BUTTON_STATE_WAIT_DRAG); - data->dragstartx = event->x; - data->dragstarty = event->y; + data->dragstartx = event->xy[0]; + data->dragstarty = event->xy[1]; return WM_UI_HANDLER_BREAK; } #endif @@ -6215,8 +6218,8 @@ static int ui_do_but_COLOR(bContext *C, uiBut *but, uiHandleButtonData *data, co ui_palette_set_active(color_but); if (ui_but_contains_point_px_icon(but, data->region, event)) { button_activate_state(C, but, BUTTON_STATE_WAIT_DRAG); - data->dragstartx = event->x; - data->dragstarty = event->y; + data->dragstartx = event->xy[0]; + data->dragstarty = event->xy[1]; return WM_UI_HANDLER_BREAK; } } @@ -6224,8 +6227,8 @@ static int ui_do_but_COLOR(bContext *C, uiBut *but, uiHandleButtonData *data, co if (event->type == LEFTMOUSE && event->val == KM_PRESS) { ui_palette_set_active(color_but); button_activate_state(C, but, BUTTON_STATE_WAIT_DRAG); - data->dragstartx = event->x; - data->dragstarty = event->y; + data->dragstartx = event->xy[0]; + data->dragstarty = event->xy[1]; return WM_UI_HANDLER_BREAK; } #endif @@ -6251,7 +6254,7 @@ static int ui_do_but_COLOR(bContext *C, uiBut *but, uiHandleButtonData *data, co hsv[2] = clamp_f(hsv[2] + 0.05f, 0.0f, 1.0f); } else { - const float fac = 0.005 * (event->y - event->prevy); + const float fac = 0.005 * (event->xy[1] - event->prev_xy[1]); hsv[2] = clamp_f(hsv[2] + fac, 0.0f, 1.0f); } @@ -6355,8 +6358,8 @@ static int ui_do_but_COLOR(bContext *C, uiBut *but, uiHandleButtonData *data, co static int ui_do_but_UNITVEC( bContext *C, uiBlock *block, uiBut *but, uiHandleButtonData *data, const wmEvent *event) { - int mx = event->x; - int my = event->y; + int mx = event->xy[0]; + int my = event->xy[1]; ui_window_to_block(data->region, block, &mx, &my); if (data->state == BUTTON_STATE_HIGHLIGHT) { @@ -6649,8 +6652,8 @@ static int ui_do_but_HSVCUBE( bContext *C, uiBlock *block, uiBut *but, uiHandleButtonData *data, const wmEvent *event) { uiButHSVCube *hsv_but = (uiButHSVCube *)but; - int mx = event->x; - int my = event->y; + int mx = event->xy[0]; + int my = event->xy[1]; ui_window_to_block(data->region, block, &mx, &my); if (data->state == BUTTON_STATE_HIGHLIGHT) { @@ -6925,8 +6928,8 @@ static int ui_do_but_HSVCIRCLE( { ColorPicker *cpicker = but->custom_data; float *hsv = cpicker->hsv_perceptual; - int mx = event->x; - int my = event->y; + int mx = event->xy[0]; + int my = event->xy[1]; ui_window_to_block(data->region, block, &mx, &my); if (data->state == BUTTON_STATE_HIGHLIGHT) { @@ -7054,8 +7057,8 @@ static bool ui_numedit_but_COLORBAND(uiBut *but, uiHandleButtonData *data, int m static int ui_do_but_COLORBAND( bContext *C, uiBlock *block, uiBut *but, uiHandleButtonData *data, const wmEvent *event) { - int mx = event->x; - int my = event->y; + int mx = event->xy[0]; + int my = event->xy[1]; ui_window_to_block(data->region, block, &mx, &my); if (data->state == BUTTON_STATE_HIGHLIGHT) { @@ -7250,8 +7253,8 @@ static int ui_do_but_CURVE( Scene *scene = CTX_data_scene(C); ViewLayer *view_layer = CTX_data_view_layer(C); - int mx = event->x; - int my = event->y; + int mx = event->xy[0]; + int my = event->xy[1]; ui_window_to_block(data->region, block, &mx, &my); if (data->state == BUTTON_STATE_HIGHLIGHT) { @@ -7343,10 +7346,10 @@ static int ui_do_but_CURVE( data->dragsel = sel; - data->dragstartx = event->x; - data->dragstarty = event->y; - data->draglastx = event->x; - data->draglasty = event->y; + data->dragstartx = event->xy[0]; + data->dragstarty = event->xy[1]; + data->draglastx = event->xy[0]; + data->draglasty = event->xy[1]; button_activate_state(C, but, BUTTON_STATE_NUM_EDITING); return WM_UI_HANDLER_BREAK; @@ -7354,10 +7357,15 @@ static int ui_do_but_CURVE( } else if (data->state == BUTTON_STATE_NUM_EDITING) { if (event->type == MOUSEMOVE) { - if (event->x != data->draglastx || event->y != data->draglasty) { - - if (ui_numedit_but_CURVE( - block, but, data, event->x, event->y, event->ctrl != 0, event->shift != 0)) { + if (event->xy[0] != data->draglastx || event->xy[1] != data->draglasty) { + + if (ui_numedit_but_CURVE(block, + but, + data, + event->xy[0], + event->xy[1], + event->ctrl != 0, + event->shift != 0)) { ui_numedit_apply(C, block, but, data); } } @@ -7531,8 +7539,8 @@ static int ui_do_but_CURVEPROFILE( bContext *C, uiBlock *block, uiBut *but, uiHandleButtonData *data, const wmEvent *event) { CurveProfile *profile = (CurveProfile *)but->poin; - int mx = event->x; - int my = event->y; + int mx = event->xy[0]; + int my = event->xy[1]; ui_window_to_block(data->region, block, &mx, &my); @@ -7714,8 +7722,8 @@ static bool ui_numedit_but_HISTOGRAM(uiBut *but, uiHandleButtonData *data, int m static int ui_do_but_HISTOGRAM( bContext *C, uiBlock *block, uiBut *but, uiHandleButtonData *data, const wmEvent *event) { - int mx = event->x; - int my = event->y; + int mx = event->xy[0]; + int my = event->xy[1]; ui_window_to_block(data->region, block, &mx, &my); if (data->state == BUTTON_STATE_HIGHLIGHT) { @@ -7787,8 +7795,8 @@ static bool ui_numedit_but_WAVEFORM(uiBut *but, uiHandleButtonData *data, int mx static int ui_do_but_WAVEFORM( bContext *C, uiBlock *block, uiBut *but, uiHandleButtonData *data, const wmEvent *event) { - int mx = event->x; - int my = event->y; + int mx = event->xy[0]; + int my = event->xy[1]; ui_window_to_block(data->region, block, &mx, &my); if (data->state == BUTTON_STATE_HIGHLIGHT) { @@ -7878,8 +7886,8 @@ static bool ui_numedit_but_TRACKPREVIEW( static int ui_do_but_TRACKPREVIEW( bContext *C, uiBlock *block, uiBut *but, uiHandleButtonData *data, const wmEvent *event) { - int mx = event->x; - int my = event->y; + int mx = event->xy[0]; + int my = event->xy[1]; ui_window_to_block(data->region, block, &mx, &my); if (data->state == BUTTON_STATE_HIGHLIGHT) { @@ -8140,7 +8148,7 @@ static int ui_do_button(bContext *C, uiBlock *block, uiBut *but, const wmEvent * if (fabsf(dot_v2v2(dir_nor_drag, dir_nor_y)) > DRAG_MULTINUM_THRESHOLD_VERTICAL) { data->multi_data.init = BUTTON_MULTI_INIT_SETUP; - data->multi_data.drag_lock_x = event->x; + data->multi_data.drag_lock_x = event->xy[0]; } else { data->multi_data.init = BUTTON_MULTI_INIT_DISABLE; @@ -8153,9 +8161,9 @@ static int ui_do_button(bContext *C, uiBlock *block, uiBut *but, const wmEvent * /* Check if we're don't setting buttons. */ if ((data->str && ELEM(data->state, BUTTON_STATE_TEXT_EDITING, BUTTON_STATE_NUM_EDITING)) || - ((abs(data->multi_data.drag_lock_x - event->x) > margin_x) && + ((abs(data->multi_data.drag_lock_x - event->xy[0]) > margin_x) && /* Just to be sure, check we're dragging more horizontally then vertically. */ - abs(event->prevx - event->x) > abs(event->prevy - event->y))) { + abs(event->prev_xy[0] - event->xy[0]) > abs(event->prev_xy[1] - event->xy[1]))) { if (data->multi_data.has_mbuts) { ui_multibut_states_create(but, data); data->multi_data.init = BUTTON_MULTI_INIT_ENABLE; @@ -9206,7 +9214,7 @@ static int ui_handle_button_event(bContext *C, const wmEvent *event, uiBut *but) /* always deactivate button for pie menus, * else moving to blank space will leave activated */ if ((!ui_block_is_menu(block) || ui_block_is_pie_menu(block)) && - !ui_but_contains_point_px(but, region, event->x, event->y)) { + !ui_but_contains_point_px(but, region, event->xy[0], event->xy[1])) { exit = true; } else if (but_other && ui_but_is_editable(but_other) && (but_other != but)) { @@ -9217,7 +9225,7 @@ static int ui_handle_button_event(bContext *C, const wmEvent *event, uiBut *but) data->cancel = true; button_activate_state(C, but, BUTTON_STATE_EXIT); } - else if (event->x != event->prevx || event->y != event->prevy) { + else if (event->xy[0] != event->prev_xy[0] || event->xy[1] != event->prev_xy[1]) { /* Re-enable tool-tip on mouse move. */ ui_blocks_set_tooltips(region, true); button_tooltip_timer_reset(C, but); @@ -9234,7 +9242,7 @@ static int ui_handle_button_event(bContext *C, const wmEvent *event, uiBut *but) WM_event_remove_timer(data->wm, data->window, data->autoopentimer); data->autoopentimer = NULL; - if (ui_but_contains_point_px(but, region, event->x, event->y) || but->active) { + if (ui_but_contains_point_px(but, region, event->xy[0], event->xy[1]) || but->active) { button_activate_state(C, but, BUTTON_STATE_MENU_OPEN); } } @@ -9284,12 +9292,12 @@ static int ui_handle_button_event(bContext *C, const wmEvent *event, uiBut *but) case MOUSEMOVE: { /* deselect the button when moving the mouse away */ /* also de-activate for buttons that only show highlights */ - if (ui_but_contains_point_px(but, region, event->x, event->y)) { + if (ui_but_contains_point_px(but, region, event->xy[0], event->xy[1])) { /* Drag on a hold button (used in the toolbar) now opens it immediately. */ if (data->hold_action_timer) { if (but->flag & UI_SELECT) { - if (len_manhattan_v2v2_int(&event->x, &event->prevx) <= + if (len_manhattan_v2v2_int(event->xy, event->prev_xy) <= WM_EVENT_CURSOR_MOTION_THRESHOLD) { /* pass */ } @@ -9342,7 +9350,7 @@ static int ui_handle_button_event(bContext *C, const wmEvent *event, uiBut *but) uiBut *bt; if (data->menu && data->menu->region) { - if (ui_region_contains_point_px(data->menu->region, event->x, event->y)) { + if (ui_region_contains_point_px(data->menu->region, event->xy[0], event->xy[1])) { break; } } @@ -9457,7 +9465,7 @@ static int ui_list_activate_hovered_row(bContext *C, } } - const int *mouse_xy = ISTWEAK(event->type) ? &event->prevclickx : &event->x; + const int *mouse_xy = ISTWEAK(event->type) ? &event->prev_click_xy[0] : &event->xy[0]; uiBut *listrow = ui_list_row_find_mouse_over(region, mouse_xy[0], mouse_xy[1]); if (listrow) { wmOperatorType *custom_activate_optype = ui_list->dyn_data->custom_activate_optype; @@ -9484,7 +9492,7 @@ static bool ui_list_is_hovering_draggable_but(bContext *C, const wmEvent *event) { /* On a tweak event, uses the coordinates from where tweaking was started. */ - const int *mouse_xy = ISTWEAK(event->type) ? &event->prevclickx : &event->x; + const int *mouse_xy = ISTWEAK(event->type) ? &event->prev_click_xy[0] : &event->xy[0]; const uiBut *hovered_but = ui_but_find_mouse_over_ex( region, mouse_xy[0], mouse_xy[1], false, NULL, NULL); @@ -9589,8 +9597,8 @@ static int ui_handle_list_event(bContext *C, const wmEvent *event, ARegion *regi } uiListDyn *dyn_data = ui_list->dyn_data; - int mx = event->x; - int my = event->y; + int mx = event->xy[0]; + int my = event->xy[1]; ui_window_to_block(region, listbox->block, &mx, &my); /* Convert pan to scroll-wheel. */ @@ -9728,7 +9736,7 @@ static int ui_handle_tree_hover(const wmEvent *event, const ARegion *region) /* Always highlight the hovered tree-row, even if the mouse hovers another button inside of it. */ - uiBut *hovered_row_but = ui_tree_row_find_mouse_over(region, event->x, event->y); + uiBut *hovered_row_but = ui_tree_row_find_mouse_over(region, event->xy[0], event->xy[1]); if (hovered_row_but) { hovered_row_but->flag |= UI_ACTIVE; } @@ -9772,7 +9780,7 @@ static void ui_handle_button_return_submenu(bContext *C, const wmEvent *event, u } else if (menu->menuretval & UI_RETURN_OUT) { if (event->type == MOUSEMOVE && - ui_but_contains_point_px(but, data->region, event->x, event->y)) { + ui_but_contains_point_px(but, data->region, event->xy[0], event->xy[1])) { button_activate_state(C, but, BUTTON_STATE_HIGHLIGHT); } else { @@ -9912,7 +9920,7 @@ static bool ui_mouse_motion_towards_check(uiBlock *block, static void ui_mouse_motion_keynav_init(struct uiKeyNavLock *keynav, const wmEvent *event) { keynav->is_keynav = true; - copy_v2_v2_int(keynav->event_xy, &event->x); + copy_v2_v2_int(keynav->event_xy, &event->xy[0]); } /** * Return true if key-input isn't blocking mouse-motion, @@ -9921,7 +9929,7 @@ static void ui_mouse_motion_keynav_init(struct uiKeyNavLock *keynav, const wmEve static bool ui_mouse_motion_keynav_test(struct uiKeyNavLock *keynav, const wmEvent *event) { if (keynav->is_keynav && - (len_manhattan_v2v2_int(keynav->event_xy, &event->x) > BUTTON_KEYNAV_PX_LIMIT)) { + (len_manhattan_v2v2_int(keynav->event_xy, event->xy) > BUTTON_KEYNAV_PX_LIMIT)) { keynav->is_keynav = false; } @@ -10111,13 +10119,13 @@ static int ui_handle_menu_button(bContext *C, const wmEvent *event, uiPopupBlock else if (!ui_block_is_menu(but->block) || ui_block_is_pie_menu(but->block)) { /* pass, skip for dialogs */ } - else if (!ui_region_contains_point_px(but->active->region, event->x, event->y)) { + else if (!ui_region_contains_point_px(but->active->region, event->xy[0], event->xy[1])) { /* Pass, needed to click-exit outside of non-floating menus. */ ui_region_auto_open_clear(but->active->region); } else if ((!ELEM(event->type, MOUSEMOVE, WHEELUPMOUSE, WHEELDOWNMOUSE, MOUSEPAN)) && ISMOUSE(event->type)) { - if (!ui_but_contains_point_px(but, but->active->region, event->x, event->y)) { + if (!ui_but_contains_point_px(but, but->active->region, event->xy[0], event->xy[1])) { but = NULL; } } @@ -10191,8 +10199,8 @@ static int ui_handle_menu_event(bContext *C, int retval = WM_UI_HANDLER_CONTINUE; - int mx = event->x; - int my = event->y; + int mx = event->xy[0]; + int my = event->xy[1]; ui_window_to_block(region, block, &mx, &my); /* check if mouse is inside block */ @@ -10213,8 +10221,8 @@ static int ui_handle_menu_event(bContext *C, if (event->type == MOUSEMOVE) { int mdiff[2]; - sub_v2_v2v2_int(mdiff, &event->x, menu->grab_xy_prev); - copy_v2_v2_int(menu->grab_xy_prev, &event->x); + sub_v2_v2v2_int(mdiff, event->xy, menu->grab_xy_prev); + copy_v2_v2_int(menu->grab_xy_prev, event->xy); add_v2_v2v2_int(menu->popup_create_vars.event_xy, menu->popup_create_vars.event_xy, mdiff); @@ -10231,7 +10239,7 @@ static int ui_handle_menu_event(bContext *C, /* if a button is activated modal, always reset the start mouse * position of the towards mechanism to avoid losing focus, * and don't handle events */ - ui_mouse_motion_towards_reinit(menu, &event->x); + ui_mouse_motion_towards_reinit(menu, event->xy); } } else if (event->type == TIMER) { @@ -10243,7 +10251,7 @@ static int ui_handle_menu_event(bContext *C, /* for ui_mouse_motion_towards_block */ if (event->type == MOUSEMOVE) { if (block->flag & (UI_BLOCK_MOVEMOUSE_QUIT | UI_BLOCK_POPOVER)) { - ui_mouse_motion_towards_init(menu, &event->x); + ui_mouse_motion_towards_init(menu, event->xy); } /* add menu scroll timer, if needed */ @@ -10326,14 +10334,14 @@ static int ui_handle_menu_event(bContext *C, retval = WM_UI_HANDLER_BREAK; break; - /* Smooth scrolling for popovers. */ + /* Smooth scrolling for pocopy_v2_v2_int(&povers. */ case MOUSEPAN: { if (IS_EVENT_MOD(event, shift, ctrl, alt, oskey)) { /* pass */ } else if (!ui_block_is_menu(block)) { if (block->flag & (UI_BLOCK_CLIPTOP | UI_BLOCK_CLIPBOTTOM)) { - const float dy = event->y - event->prevy; + const float dy = event->xy[1] - event->prev_xy[1]; if (dy != 0.0f) { ui_menu_scroll_apply_offset_y(region, block, dy); @@ -10656,7 +10664,7 @@ static int ui_handle_menu_event(bContext *C, menu->menuretval = UI_RETURN_OUT; } } - else if (saferct && !BLI_rctf_isect_pt(&saferct->parent, event->x, event->y)) { + else if (saferct && !BLI_rctf_isect_pt(&saferct->parent, event->xy[0], event->xy[1])) { if (block->flag & UI_BLOCK_OUT_1) { menu->menuretval = UI_RETURN_OK; } @@ -10715,13 +10723,13 @@ static int ui_handle_menu_event(bContext *C, #ifdef USE_DRAG_POPUP else if ((event->type == LEFTMOUSE) && (event->val == KM_PRESS) && (inside && is_floating && inside_title)) { - if (!but || !ui_but_contains_point_px(but, region, event->x, event->y)) { + if (!but || !ui_but_contains_point_px(but, region, event->xy[0], event->xy[1])) { if (but) { UI_but_tooltip_timer_remove(C, but); } menu->is_grab = true; - copy_v2_v2_int(menu->grab_xy_prev, &event->x); + copy_v2_v2_int(menu->grab_xy_prev, event->xy); retval = WM_UI_HANDLER_BREAK; } } @@ -10732,7 +10740,7 @@ static int ui_handle_menu_event(bContext *C, if (inside == false && (block->flag & (UI_BLOCK_MOVEMOUSE_QUIT | UI_BLOCK_POPOVER))) { uiSafetyRct *saferct; - ui_mouse_motion_towards_check(block, menu, &event->x, is_parent_inside == false); + ui_mouse_motion_towards_check(block, menu, event->xy, is_parent_inside == false); /* Check for all parent rects, enables arrow-keys to be used. */ for (saferct = block->saferct.first; saferct; saferct = saferct->next) { @@ -10740,10 +10748,10 @@ static int ui_handle_menu_event(bContext *C, * events we check all preceding block rects too to make * arrow keys navigation work */ if (event->type != MOUSEMOVE || saferct == block->saferct.first) { - if (BLI_rctf_isect_pt(&saferct->parent, (float)event->x, (float)event->y)) { + if (BLI_rctf_isect_pt(&saferct->parent, (float)event->xy[0], (float)event->xy[1])) { break; } - if (BLI_rctf_isect_pt(&saferct->safety, (float)event->x, (float)event->y)) { + if (BLI_rctf_isect_pt(&saferct->safety, (float)event->xy[0], (float)event->xy[1])) { break; } } @@ -10844,7 +10852,7 @@ static int ui_handle_menu_return_submenu(bContext *C, if (block->flag & (UI_BLOCK_MOVEMOUSE_QUIT | UI_BLOCK_POPOVER)) { /* for cases where close does not cascade, allow the user to * move the mouse back towards the menu without closing */ - ui_mouse_motion_towards_reinit(menu, &event->x); + ui_mouse_motion_towards_reinit(menu, event->xy); } if (menu->menuretval) { @@ -10952,7 +10960,7 @@ static int ui_pie_handler(bContext *C, const wmEvent *event, uiPopupBlockHandle const double duration = menu->scrolltimer->duration; - float event_xy[2] = {event->x, event->y}; + float event_xy[2] = {event->xy[0], event->xy[1]}; ui_window_to_block_fl(region, block, &event_xy[0], &event_xy[1]); @@ -11207,8 +11215,8 @@ static int ui_handle_menus_recursive(bContext *C, if (do_recursion) { if (is_parent_inside == false) { - int mx = event->x; - int my = event->y; + int mx = event->xy[0]; + int my = event->xy[1]; ui_window_to_block(menu->region, block, &mx, &my); inside = BLI_rctf_isect_pt(&block->rect, mx, my); } @@ -11274,7 +11282,7 @@ static int ui_handle_menus_recursive(bContext *C, } if (do_towards_reinit) { - ui_mouse_motion_towards_reinit(menu, &event->x); + ui_mouse_motion_towards_reinit(menu, event->xy); } return retval; @@ -11335,7 +11343,8 @@ static int ui_region_handler(bContext *C, const wmEvent *event, void *UNUSED(use } /* Re-enable tool-tips. */ - if (event->type == MOUSEMOVE && (event->x != event->prevx || event->y != event->prevy)) { + if (event->type == MOUSEMOVE && + (event->xy[0] != event->prev_xy[0] || event->xy[1] != event->prev_xy[1])) { ui_blocks_set_tooltips(region, true); } @@ -11436,7 +11445,8 @@ static int ui_handler_region_menu(bContext *C, const wmEvent *event, void *UNUSE } /* Re-enable tool-tips. */ - if (event->type == MOUSEMOVE && (event->x != event->prevx || event->y != event->prevy)) { + if (event->type == MOUSEMOVE && + (event->xy[0] != event->prev_xy[0] || event->xy[1] != event->prev_xy[1])) { ui_blocks_set_tooltips(region, true); } @@ -11530,7 +11540,8 @@ static int ui_popup_handler(bContext *C, const wmEvent *event, void *userdata) } else { /* Re-enable tool-tips */ - if (event->type == MOUSEMOVE && (event->x != event->prevx || event->y != event->prevy)) { + if (event->type == MOUSEMOVE && + (event->xy[0] != event->prev_xy[0] || event->xy[1] != event->prev_xy[1])) { ui_blocks_set_tooltips(menu->region, true); } } diff --git a/source/blender/editors/interface/interface_ops.c b/source/blender/editors/interface/interface_ops.c index 69a3cc959c9..e58b2168dda 100644 --- a/source/blender/editors/interface/interface_ops.c +++ b/source/blender/editors/interface/interface_ops.c @@ -1686,7 +1686,8 @@ static int ui_button_press_invoke(bContext *C, wmOperator *op, const wmEvent *ev bScreen *screen = CTX_wm_screen(C); const bool skip_depressed = RNA_boolean_get(op->ptr, "skip_depressed"); ARegion *region_prev = CTX_wm_region(C); - ARegion *region = screen ? BKE_screen_find_region_xy(screen, RGN_TYPE_ANY, event->x, event->y) : + ARegion *region = screen ? BKE_screen_find_region_xy( + screen, RGN_TYPE_ANY, event->xy[0], event->xy[1]) : NULL; if (region == NULL) { @@ -1929,7 +1930,7 @@ static bool ui_tree_view_drop_poll(bContext *C) const wmWindow *win = CTX_wm_window(C); const ARegion *region = CTX_wm_region(C); const uiTreeViewItemHandle *hovered_tree_item = UI_block_tree_view_find_item_at( - region, win->eventstate->x, win->eventstate->y); + region, win->eventstate->xy[0], win->eventstate->xy[1]); return hovered_tree_item != NULL; } @@ -1942,7 +1943,7 @@ static int ui_tree_view_drop_invoke(bContext *C, wmOperator *UNUSED(op), const w const ARegion *region = CTX_wm_region(C); uiTreeViewItemHandle *hovered_tree_item = UI_block_tree_view_find_item_at( - region, event->x, event->y); + region, event->xy[0], event->xy[1]); if (!UI_tree_view_item_drop_handle(hovered_tree_item, event->customdata)) { return OPERATOR_CANCELLED | OPERATOR_PASS_THROUGH; diff --git a/source/blender/editors/interface/interface_panel.c b/source/blender/editors/interface/interface_panel.c index e5f84f63d35..11013e4cdf7 100644 --- a/source/blender/editors/interface/interface_panel.c +++ b/source/blender/editors/interface/interface_panel.c @@ -1926,7 +1926,7 @@ static void ui_do_drag(const bContext *C, const wmEvent *event, Panel *panel) ARegion *region = CTX_wm_region(C); /* Keep the drag position in the region with a small pad to keep the panel visible. */ - const int y = clamp_i(event->y, region->winrct.ymin, region->winrct.ymax + DRAG_REGION_PAD); + const int y = clamp_i(event->xy[1], region->winrct.ymin, region->winrct.ymax + DRAG_REGION_PAD); float dy = (float)(y - data->starty); @@ -2041,7 +2041,7 @@ static int ui_panel_drag_collapse_handler(bContext *C, const wmEvent *event, voi switch (event->type) { case MOUSEMOVE: - ui_panel_drag_collapse(C, dragcol_data, &event->x); + ui_panel_drag_collapse(C, dragcol_data, &event->xy[0]); retval = WM_UI_HANDLER_BREAK; break; @@ -2070,7 +2070,7 @@ static void ui_panel_drag_collapse_handler_add(const bContext *C, const bool was uiPanelDragCollapseHandle *dragcol_data = MEM_mallocN(sizeof(*dragcol_data), __func__); dragcol_data->was_first_open = was_open; - copy_v2_v2_int(dragcol_data->xy_init, &event->x); + copy_v2_v2_int(dragcol_data->xy_init, event->xy); WM_event_add_ui_handler(C, &win->modalhandlers, @@ -2363,7 +2363,7 @@ int ui_handler_panel_region(bContext *C, } /* Scroll-bars can overlap panels now, they have handling priority. */ - if (UI_view2d_mouse_in_scrollers(region, ®ion->v2d, event->x, event->y)) { + if (UI_view2d_mouse_in_scrollers(region, ®ion->v2d, event->xy[0], event->xy[1])) { return WM_UI_HANDLER_CONTINUE; } @@ -2406,8 +2406,8 @@ int ui_handler_panel_region(bContext *C, continue; } - int mx = event->x; - int my = event->y; + int mx = event->xy[0]; + int my = event->xy[1]; ui_window_to_block(region, block, &mx, &my); const uiPanelMouseState mouse_state = ui_panel_mouse_state_get(block, panel, mx, my); @@ -2485,8 +2485,8 @@ PointerRNA *UI_region_panel_custom_data_under_cursor(const bContext *C, const wm continue; } - int mx = event->x; - int my = event->y; + int mx = event->xy[0]; + int my = event->xy[1]; ui_window_to_block(region, block, &mx, &my); const int mouse_state = ui_panel_mouse_state_get(block, panel, mx, my); if (ELEM(mouse_state, PANEL_MOUSE_INSIDE_CONTENT, PANEL_MOUSE_INSIDE_HEADER)) { @@ -2559,8 +2559,8 @@ static void panel_handle_data_ensure(const bContext *C, data->animtimer = WM_event_add_timer(CTX_wm_manager(C), win, TIMER, ANIMATION_INTERVAL); data->state = state; - data->startx = win->eventstate->x; - data->starty = win->eventstate->y; + data->startx = win->eventstate->xy[0]; + data->starty = win->eventstate->xy[1]; data->startofsx = panel->ofsx; data->startofsy = panel->ofsy; data->start_cur_xmin = region->v2d.cur.xmin; diff --git a/source/blender/editors/interface/interface_query.c b/source/blender/editors/interface/interface_query.c index 8674f1e435a..b80e0bfc3ca 100644 --- a/source/blender/editors/interface/interface_query.c +++ b/source/blender/editors/interface/interface_query.c @@ -247,7 +247,7 @@ bool ui_but_contains_point_px(const uiBut *but, const ARegion *region, int x, in bool ui_but_contains_point_px_icon(const uiBut *but, ARegion *region, const wmEvent *event) { rcti rect; - int x = event->x, y = event->y; + int x = event->xy[0], y = event->xy[1]; ui_window_to_block(region, but->block, &x, &y); @@ -333,7 +333,8 @@ 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->x, event->y, event->ctrl != 0, NULL, NULL); + return ui_but_find_mouse_over_ex( + region, event->xy[0], event->xy[1], event->ctrl != 0, NULL, NULL); } uiBut *ui_but_find_rect_over(const struct ARegion *region, const rcti *rect_px) @@ -398,7 +399,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->x, event->y); + return ui_list_find_mouse_over_ex(region, event->xy[0], event->xy[1]); } uiList *UI_list_find_mouse_over(const ARegion *region, const wmEvent *event) @@ -707,7 +708,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->x, event->y, only_clip); + return ui_block_find_mouse_over_ex(region, event->xy[0], event->xy[1], only_clip); } /** \} */ @@ -819,7 +820,7 @@ ARegion *ui_screen_region_find_mouse_over_ex(bScreen *screen, int x, int y) 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); + return ui_screen_region_find_mouse_over_ex(screen, event->xy[0], event->xy[1]); } /** \} */ diff --git a/source/blender/editors/interface/interface_region_menu_pie.c b/source/blender/editors/interface/interface_region_menu_pie.c index 05aa139e055..01562b25da1 100644 --- a/source/blender/editors/interface/interface_region_menu_pie.c +++ b/source/blender/editors/interface/interface_region_menu_pie.c @@ -147,9 +147,9 @@ uiPieMenu *UI_pie_menu_begin(struct bContext *C, const char *title, int icon, co pie->layout = UI_block_layout( pie->block_radial, UI_LAYOUT_VERTICAL, UI_LAYOUT_PIEMENU, 0, 0, 200, 0, 0, style); - /* Note event->x/y is where we started dragging in case of KM_CLICK_DRAG. */ - pie->mx = event->x; - pie->my = event->y; + /* NOTE: #wmEvent.xy is where we started dragging in case of #KM_CLICK_DRAG. */ + pie->mx = event->xy[0]; + pie->my = event->xy[1]; /* create title button */ if (title[0]) { diff --git a/source/blender/editors/interface/interface_region_menu_popup.c b/source/blender/editors/interface/interface_region_menu_popup.c index d3c1a97e957..4e20466326e 100644 --- a/source/blender/editors/interface/interface_region_menu_popup.c +++ b/source/blender/editors/interface/interface_region_menu_popup.c @@ -338,8 +338,8 @@ uiPopupBlockHandle *ui_popup_menu_create( if (!but) { /* no button to start from, means we are a popup */ - pup->mx = window->eventstate->x; - pup->my = window->eventstate->y; + pup->mx = window->eventstate->xy[0]; + pup->my = window->eventstate->xy[1]; pup->popup = true; pup->block->flag |= UI_BLOCK_NO_FLIP; } @@ -468,8 +468,8 @@ void UI_popup_menu_end(bContext *C, uiPopupMenu *pup) ARegion *butregion = NULL; pup->popup = true; - pup->mx = window->eventstate->x; - pup->my = window->eventstate->y; + pup->mx = window->eventstate->xy[0]; + pup->my = window->eventstate->xy[1]; if (pup->but) { but = pup->but; diff --git a/source/blender/editors/interface/interface_region_popup.c b/source/blender/editors/interface/interface_region_popup.c index 3234af3d344..0e53100f91b 100644 --- a/source/blender/editors/interface/interface_region_popup.c +++ b/source/blender/editors/interface/interface_region_popup.c @@ -803,7 +803,7 @@ uiPopupBlockHandle *ui_popup_block_create(bContext *C, handle->popup_create_vars.arg_free = arg_free; handle->popup_create_vars.but = but; handle->popup_create_vars.butregion = but ? butregion : NULL; - copy_v2_v2_int(handle->popup_create_vars.event_xy, &window->eventstate->x); + copy_v2_v2_int(handle->popup_create_vars.event_xy, window->eventstate->xy); /* don't allow by default, only if popup type explicitly supports it */ handle->can_refresh = false; diff --git a/source/blender/editors/interface/interface_region_search.c b/source/blender/editors/interface/interface_region_search.c index c863b1f8bdf..a78c208e4ca 100644 --- a/source/blender/editors/interface/interface_region_search.c +++ b/source/blender/editors/interface/interface_region_search.c @@ -400,8 +400,9 @@ bool ui_searchbox_event( * (a little confusing if this isn't the case, although it does work). */ rcti rect; ui_searchbox_butrect(&rect, data, data->active); - if (BLI_rcti_isect_pt( - &rect, event->x - region->winrct.xmin, event->y - region->winrct.ymin)) { + if (BLI_rcti_isect_pt(&rect, + event->xy[0] - region->winrct.xmin, + event->xy[1] - region->winrct.ymin)) { void *active = data->items.pointers[data->active]; if (search_but->item_context_menu_fn(C, search_but->arg, active, event)) { @@ -415,14 +416,14 @@ bool ui_searchbox_event( case MOUSEMOVE: { bool is_inside = false; - if (BLI_rcti_isect_pt(®ion->winrct, event->x, event->y)) { + if (BLI_rcti_isect_pt(®ion->winrct, event->xy[0], event->xy[1])) { rcti rect; int a; for (a = 0; a < data->items.totitem; a++) { ui_searchbox_butrect(&rect, data, a); if (BLI_rcti_isect_pt( - &rect, event->x - region->winrct.xmin, event->y - region->winrct.ymin)) { + &rect, event->xy[0] - region->winrct.xmin, event->xy[1] - region->winrct.ymin)) { is_inside = true; if (data->active != a) { data->active = a; diff --git a/source/blender/editors/interface/interface_region_tooltip.c b/source/blender/editors/interface/interface_region_tooltip.c index 9aa65bd5b55..4a7203bb421 100644 --- a/source/blender/editors/interface/interface_region_tooltip.c +++ b/source/blender/editors/interface/interface_region_tooltip.c @@ -1453,7 +1453,7 @@ ARegion *UI_tooltip_create_from_button_or_extra_icon( init_position[1] = but->rect.ymin; if (butregion) { ui_block_to_window_fl(butregion, but->block, &init_position[0], &init_position[1]); - init_position[0] = win->eventstate->x; + init_position[0] = win->eventstate->xy[0]; } init_position[1] -= (UI_POPUP_MARGIN / 2); } @@ -1477,7 +1477,7 @@ ARegion *UI_tooltip_create_from_gizmo(bContext *C, wmGizmo *gz) { wmWindow *win = CTX_wm_window(C); const float aspect = 1.0f; - float init_position[2] = {win->eventstate->x, win->eventstate->y}; + float init_position[2] = {win->eventstate->xy[0], win->eventstate->xy[1]}; uiTooltipData *data = ui_tooltip_data_from_gizmo(C, gz); if (data == NULL) { @@ -1561,7 +1561,7 @@ ARegion *UI_tooltip_create_from_search_item_generic( const float aspect = 1.0f; const wmWindow *win = CTX_wm_window(C); float init_position[2]; - init_position[0] = win->eventstate->x; + init_position[0] = win->eventstate->xy[0]; init_position[1] = item_rect->ymin + searchbox_region->winrct.ymin - (UI_POPUP_MARGIN / 2); return ui_tooltip_create_with_data(C, data, init_position, NULL, aspect); diff --git a/source/blender/editors/interface/interface_template_search_menu.c b/source/blender/editors/interface/interface_template_search_menu.c index bbb04a9911c..f305199c6b0 100644 --- a/source/blender/editors/interface/interface_template_search_menu.c +++ b/source/blender/editors/interface/interface_template_search_menu.c @@ -1102,8 +1102,8 @@ static struct ARegion *ui_search_menu_create_tooltip(struct bContext *C, /* Place the fake button at the cursor so the tool-tip is places properly. */ float tip_init[2]; const wmEvent *event = CTX_wm_window(C)->eventstate; - tip_init[0] = event->x; - tip_init[1] = event->y - (UI_UNIT_Y / 2); + tip_init[0] = event->xy[0]; + tip_init[1] = event->xy[1] - (UI_UNIT_Y / 2); ui_window_to_block_fl(region, block, &tip_init[0], &tip_init[1]); but->rect.xmin = tip_init[0]; diff --git a/source/blender/editors/interface/tree_view.cc b/source/blender/editors/interface/tree_view.cc index cf3ddcc3fff..6e4440947be 100644 --- a/source/blender/editors/interface/tree_view.cc +++ b/source/blender/editors/interface/tree_view.cc @@ -221,7 +221,7 @@ void AbstractTreeViewItem::collapse_chevron_click_fn(struct bContext *C, const wmWindow *win = CTX_wm_window(C); const ARegion *region = CTX_wm_region(C); uiTreeViewItemHandle *hovered_item_handle = UI_block_tree_view_find_item_at( - region, win->eventstate->x, win->eventstate->y); + region, win->eventstate->xy[0], win->eventstate->xy[1]); AbstractTreeViewItem *hovered_item = reinterpret_cast<AbstractTreeViewItem *>( hovered_item_handle); BLI_assert(hovered_item != nullptr); diff --git a/source/blender/editors/interface/view2d_edge_pan.c b/source/blender/editors/interface/view2d_edge_pan.c index 54e0d8f40ea..0ad6883b078 100644 --- a/source/blender/editors/interface/view2d_edge_pan.c +++ b/source/blender/editors/interface/view2d_edge_pan.c @@ -272,7 +272,7 @@ void UI_view2d_edge_pan_apply_event(bContext *C, View2DEdgePanData *vpd, const w return; } - UI_view2d_edge_pan_apply(C, vpd, event->x, event->y); + UI_view2d_edge_pan_apply(C, vpd, event->xy[0], event->xy[1]); } void UI_view2d_edge_pan_cancel(bContext *C, View2DEdgePanData *vpd) diff --git a/source/blender/editors/interface/view2d_ops.c b/source/blender/editors/interface/view2d_ops.c index 4ef4c3dbc6d..a73449f659d 100644 --- a/source/blender/editors/interface/view2d_ops.c +++ b/source/blender/editors/interface/view2d_ops.c @@ -224,13 +224,13 @@ static int view_pan_invoke(bContext *C, wmOperator *op, const wmEvent *event) View2D *v2d = vpd->v2d; /* set initial settings */ - vpd->startx = vpd->lastx = event->x; - vpd->starty = vpd->lasty = event->y; + vpd->startx = vpd->lastx = event->xy[0]; + vpd->starty = vpd->lasty = event->xy[1]; vpd->invoke_event = event->type; if (event->type == MOUSEPAN) { - RNA_int_set(op->ptr, "deltax", event->prevx - event->x); - RNA_int_set(op->ptr, "deltay", event->prevy - event->y); + RNA_int_set(op->ptr, "deltax", event->prev_xy[0] - event->xy[0]); + RNA_int_set(op->ptr, "deltay", event->prev_xy[1] - event->xy[1]); view_pan_apply(C, op); view_pan_exit(op); @@ -266,11 +266,11 @@ static int view_pan_modal(bContext *C, wmOperator *op, const wmEvent *event) switch (event->type) { case MOUSEMOVE: { /* calculate new delta transform, then store mouse-coordinates for next-time */ - RNA_int_set(op->ptr, "deltax", (vpd->lastx - event->x)); - RNA_int_set(op->ptr, "deltay", (vpd->lasty - event->y)); + RNA_int_set(op->ptr, "deltax", (vpd->lastx - event->xy[0])); + RNA_int_set(op->ptr, "deltay", (vpd->lasty - event->xy[1])); - vpd->lastx = event->x; - vpd->lasty = event->y; + vpd->lastx = event->xy[0]; + vpd->lasty = event->xy[1]; view_pan_apply(C, op); break; @@ -1097,8 +1097,8 @@ static int view_zoomdrag_invoke(bContext *C, wmOperator *op, const wmEvent *even } if (ELEM(event->type, MOUSEZOOM, MOUSEPAN)) { - vzd->lastx = event->prevx; - vzd->lasty = event->prevy; + vzd->lastx = event->prev_xy[0]; + vzd->lasty = event->prev_xy[1]; float facx, facy; float zoomfac = 0.01f; @@ -1156,8 +1156,8 @@ static int view_zoomdrag_invoke(bContext *C, wmOperator *op, const wmEvent *even } /* set initial settings */ - vzd->lastx = event->x; - vzd->lasty = event->y; + vzd->lastx = event->xy[0]; + vzd->lasty = event->xy[1]; RNA_float_set(op->ptr, "deltax", 0); RNA_float_set(op->ptr, "deltay", 0); @@ -1216,12 +1216,12 @@ static int view_zoomdrag_modal(bContext *C, wmOperator *op, const wmEvent *event /* x-axis transform */ dist = BLI_rcti_size_x(&v2d->mask) / 2.0f; len_old[0] = zoomfac * fabsf(vzd->lastx - vzd->region->winrct.xmin - dist); - len_new[0] = zoomfac * fabsf(event->x - vzd->region->winrct.xmin - dist); + len_new[0] = zoomfac * fabsf(event->xy[0] - vzd->region->winrct.xmin - dist); /* y-axis transform */ dist = BLI_rcti_size_y(&v2d->mask) / 2.0f; len_old[1] = zoomfac * fabsf(vzd->lasty - vzd->region->winrct.ymin - dist); - len_new[1] = zoomfac * fabsf(event->y - vzd->region->winrct.ymin - dist); + len_new[1] = zoomfac * fabsf(event->xy[1] - vzd->region->winrct.ymin - dist); /* Calculate distance */ if (v2d->keepzoom & V2D_KEEPASPECT) { @@ -1237,8 +1237,8 @@ static int view_zoomdrag_modal(bContext *C, wmOperator *op, const wmEvent *event dy *= BLI_rctf_size_y(&v2d->cur); } else { /* USER_ZOOM_CONTINUE or USER_ZOOM_DOLLY */ - float facx = zoomfac * (event->x - vzd->lastx); - float facy = zoomfac * (event->y - vzd->lasty); + float facx = zoomfac * (event->xy[0] - vzd->lastx); + float facy = zoomfac * (event->xy[1] - vzd->lasty); /* Only respect user setting zoom axis if the view does not have any zoom restrictions * any will be scaled uniformly */ @@ -1284,8 +1284,8 @@ static int view_zoomdrag_modal(bContext *C, wmOperator *op, const wmEvent *event * to starting point to determine rate of change. */ if (U.viewzoom != USER_ZOOM_CONTINUE) { /* XXX store this setting as RNA prop? */ - vzd->lastx = event->x; - vzd->lasty = event->y; + vzd->lastx = event->xy[0]; + vzd->lasty = event->xy[1]; } /* apply zooming */ @@ -1846,7 +1846,7 @@ static bool scroller_activate_poll(bContext *C) wmEvent *event = win->eventstate; /* check if mouse in scrollbars, if they're enabled */ - return (UI_view2d_mouse_in_scrollers(region, v2d, event->x, event->y) != 0); + return (UI_view2d_mouse_in_scrollers(region, v2d, event->xy[0], event->xy[1]) != 0); } /* initialize customdata for scroller manipulation operator */ @@ -1868,8 +1868,8 @@ static void scroller_activate_init(bContext *C, vsm->scroller = in_scroller; /* store mouse-coordinates, and convert mouse/screen coordinates to region coordinates */ - vsm->lastx = event->x; - vsm->lasty = event->y; + vsm->lastx = event->xy[0]; + vsm->lasty = event->xy[1]; /* 'zone' depends on where mouse is relative to bubble * - zooming must be allowed on this axis, otherwise, default to pan */ @@ -2024,11 +2024,11 @@ static int scroller_activate_modal(bContext *C, wmOperator *op, const wmEvent *e switch (vsm->scroller) { case 'h': /* horizontal scroller - so only horizontal movement * ('cur' moves opposite to mouse) */ - vsm->delta = (float)(event->x - vsm->lastx); + vsm->delta = (float)(event->xy[0] - vsm->lastx); break; case 'v': /* vertical scroller - so only vertical movement * ('cur' moves opposite to mouse) */ - vsm->delta = (float)(event->y - vsm->lasty); + vsm->delta = (float)(event->xy[1] - vsm->lasty); break; } } @@ -2037,18 +2037,18 @@ static int scroller_activate_modal(bContext *C, wmOperator *op, const wmEvent *e switch (vsm->scroller) { case 'h': /* horizontal scroller - so only horizontal movement * ('cur' moves with mouse) */ - vsm->delta = (float)(vsm->lastx - event->x); + vsm->delta = (float)(vsm->lastx - event->xy[0]); break; case 'v': /* vertical scroller - so only vertical movement * ('cur' moves with to mouse) */ - vsm->delta = (float)(vsm->lasty - event->y); + vsm->delta = (float)(vsm->lasty - event->xy[1]); break; } } /* store previous coordinates */ - vsm->lastx = event->x; - vsm->lasty = event->y; + vsm->lastx = event->xy[0]; + vsm->lasty = event->xy[1]; scroller_activate_apply(C, op); break; @@ -2090,7 +2090,7 @@ static int scroller_activate_invoke(bContext *C, wmOperator *op, const wmEvent * View2D *v2d = ®ion->v2d; /* check if mouse in scrollbars, if they're enabled */ - const char in_scroller = UI_view2d_mouse_in_scrollers(region, v2d, event->x, event->y); + const char in_scroller = UI_view2d_mouse_in_scrollers(region, v2d, event->xy[0], event->xy[1]); /* if in a scroller, init customdata then set modal handler which will * catch mouse-down to start doing useful stuff */ @@ -2104,11 +2104,11 @@ static int scroller_activate_invoke(bContext *C, wmOperator *op, const wmEvent * switch (vsm->scroller) { case 'h': /* horizontal scroller - so only horizontal movement * ('cur' moves opposite to mouse) */ - vsm->delta = (float)(event->x - vsm->scrollbar_orig); + vsm->delta = (float)(event->xy[0] - vsm->scrollbar_orig); break; case 'v': /* vertical scroller - so only vertical movement * ('cur' moves opposite to mouse) */ - vsm->delta = (float)(event->y - vsm->scrollbar_orig); + vsm->delta = (float)(event->xy[1] - vsm->scrollbar_orig); break; } scroller_activate_apply(C, op); |