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
This commit is contained in:
Aaron Carlisle 2021-10-20 23:45:30 +11:00 committed by Campbell Barton
parent 3435ea014d
commit 2743d746ea
Notes: blender-bot 2023-02-14 09:24:53 +01:00
Referenced by commit f829b86039, Cleanup: Correct copy paste error in comment
Referenced by issue #92368, LMB mouse events (Selecting, doubleclicks etc) are broken
84 changed files with 563 additions and 540 deletions

View File

@ -872,7 +872,7 @@ static int ed_marker_move_invoke(bContext *C, wmOperator *op, const wmEvent *eve
ARegion *region = CTX_wm_region(C);
View2D *v2d = &region->v2d;
ListBase *markers = ED_context_get_markers(C);
if (!region_position_is_over_marker(v2d, markers, event->x - region->winrct.xmin)) {
if (!region_position_is_over_marker(v2d, markers, event->xy[0] - region->winrct.xmin)) {
return OPERATOR_CANCELLED | OPERATOR_PASS_THROUGH;
}
}
@ -880,8 +880,8 @@ static int ed_marker_move_invoke(bContext *C, wmOperator *op, const wmEvent *eve
if (ed_marker_move_init(C, op)) {
MarkerMove *mm = op->customdata;
mm->evtx = event->x;
mm->firstx = event->x;
mm->evtx = event->xy[0];
mm->firstx = event->xy[0];
mm->event_type = event->type;
/* add temp handler */
@ -993,11 +993,11 @@ static int ed_marker_move_modal(bContext *C, wmOperator *op, const wmEvent *even
dx = BLI_rctf_size_x(&v2d->cur) / BLI_rcti_size_x(&v2d->mask);
if (event->x != mm->evtx) { /* XXX maybe init for first time */
if (event->xy[0] != mm->evtx) { /* XXX maybe init for first time */
float fac;
mm->evtx = event->x;
fac = ((float)(event->x - mm->firstx) * dx);
mm->evtx = event->xy[0];
fac = ((float)(event->xy[0] - mm->firstx) * dx);
apply_keyb_grid(event->shift, event->ctrl, &fac, 0.0, FPS, 0.1 * FPS, 0);
@ -1354,7 +1354,8 @@ static int ed_marker_box_select_invoke(bContext *C, wmOperator *op, const wmEven
View2D *v2d = &region->v2d;
ListBase *markers = ED_context_get_markers(C);
bool over_marker = region_position_is_over_marker(v2d, markers, event->x - region->winrct.xmin);
bool over_marker = region_position_is_over_marker(
v2d, markers, event->xy[0] - region->winrct.xmin);
bool tweak = RNA_boolean_get(op->ptr, "tweak");
if (tweak && over_marker) {

View File

@ -208,7 +208,7 @@ bool ED_time_scrub_event_in_region(const ARegion *region, const wmEvent *event)
{
rcti rect = region->winrct;
rect.ymin = rect.ymax - UI_TIME_SCRUB_MARGIN_Y;
return BLI_rcti_isect_pt(&rect, event->x, event->y);
return BLI_rcti_isect_pt(&rect, event->xy[0], event->xy[1]);
}
void ED_time_scrub_channel_search_draw(const bContext *C, ARegion *region, bDopeSheet *dopesheet)

View File

@ -209,11 +209,11 @@ static void poselib_slide_mouse_update_blendfactor(PoseBlendData *pbd, const wmE
if (pbd->release_confirm_info.use_release_confirm) {
/* Release confirm calculates factor based on where the dragging was started from. */
const float range = 300 * U.pixelsize;
const float new_factor = (event->x - pbd->release_confirm_info.drag_start_xy[0]) / range;
const float new_factor = (event->xy[0] - pbd->release_confirm_info.drag_start_xy[0]) / range;
poselib_blend_set_factor(pbd, new_factor);
}
else {
const float new_factor = (event->x - pbd->area->v1->vec.x) / ((float)pbd->area->winx);
const float new_factor = (event->xy[0] - pbd->area->v1->vec.x) / ((float)pbd->area->winx);
poselib_blend_set_factor(pbd, new_factor);
}
}
@ -379,8 +379,8 @@ static bool poselib_blend_init_data(bContext *C, wmOperator *op, const wmEvent *
if (pbd->release_confirm_info.use_release_confirm) {
BLI_assert(event != NULL);
pbd->release_confirm_info.drag_start_xy[0] = event->x;
pbd->release_confirm_info.drag_start_xy[1] = event->y;
pbd->release_confirm_info.drag_start_xy[0] = event->xy[0];
pbd->release_confirm_info.drag_start_xy[1] = event->xy[1];
pbd->release_confirm_info.init_event_type = WM_userdef_event_type_from_keymap_type(
event->type);
}

View File

@ -307,7 +307,7 @@ static void dial_ghostarc_get_angles(const wmGizmo *gz,
{
DialInteraction *inter = gz->interaction_data;
const RegionView3D *rv3d = region->regiondata;
const float mval[2] = {event->x - region->winrct.xmin, event->y - region->winrct.ymin};
const float mval[2] = {event->xy[0] - region->winrct.xmin, event->xy[1] - region->winrct.ymin};
/* We might need to invert the direction of the angles. */
float view_vec[3], axis_vec[3];

View File

@ -120,8 +120,8 @@ void ED_gizmotypes_snap_3d_data_get(const struct bContext *C,
const wmEvent *event = wm->winactive ? wm->winactive->eventstate : NULL;
if (event) {
ARegion *region = CTX_wm_region(C);
int x = event->x - region->winrct.xmin;
int y = event->y - region->winrct.ymin;
int x = event->xy[0] - region->winrct.xmin;
int y = event->xy[1] - region->winrct.ymin;
snap_data = ED_view3d_cursor_snap_data_get(NULL, C, x, y);
}
}
@ -250,8 +250,8 @@ static int snap_gizmo_test_select(bContext *C, wmGizmo *gz, const int mval[2])
const wmEvent *event = wm->winactive ? wm->winactive->eventstate : NULL;
if (event) {
ARegion *region = CTX_wm_region(C);
x = event->x - region->winrct.xmin;
y = event->y - region->winrct.ymin;
x = event->xy[0] - region->winrct.xmin;
y = event->xy[1] - region->winrct.ymin;
}
else {
x = mval[0];

View File

@ -2560,7 +2560,7 @@ static int annotation_draw_modal(bContext *C, wmOperator *op, const wmEvent *eve
if ((p->region) && (p->region->regiontype == RGN_TYPE_TOOLS)) {
/* Change to whatever region is now under the mouse */
ARegion *current_region = BKE_area_find_region_xy(
p->area, RGN_TYPE_ANY, event->x, event->y);
p->area, RGN_TYPE_ANY, event->xy[0], event->xy[1]);
if (current_region) {
/* Assume that since we found the cursor in here, it is in bounds

View File

@ -2103,11 +2103,11 @@ static int gpencil_fill_modal(bContext *C, wmOperator *op, const wmEvent *event)
/* first time the event is not enabled to show help lines. */
if ((tgpf->oldkey != -1) || (!help_lines)) {
ARegion *region = BKE_area_find_region_xy(
CTX_wm_area(C), RGN_TYPE_ANY, event->x, event->y);
CTX_wm_area(C), RGN_TYPE_ANY, event->xy[0], event->xy[1]);
if (region) {
bool in_bounds = false;
/* Perform bounds check */
in_bounds = BLI_rcti_isect_pt(&region->winrct, event->x, event->y);
in_bounds = BLI_rcti_isect_pt(&region->winrct, event->xy[0], event->xy[1]);
if ((in_bounds) && (region->regiontype == RGN_TYPE_WINDOW)) {
tgpf->mouse[0] = event->mval[0];

View File

@ -586,7 +586,7 @@ static void gpencil_interpolate_set_points(bContext *C, tGPDinterpolate *tgpi)
static void gpencil_mouse_update_shift(tGPDinterpolate *tgpi, wmOperator *op, const wmEvent *event)
{
float mid = (float)(tgpi->region->winx - tgpi->region->winrct.xmin) / 2.0f;
float mpos = event->x - tgpi->region->winrct.xmin;
float mpos = event->xy[0] - tgpi->region->winrct.xmin;
if (mpos >= mid) {
tgpi->shift = ((mpos - mid) * tgpi->high_limit) / mid;

View File

@ -3666,7 +3666,7 @@ static int gpencil_draw_modal(bContext *C, wmOperator *op, const wmEvent *event)
if ((p->region) && (p->region->regiontype == RGN_TYPE_TOOLS)) {
/* Change to whatever region is now under the mouse */
ARegion *current_region = BKE_area_find_region_xy(
p->area, RGN_TYPE_ANY, event->x, event->y);
p->area, RGN_TYPE_ANY, event->xy[0], event->xy[1]);
if (current_region) {
/* Assume that since we found the cursor in here, it is in bounds

View File

@ -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 ************* */

View File

@ -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);

View File

@ -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;
}

View File

@ -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);

View File

@ -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));
}
}

View File

@ -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);

View File

@ -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 */

View File

@ -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);
}
}

View File

@ -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: {

View File

@ -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 (event->xy[0] != data->draglastx || event->xy[1] != data->draglasty) {
if (ui_numedit_but_CURVE(
block, but, data, event->x, event->y, event->ctrl != 0, event->shift != 0)) {
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);
}
}

View File

@ -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;

View File

@ -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, &region->v2d, event->x, event->y)) {
if (UI_view2d_mouse_in_scrollers(region, &region->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;

View File

@ -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]);
}
/** \} */

View File

@ -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]) {

View File

@ -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;

View File

@ -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;

View File

@ -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(&region->winrct, event->x, event->y)) {
if (BLI_rcti_isect_pt(&region->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;

View File

@ -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);

View File

@ -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];

View File

@ -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);

View File

@ -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)

View File

@ -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 = &region->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);

View File

@ -220,8 +220,8 @@ static void gizmo_mesh_placement_modal_from_setup(const bContext *C, wmGizmoGrou
float location[3];
calc_initial_placement_point_from_view((bContext *)C,
(float[2]){
win->eventstate->x - region->winrct.xmin,
win->eventstate->y - region->winrct.ymin,
win->eventstate->xy[0] - region->winrct.xmin,
win->eventstate->xy[1] - region->winrct.ymin,
},
location,
mat3);

View File

@ -705,7 +705,7 @@ static int edbm_bevel_modal(bContext *C, wmOperator *op, const wmEvent *event)
}
}
else if (etype == MOUSEPAN) {
float delta = 0.02f * (event->y - event->prevy);
float delta = 0.02f * (event->xy[1] - event->prev_xy[1]);
if (opdata->segments >= 1 && opdata->segments + delta < 1) {
opdata->segments = 1;
}

View File

@ -941,7 +941,7 @@ static void gizmo_mesh_spin_redo_setup(const bContext *C, wmGizmoGroup *gzgroup)
/* Use cursor as fallback if it's not set by the 'ortho_axis_active'. */
if (is_zero_v3(ggd->data.orient_axis_relative)) {
float cursor_co[3];
const int mval[2] = {event->x - region->winrct.xmin, event->y - region->winrct.ymin};
const int mval[2] = {event->xy[0] - region->winrct.xmin, event->xy[1] - region->winrct.ymin};
float plane[4];
plane_from_point_normal_v3(plane, plane_co, plane_no);
if (UNLIKELY(!ED_view3d_win_to_3d_on_plane_int(region, plane, mval, false, cursor_co))) {

View File

@ -598,13 +598,13 @@ static int loopcut_modal(bContext *C, wmOperator *op, const wmEvent *event)
break;
case MOUSEPAN:
if (event->alt == 0) {
cuts += 0.02f * (event->y - event->prevy);
cuts += 0.02f * (event->xy[1] - event->prev_xy[1]);
if (cuts < 1 && lcd->cuts >= 1) {
cuts = 1;
}
}
else {
smoothness += 0.002f * (event->y - event->prevy);
smoothness += 0.002f * (event->xy[1] - event->prev_xy[1]);
}
handled = true;
break;

View File

@ -389,13 +389,14 @@ static int face_set_extract_modal(bContext *C, wmOperator *op, const wmEvent *ev
* the PBVH and update the active Face Set ID. */
bScreen *screen = CTX_wm_screen(C);
ARegion *region = BKE_screen_find_main_region_at_xy(
screen, SPACE_VIEW3D, event->x, event->y);
screen, SPACE_VIEW3D, event->xy[0], event->xy[1]);
if (!region) {
return OPERATOR_CANCELLED;
}
const float mval[2] = {event->x - region->winrct.xmin, event->y - region->winrct.ymin};
const float mval[2] = {event->xy[0] - region->winrct.xmin,
event->xy[1] - region->winrct.ymin};
Object *ob = CTX_data_active_object(C);
const int face_set_id = ED_sculpt_face_sets_active_update_and_get(C, ob, mval);

View File

@ -259,8 +259,8 @@ static bool object_add_drop_xy_get(bContext *C, wmOperator *op, int (*r_mval)[2]
static int object_add_drop_xy_generic_invoke(bContext *C, wmOperator *op, const wmEvent *event)
{
if (!object_add_drop_xy_is_set(op)) {
RNA_int_set(op->ptr, "drop_x", event->x);
RNA_int_set(op->ptr, "drop_y", event->y);
RNA_int_set(op->ptr, "drop_x", event->xy[0]);
RNA_int_set(op->ptr, "drop_y", event->xy[1]);
}
return op->type->exec(C, op);
}
@ -1691,8 +1691,8 @@ static int collection_instance_add_exec(bContext *C, wmOperator *op)
static int object_instance_add_invoke(bContext *C, wmOperator *op, const wmEvent *event)
{
if (!object_add_drop_xy_is_set(op)) {
RNA_int_set(op->ptr, "drop_x", event->x);
RNA_int_set(op->ptr, "drop_y", event->y);
RNA_int_set(op->ptr, "drop_x", event->xy[0]);
RNA_int_set(op->ptr, "drop_y", event->xy[1]);
}
if (!RNA_struct_property_is_set(op->ptr, "name")) {

View File

@ -959,7 +959,7 @@ static int screen_render_invoke(bContext *C, wmOperator *op, const wmEvent *even
* store spare */
/* ensure at least 1 area shows result */
area = render_view_open(C, event->x, event->y, op->reports);
area = render_view_open(C, event->xy[0], event->xy[1], op->reports);
/* job custom data */
rj = MEM_callocN(sizeof(RenderJob), "render job");

View File

@ -1263,7 +1263,7 @@ static int screen_opengl_render_invoke(bContext *C, wmOperator *op, const wmEven
}
oglrender = op->customdata;
render_view_open(C, event->x, event->y, op->reports);
render_view_open(C, event->xy[0], event->xy[1], op->reports);
/* View may be changed above #USER_RENDER_DISPLAY_WINDOW. */
oglrender->win = CTX_wm_window(C);

View File

@ -365,7 +365,7 @@ static int render_view_show_invoke(bContext *C, wmOperator *op, const wmEvent *e
}
}
else {
render_view_open(C, event->x, event->y, op->reports);
render_view_open(C, event->xy[0], event->xy[1], op->reports);
}
}

View File

@ -1681,7 +1681,7 @@ static bool event_in_markers_region(const ARegion *region, const wmEvent *event)
{
rcti rect = region->winrct;
rect.ymax = rect.ymin + UI_MARKER_MARGIN_Y;
return BLI_rcti_isect_pt(&rect, event->x, event->y);
return BLI_rcti_isect_pt(&rect, event->xy[0], event->xy[1]);
}
/**
@ -1912,7 +1912,7 @@ void ED_area_update_region_sizes(wmWindowManager *wm, wmWindow *win, ScrArea *ar
/* Some AZones use View2D data which is only updated in region init, so call that first! */
region_azones_add(screen, area, region);
}
ED_area_azones_update(area, &win->eventstate->x);
ED_area_azones_update(area, win->eventstate->xy);
area->flag &= ~AREA_FLAG_REGION_SIZE_UPDATE;
}

View File

@ -686,7 +686,7 @@ void ED_screens_init(Main *bmain, wmWindowManager *wm)
ED_screen_refresh(wm, win);
if (win->eventstate) {
ED_screen_set_active_region(NULL, win, &win->eventstate->x);
ED_screen_set_active_region(NULL, win, win->eventstate->xy);
}
}
@ -959,7 +959,7 @@ int ED_screen_area_active(const bContext *C)
ScrArea *area = CTX_wm_area(C);
if (win && screen && area) {
AZone *az = ED_area_actionzone_find_xy(area, &win->eventstate->x);
AZone *az = ED_area_actionzone_find_xy(area, win->eventstate->xy);
if (az && az->type == AZONE_REGION) {
return 1;

View File

@ -773,7 +773,7 @@ static bool actionzone_area_poll(bContext *C)
bScreen *screen = WM_window_get_active_screen(win);
if (screen && win && win->eventstate) {
const int *xy = &win->eventstate->x;
const int *xy = &win->eventstate->xy[0];
LISTBASE_FOREACH (ScrArea *, area, &screen->areabase) {
LISTBASE_FOREACH (AZone *, az, &area->actionzones) {
@ -1061,7 +1061,7 @@ static void actionzone_apply(bContext *C, wmOperator *op, int type)
static int actionzone_invoke(bContext *C, wmOperator *op, const wmEvent *event)
{
bScreen *screen = CTX_wm_screen(C);
AZone *az = screen_actionzone_find_xy(screen, &event->x);
AZone *az = screen_actionzone_find_xy(screen, &event->xy[0]);
/* Quick escape - Scroll azones only hide/unhide the scroll-bars,
* they have their own handling. */
@ -1073,8 +1073,8 @@ static int actionzone_invoke(bContext *C, wmOperator *op, const wmEvent *event)
sActionzoneData *sad = op->customdata = MEM_callocN(sizeof(sActionzoneData), "sActionzoneData");
sad->sa1 = screen_actionzone_area(screen, az);
sad->az = az;
sad->x = event->x;
sad->y = event->y;
sad->x = event->xy[0];
sad->y = event->xy[1];
/* region azone directly reacts on mouse clicks */
if (ELEM(sad->az->type, AZONE_REGION, AZONE_FULLSCREEN)) {
@ -1098,8 +1098,8 @@ static int actionzone_modal(bContext *C, wmOperator *op, const wmEvent *event)
switch (event->type) {
case MOUSEMOVE: {
const int delta_x = (event->x - sad->x);
const int delta_y = (event->y - sad->y);
const int delta_x = (event->xy[0] - sad->x);
const int delta_y = (event->xy[1] - sad->y);
/* Movement in dominant direction. */
const int delta_max = max_ii(abs(delta_x), abs(delta_y));
@ -1131,12 +1131,13 @@ static int actionzone_modal(bContext *C, wmOperator *op, const wmEvent *event)
WM_window_screen_rect_calc(win, &screen_rect);
/* Have we dragged off the zone and are not on an edge? */
if ((ED_area_actionzone_find_xy(sad->sa1, &event->x) != sad->az) &&
if ((ED_area_actionzone_find_xy(sad->sa1, event->xy) != sad->az) &&
(screen_geom_area_map_find_active_scredge(
AREAMAP_FROM_SCREEN(screen), &screen_rect, event->x, event->y) == NULL)) {
AREAMAP_FROM_SCREEN(screen), &screen_rect, event->xy[0], event->xy[1]) == NULL)) {
/* What area are we now in? */
ScrArea *area = BKE_screen_find_area_xy(screen, SPACE_TYPE_ANY, event->x, event->y);
ScrArea *area = BKE_screen_find_area_xy(
screen, SPACE_TYPE_ANY, event->xy[0], event->xy[1]);
if (area == sad->sa1) {
/* Same area, so possible split. */
@ -1180,7 +1181,7 @@ static int actionzone_modal(bContext *C, wmOperator *op, const wmEvent *event)
/* gesture is large enough? */
if (is_gesture) {
/* second area, for join when (sa1 != sa2) */
sad->sa2 = BKE_screen_find_area_xy(screen, SPACE_TYPE_ANY, event->x, event->y);
sad->sa2 = BKE_screen_find_area_xy(screen, SPACE_TYPE_ANY, event->xy[0], event->xy[1]);
/* apply sends event */
actionzone_apply(C, op, sad->az->type);
actionzone_exit(op);
@ -1341,7 +1342,8 @@ static int area_swap_modal(bContext *C, wmOperator *op, const wmEvent *event)
switch (event->type) {
case MOUSEMOVE:
/* second area, for join */
sad->sa2 = BKE_screen_find_area_xy(CTX_wm_screen(C), SPACE_TYPE_ANY, event->x, event->y);
sad->sa2 = BKE_screen_find_area_xy(
CTX_wm_screen(C), SPACE_TYPE_ANY, event->xy[0], event->xy[1]);
break;
case LEFTMOUSE: /* release LMB */
if (event->val == KM_RELEASE) {
@ -1942,8 +1944,8 @@ static int area_move_exec(bContext *C, wmOperator *op)
/* interaction callback */
static int area_move_invoke(bContext *C, wmOperator *op, const wmEvent *event)
{
RNA_int_set(op->ptr, "x", event->x);
RNA_int_set(op->ptr, "y", event->y);
RNA_int_set(op->ptr, "x", event->xy[0]);
RNA_int_set(op->ptr, "y", event->xy[1]);
if (!area_move_init(C, op)) {
return OPERATOR_PASS_THROUGH;
@ -1975,7 +1977,7 @@ static int area_move_modal(bContext *C, wmOperator *op, const wmEvent *event)
int x = RNA_int_get(op->ptr, "x");
int y = RNA_int_get(op->ptr, "y");
const int delta = (md->dir_axis == SCREEN_AXIS_V) ? event->x - x : event->y - y;
const int delta = (md->dir_axis == SCREEN_AXIS_V) ? event->xy[0] - x : event->xy[1] - y;
RNA_int_set(op->ptr, "delta", delta);
area_move_apply(C, op);
@ -2295,8 +2297,8 @@ static int area_split_invoke(bContext *C, wmOperator *op, const wmEvent *event)
}
/* The factor will be close to 1.0f when near the top-left and the bottom-right corners. */
const float factor_v = ((float)(event->y - sad->sa1->v1->vec.y)) / (float)sad->sa1->winy;
const float factor_h = ((float)(event->x - sad->sa1->v1->vec.x)) / (float)sad->sa1->winx;
const float factor_v = ((float)(event->xy[1] - sad->sa1->v1->vec.y)) / (float)sad->sa1->winy;
const float factor_h = ((float)(event->xy[0] - sad->sa1->v1->vec.x)) / (float)sad->sa1->winx;
const bool is_left = factor_v < 0.5f;
const bool is_bottom = factor_h < 0.5f;
const bool is_right = !is_left;
@ -2334,11 +2336,11 @@ static int area_split_invoke(bContext *C, wmOperator *op, const wmEvent *event)
dir_axis = RNA_property_enum_get(op->ptr, prop_dir);
if (dir_axis == SCREEN_AXIS_H) {
RNA_property_float_set(
op->ptr, prop_factor, ((float)(event->x - area->v1->vec.x)) / (float)area->winx);
op->ptr, prop_factor, ((float)(event->xy[0] - area->v1->vec.x)) / (float)area->winx);
}
else {
RNA_property_float_set(
op->ptr, prop_factor, ((float)(event->y - area->v1->vec.y)) / (float)area->winy);
op->ptr, prop_factor, ((float)(event->xy[1] - area->v1->vec.y)) / (float)area->winy);
}
if (!area_split_init(C, op)) {
@ -2353,7 +2355,7 @@ static int area_split_invoke(bContext *C, wmOperator *op, const wmEvent *event)
RNA_property_int_get_array(op->ptr, prop_cursor, event_co);
}
else {
copy_v2_v2_int(event_co, &event->x);
copy_v2_v2_int(event_co, event->xy);
}
rcti window_rect;
@ -2493,7 +2495,8 @@ static int area_split_modal(bContext *C, wmOperator *op, const wmEvent *event)
if (update_factor) {
const eScreenAxis dir_axis = RNA_property_enum_get(op->ptr, prop_dir);
sd->delta = (dir_axis == SCREEN_AXIS_V) ? event->x - sd->origval : event->y - sd->origval;
sd->delta = (dir_axis == SCREEN_AXIS_V) ? event->xy[0] - sd->origval :
event->xy[1] - sd->origval;
if (sd->previewmode == 0) {
if (sd->do_snap) {
@ -2513,7 +2516,8 @@ static int area_split_modal(bContext *C, wmOperator *op, const wmEvent *event)
ED_area_tag_redraw(sd->sarea);
}
/* area context not set */
sd->sarea = BKE_screen_find_area_xy(CTX_wm_screen(C), SPACE_TYPE_ANY, event->x, event->y);
sd->sarea = BKE_screen_find_area_xy(
CTX_wm_screen(C), SPACE_TYPE_ANY, event->xy[0], event->xy[1]);
if (sd->sarea) {
ScrArea *area = sd->sarea;
@ -2702,8 +2706,8 @@ static int region_scale_invoke(bContext *C, wmOperator *op, const wmEvent *event
}
rmd->area = sad->sa1;
rmd->edge = az->edge;
rmd->origx = event->x;
rmd->origy = event->y;
rmd->origx = event->xy[0];
rmd->origy = event->xy[1];
rmd->maxsize = area_max_regionsize(rmd->area, rmd->region, rmd->edge);
/* if not set we do now, otherwise it uses type */
@ -2790,7 +2794,7 @@ static int region_scale_modal(bContext *C, wmOperator *op, const wmEvent *event)
(BLI_rcti_size_x(&rmd->region->v2d.mask) + 1);
const int snap_size_threshold = (U.widget_unit * 2) / aspect;
if (ELEM(rmd->edge, AE_LEFT_TO_TOPRIGHT, AE_RIGHT_TO_TOPLEFT)) {
delta = event->x - rmd->origx;
delta = event->xy[0] - rmd->origx;
if (rmd->edge == AE_LEFT_TO_TOPRIGHT) {
delta = -delta;
}
@ -2823,7 +2827,7 @@ static int region_scale_modal(bContext *C, wmOperator *op, const wmEvent *event)
}
}
else {
delta = event->y - rmd->origy;
delta = event->xy[1] - rmd->origy;
if (rmd->edge == AE_BOTTOM_TO_TOPLEFT) {
delta = -delta;
}
@ -2865,7 +2869,7 @@ static int region_scale_modal(bContext *C, wmOperator *op, const wmEvent *event)
}
case LEFTMOUSE:
if (event->val == KM_RELEASE) {
if (len_manhattan_v2v2_int(&event->x, &rmd->origx) <= WM_EVENT_CURSOR_MOTION_THRESHOLD) {
if (len_manhattan_v2v2_int(event->xy, &rmd->origx) <= WM_EVENT_CURSOR_MOTION_THRESHOLD) {
if (rmd->region->flag & RGN_FLAG_HIDDEN) {
region_scale_toggle_hidden(C, rmd);
}
@ -3521,7 +3525,7 @@ static int area_join_modal(bContext *C, wmOperator *op, const wmEvent *event)
switch (event->type) {
case MOUSEMOVE: {
ScrArea *area = BKE_screen_find_area_xy(screen, SPACE_TYPE_ANY, event->x, event->y);
ScrArea *area = BKE_screen_find_area_xy(screen, SPACE_TYPE_ANY, event->xy[0], event->xy[1]);
jd->dir = area_getorientation(jd->sa1, jd->sa2);
if (area == jd->sa1) {
@ -3611,7 +3615,7 @@ static void SCREEN_OT_area_join(wmOperatorType *ot)
static int screen_area_options_invoke(bContext *C, wmOperator *op, const wmEvent *event)
{
ScrArea *sa1, *sa2;
if (screen_area_edge_from_cursor(C, &event->x, &sa1, &sa2) == NULL) {
if (screen_area_edge_from_cursor(C, event->xy, &sa1, &sa2) == NULL) {
return OPERATOR_CANCELLED;
}
@ -3629,7 +3633,7 @@ static int screen_area_options_invoke(bContext *C, wmOperator *op, const wmEvent
0,
&ptr);
/* store initial mouse cursor position. */
RNA_int_set_array(&ptr, "cursor", &event->x);
RNA_int_set_array(&ptr, "cursor", &event->xy[0]);
RNA_enum_set(&ptr, "direction", SCREEN_AXIS_V);
/* Horizontal Split */
@ -3642,7 +3646,7 @@ static int screen_area_options_invoke(bContext *C, wmOperator *op, const wmEvent
0,
&ptr);
/* store initial mouse cursor position. */
RNA_int_set_array(&ptr, "cursor", &event->x);
RNA_int_set_array(&ptr, "cursor", &event->xy[0]);
RNA_enum_set(&ptr, "direction", SCREEN_AXIS_H);
if (sa1 && sa2) {
@ -3659,7 +3663,7 @@ static int screen_area_options_invoke(bContext *C, wmOperator *op, const wmEvent
WM_OP_INVOKE_DEFAULT,
0,
&ptr);
RNA_int_set_array(&ptr, "cursor", &event->x);
RNA_int_set_array(&ptr, "cursor", &event->xy[0]);
}
/* Swap just needs two areas. */
@ -3672,7 +3676,7 @@ static int screen_area_options_invoke(bContext *C, wmOperator *op, const wmEvent
WM_OP_EXEC_DEFAULT,
0,
&ptr);
RNA_int_set_array(&ptr, "cursor", &event->x);
RNA_int_set_array(&ptr, "cursor", &event->xy[0]);
}
UI_popup_menu_end(C, pup);
@ -5058,8 +5062,8 @@ static int userpref_show_exec(bContext *C, wmOperator *op)
/* changes context! */
if (WM_window_open(C,
IFACE_("Blender Preferences"),
event->x,
event->y,
event->xy[0],
event->xy[1],
sizex,
sizey,
SPACE_USERPREF,
@ -5125,8 +5129,8 @@ static int drivers_editor_show_exec(bContext *C, wmOperator *op)
/* changes context! */
if (WM_window_open(C,
IFACE_("Blender Drivers Editor"),
event->x,
event->y,
event->xy[0],
event->xy[1],
sizex,
sizey,
SPACE_GRAPH,
@ -5194,8 +5198,8 @@ static int info_log_show_exec(bContext *C, wmOperator *op)
/* changes context! */
if (WM_window_open(C,
IFACE_("Blender Info Log"),
event->x,
event->y + shift_y,
event->xy[0],
event->xy[1] + shift_y,
sizex,
sizey,
SPACE_INFO,

View File

@ -166,7 +166,8 @@ static int screenshot_invoke(bContext *C, wmOperator *op, const wmEvent *event)
if (use_crop) {
area = CTX_wm_area(C);
bScreen *screen = CTX_wm_screen(C);
ScrArea *area_test = BKE_screen_find_area_xy(screen, SPACE_TYPE_ANY, event->x, event->y);
ScrArea *area_test = BKE_screen_find_area_xy(
screen, SPACE_TYPE_ANY, event->xy[0], event->xy[1]);
if (area_test != NULL) {
area = area_test;
}

View File

@ -863,8 +863,8 @@ static int grab_clone_invoke(bContext *C, wmOperator *op, const wmEvent *event)
cmv = MEM_callocN(sizeof(GrabClone), "GrabClone");
copy_v2_v2(cmv->startoffset, brush->clone.offset);
cmv->startx = event->x;
cmv->starty = event->y;
cmv->startx = event->xy[0];
cmv->starty = event->xy[1];
op->customdata = cmv;
WM_event_add_modal_handler(C, op);
@ -890,7 +890,7 @@ static int grab_clone_modal(bContext *C, wmOperator *op, const wmEvent *event)
/* mouse moved, so move the clone image */
UI_view2d_region_to_view(
&region->v2d, cmv->startx - xmin, cmv->starty - ymin, &startfx, &startfy);
UI_view2d_region_to_view(&region->v2d, event->x - xmin, event->y - ymin, &fx, &fy);
UI_view2d_region_to_view(&region->v2d, event->xy[0] - xmin, event->xy[1] - ymin, &fx, &fy);
delta[0] = fx - startfx;
delta[1] = fy - startfy;

View File

@ -339,8 +339,8 @@ static const EnumPropertyItem *weight_paint_sample_enum_itemf(bContext *C,
uint index;
const int mval[2] = {
win->eventstate->x - vc.region->winrct.xmin,
win->eventstate->y - vc.region->winrct.ymin,
win->eventstate->xy[0] - vc.region->winrct.xmin,
win->eventstate->xy[1] - vc.region->winrct.ymin,
};
view3d_operator_needs_opengl(C);

View File

@ -8057,7 +8057,7 @@ static int sculpt_brush_stroke_invoke(bContext *C, wmOperator *op, const wmEvent
/* For tablet rotation. */
ignore_background_click = RNA_boolean_get(op->ptr, "ignore_background_click");
if (ignore_background_click && !over_mesh(C, op, event->x, event->y)) {
if (ignore_background_click && !over_mesh(C, op, event->xy[0], event->xy[1])) {
paint_stroke_free(C, op);
return OPERATOR_PASS_THROUGH;
}

View File

@ -1528,7 +1528,7 @@ static int sculpt_cloth_filter_modal(bContext *C, wmOperator *op, const wmEvent
return OPERATOR_RUNNING_MODAL;
}
const float len = event->prevclickx - event->x;
const float len = event->prev_click_xy[0] - event->xy[0];
filter_strength = filter_strength * -len * 0.001f * UI_DPI_FAC;
SCULPT_vertex_random_access_ensure(ss);

View File

@ -306,7 +306,7 @@ static int sculpt_sample_detail_size_modal(bContext *C, wmOperator *op, const wm
switch (event->type) {
case LEFTMOUSE:
if (event->val == KM_PRESS) {
const int ss_co[2] = {event->x, event->y};
const int ss_co[2] = {event->xy[0], event->xy[1]};
int mode = RNA_enum_get(op->ptr, "mode");
sample_detail(C, ss_co[0], ss_co[1], mode);

View File

@ -231,7 +231,7 @@ static int sculpt_color_filter_modal(bContext *C, wmOperator *op, const wmEvent
return OPERATOR_RUNNING_MODAL;
}
const float len = event->prevclickx - event->x;
const float len = event->prev_click_xy[0] - event->xy[0];
filter_strength = filter_strength * -len * 0.001f;
float fill_color[3];

View File

@ -624,7 +624,7 @@ static int sculpt_mesh_filter_modal(bContext *C, wmOperator *op, const wmEvent *
return OPERATOR_RUNNING_MODAL;
}
const float len = event->prevclickx - event->x;
const float len = event->prev_click_xy[0] - event->xy[0];
filter_strength = filter_strength * -len * 0.001f * UI_DPI_FAC;
SCULPT_vertex_random_access_ensure(ss);

View File

@ -393,8 +393,8 @@ static void view_pan_init(bContext *C, wmOperator *op, const wmEvent *event)
WM_cursor_modal_set(win, WM_CURSOR_NSEW_SCROLL);
}
vpd->x = event->x;
vpd->y = event->y;
vpd->x = event->xy[0];
vpd->y = event->xy[1];
if (clip_view_has_locked_selection(C)) {
vpd->vec = &sc->xlockof;
@ -454,8 +454,8 @@ static int view_pan_invoke(bContext *C, wmOperator *op, const wmEvent *event)
SpaceClip *sc = CTX_wm_space_clip(C);
float offset[2];
offset[0] = (event->prevx - event->x) / sc->zoom;
offset[1] = (event->prevy - event->y) / sc->zoom;
offset[0] = (event->prev_xy[0] - event->xy[0]) / sc->zoom;
offset[1] = (event->prev_xy[1] - event->xy[1]) / sc->zoom;
RNA_float_set_array(op->ptr, "offset", offset);
@ -478,8 +478,8 @@ static int view_pan_modal(bContext *C, wmOperator *op, const wmEvent *event)
switch (event->type) {
case MOUSEMOVE:
copy_v2_v2(vpd->vec, &vpd->xorig);
offset[0] = (vpd->x - event->x) / sc->zoom;
offset[1] = (vpd->y - event->y) / sc->zoom;
offset[0] = (vpd->x - event->xy[0]) / sc->zoom;
offset[1] = (vpd->y - event->xy[1]) / sc->zoom;
RNA_float_set_array(op->ptr, "offset", offset);
view_pan_exec(C, op);
break;
@ -575,8 +575,8 @@ static void view_zoom_init(bContext *C, wmOperator *op, const wmEvent *event)
vpd->timer_lastdraw = PIL_check_seconds_timer();
}
vpd->x = event->x;
vpd->y = event->y;
vpd->x = event->xy[0];
vpd->y = event->xy[1];
vpd->zoom = sc->zoom;
vpd->launch_event = WM_userdef_event_type_from_keymap_type(event->type);
@ -619,7 +619,7 @@ static int view_zoom_invoke(bContext *C, wmOperator *op, const wmEvent *event)
if (ELEM(event->type, MOUSEZOOM, MOUSEPAN)) {
float delta, factor;
delta = event->prevx - event->x + event->prevy - event->y;
delta = event->prev_xy[0] - event->xy[0] + event->prev_xy[1] - event->xy[1];
if (U.uiflag & USER_ZOOM_INVERT) {
delta *= -1;
@ -646,14 +646,14 @@ static void view_zoom_apply(
if (U.viewzoom != USER_ZOOM_SCALE) {
if (U.uiflag & USER_ZOOM_HORIZ) {
delta = (float)(event->x - vpd->x);
delta = (float)(event->xy[0] - vpd->x);
}
else {
delta = (float)(event->y - vpd->y);
delta = (float)(event->xy[1] - vpd->y);
}
}
else {
delta = event->x - vpd->x + event->y - vpd->y;
delta = event->xy[0] - vpd->x + event->xy[1] - vpd->y;
}
delta /= U.pixelsize;

View File

@ -181,8 +181,8 @@ static int add_marker_at_click_modal(bContext *C, wmOperator *UNUSED(op), const
ED_clip_point_stable_pos(sc,
region,
event->x - region->winrct.xmin,
event->y - region->winrct.ymin,
event->xy[0] - region->winrct.xmin,
event->xy[1] - region->winrct.ymin,
&pos[0],
&pos[1]);

View File

@ -149,7 +149,7 @@ static void console_cursor(wmWindow *win, ScrArea *UNUSED(area), ARegion *region
{
int wmcursor = WM_CURSOR_TEXT_EDIT;
const wmEvent *event = win->eventstate;
if (UI_view2d_mouse_in_scrollers(region, &region->v2d, event->x, event->y)) {
if (UI_view2d_mouse_in_scrollers(region, &region->v2d, event->xy[0], event->xy[1])) {
wmcursor = WM_CURSOR_DEFAULT;
}

View File

@ -1449,7 +1449,7 @@ static int file_highlight_invoke(bContext *C, wmOperator *UNUSED(op), const wmEv
ARegion *region = CTX_wm_region(C);
SpaceFile *sfile = CTX_wm_space_file(C);
if (!file_highlight_set(sfile, region, event->x, event->y)) {
if (!file_highlight_set(sfile, region, event->xy[0], event->xy[1])) {
return OPERATOR_PASS_THROUGH;
}

View File

@ -654,7 +654,7 @@ static void file_main_region_draw(const bContext *C, ARegion *region)
/* on first read, find active file */
if (params->highlight_file == -1) {
wmEvent *event = CTX_wm_window(C)->eventstate;
file_highlight_set(sfile, region, event->x, event->y);
file_highlight_set(sfile, region, event->xy[0], event->xy[1]);
}
if (!file_draw_hint_if_invalid(sfile, region)) {

View File

@ -403,8 +403,8 @@ static int graphkeys_click_insert_invoke(bContext *C, wmOperator *op, const wmEv
region = ac.region;
v2d = &region->v2d;
mval[0] = (event->x - region->winrct.xmin);
mval[1] = (event->y - region->winrct.ymin);
mval[0] = (event->xy[0] - region->winrct.xmin);
mval[1] = (event->xy[1] - region->winrct.ymin);
UI_view2d_region_to_view(v2d, mval[0], mval[1], &x, &y);

View File

@ -360,8 +360,8 @@ static void image_view_pan_init(bContext *C, wmOperator *op, const wmEvent *even
WM_cursor_modal_set(win, WM_CURSOR_NSEW_SCROLL);
}
vpd->x = event->x;
vpd->y = event->y;
vpd->x = event->xy[0];
vpd->y = event->xy[1];
vpd->xof = sima->xof;
vpd->yof = sima->yof;
vpd->launch_event = WM_userdef_event_type_from_keymap_type(event->type);
@ -406,8 +406,8 @@ static int image_view_pan_invoke(bContext *C, wmOperator *op, const wmEvent *eve
SpaceImage *sima = CTX_wm_space_image(C);
float offset[2];
offset[0] = (event->prevx - event->x) / sima->zoom;
offset[1] = (event->prevy - event->y) / sima->zoom;
offset[0] = (event->prev_xy[0] - event->xy[0]) / sima->zoom;
offset[1] = (event->prev_xy[1] - event->xy[1]) / sima->zoom;
RNA_float_set_array(op->ptr, "offset", offset);
image_view_pan_exec(C, op);
@ -428,8 +428,8 @@ static int image_view_pan_modal(bContext *C, wmOperator *op, const wmEvent *even
case MOUSEMOVE:
sima->xof = vpd->xof;
sima->yof = vpd->yof;
offset[0] = (vpd->x - event->x) / sima->zoom;
offset[1] = (vpd->y - event->y) / sima->zoom;
offset[0] = (vpd->x - event->xy[0]) / sima->zoom;
offset[1] = (vpd->y - event->xy[1]) / sima->zoom;
RNA_float_set_array(op->ptr, "offset", offset);
image_view_pan_exec(C, op);
break;
@ -516,8 +516,8 @@ static void image_view_zoom_init(bContext *C, wmOperator *op, const wmEvent *eve
WM_cursor_modal_set(win, WM_CURSOR_NSEW_SCROLL);
}
vpd->origx = event->x;
vpd->origy = event->y;
vpd->origx = event->xy[0];
vpd->origy = event->xy[1];
vpd->zoom = sima->zoom;
vpd->launch_event = WM_userdef_event_type_from_keymap_type(event->type);
@ -584,7 +584,7 @@ static int image_view_zoom_invoke(bContext *C, wmOperator *op, const wmEvent *ev
UI_view2d_region_to_view(
&region->v2d, event->mval[0], event->mval[1], &location[0], &location[1]);
delta = event->prevx - event->x + event->prevy - event->y;
delta = event->prev_xy[0] - event->xy[0] + event->prev_xy[1] - event->xy[1];
if (U.uiflag & USER_ZOOM_INVERT) {
delta *= -1;
@ -675,8 +675,8 @@ static int image_view_zoom_modal(bContext *C, wmOperator *op, const wmEvent *eve
const bool use_cursor_init = RNA_boolean_get(op->ptr, "use_cursor_init");
image_zoom_apply(vpd,
op,
event->x,
event->y,
event->xy[0],
event->xy[1],
U.viewzoom,
(U.uiflag & USER_ZOOM_INVERT) != 0,
(use_cursor_init && (U.uiflag & USER_ZOOM_TO_MOUSEPOS)));

View File

@ -258,7 +258,7 @@ static void image_keymap(struct wmKeyConfig *keyconf)
static bool image_drop_poll(bContext *C, wmDrag *drag, const wmEvent *event)
{
ScrArea *area = CTX_wm_area(C);
if (ED_region_overlap_isect_any_xy(area, &event->x)) {
if (ED_region_overlap_isect_any_xy(area, event->xy)) {
return false;
}
if (drag->type == WM_DRAG_PATH) {

View File

@ -2220,8 +2220,8 @@ void node_draw_space(const bContext *C, ARegion *region)
/* XXX `snode->runtime->cursor` set in coordinate-space for placing new nodes,
* used for drawing noodles too. */
UI_view2d_region_to_view(&region->v2d,
win->eventstate->x - region->winrct.xmin,
win->eventstate->y - region->winrct.ymin,
win->eventstate->xy[0] - region->winrct.xmin,
win->eventstate->xy[1] - region->winrct.ymin,
&snode->runtime->cursor[0],
&snode->runtime->cursor[1]);
snode->runtime->cursor[0] /= UI_DPI_FAC;

View File

@ -619,8 +619,8 @@ static void node_cursor(wmWindow *win, ScrArea *area, ARegion *region)
/* convert mouse coordinates to v2d space */
UI_view2d_region_to_view(&region->v2d,
win->eventstate->x - region->winrct.xmin,
win->eventstate->y - region->winrct.ymin,
win->eventstate->xy[0] - region->winrct.xmin,
win->eventstate->xy[1] - region->winrct.ymin,
&snode->runtime->cursor[0],
&snode->runtime->cursor[1]);

View File

@ -81,7 +81,8 @@ DatasetDrawContext::DatasetDrawContext(const bContext *C)
{
const wmWindow *win = CTX_wm_window(C);
const ARegion *region = CTX_wm_region(C);
mval_ = {win->eventstate->x - region->winrct.xmin, win->eventstate->y - region->winrct.ymin};
mval_ = {win->eventstate->xy[0] - region->winrct.xmin,
win->eventstate->xy[1] - region->winrct.ymin};
}
GeometrySet DatasetDrawContext::geometry_set_from_component(GeometryComponentType component)

View File

@ -302,7 +302,7 @@ static void text_cursor(wmWindow *win, ScrArea *area, ARegion *region)
int wmcursor = WM_CURSOR_TEXT_EDIT;
if (st->text && BLI_rcti_isect_pt(&st->runtime.scroll_region_handle,
win->eventstate->x - region->winrct.xmin,
win->eventstate->xy[0] - region->winrct.xmin,
st->runtime.scroll_region_handle.ymin)) {
wmcursor = WM_CURSOR_DEFAULT;
}

View File

@ -2592,7 +2592,7 @@ static void text_scroll_apply(bContext *C, wmOperator *op, const wmEvent *event)
{
SpaceText *st = CTX_wm_space_text(C);
TextScroll *tsc = op->customdata;
const int mval[2] = {event->x, event->y};
const int mval[2] = {event->xy[0], event->xy[1]};
text_update_character_width(st);
@ -2757,11 +2757,11 @@ static int text_scroll_invoke(bContext *C, wmOperator *op, const wmEvent *event)
if (event->type == MOUSEPAN) {
text_update_character_width(st);
tsc->mval_prev[0] = event->x;
tsc->mval_prev[1] = event->y;
tsc->mval_prev[0] = event->xy[0];
tsc->mval_prev[1] = event->xy[1];
/* Sensitivity of scroll set to 4pix per line/char */
tsc->mval_delta[0] = (event->x - event->prevx) * st->runtime.cwidth_px / 4;
tsc->mval_delta[1] = (event->y - event->prevy) * st->runtime.lheight_px / 4;
tsc->mval_delta[0] = (event->xy[0] - event->prev_xy[0]) * st->runtime.cwidth_px / 4;
tsc->mval_delta[1] = (event->xy[1] - event->prev_xy[1]) * st->runtime.lheight_px / 4;
tsc->is_first = false;
tsc->is_scrollbar = false;
text_scroll_apply(C, op, event);

View File

@ -474,7 +474,7 @@ static void view3d_main_region_exit(wmWindowManager *wm, ARegion *region)
static bool view3d_drop_in_main_region_poll(bContext *C, const wmEvent *event)
{
ScrArea *area = CTX_wm_area(C);
return ED_region_overlap_isect_any_xy(area, &event->x) == false;
return ED_region_overlap_isect_any_xy(area, event->xy) == false;
}
static ID_Type view3d_drop_id_in_main_region_poll_get_id_type(bContext *C,
@ -483,7 +483,7 @@ static ID_Type view3d_drop_id_in_main_region_poll_get_id_type(bContext *C,
{
const ScrArea *area = CTX_wm_area(C);
if (ED_region_overlap_isect_any_xy(area, &event->x)) {
if (ED_region_overlap_isect_any_xy(area, event->xy)) {
return 0;
}
if (!view3d_drop_in_main_region_poll(C, event)) {
@ -564,7 +564,7 @@ static char *view3d_object_data_drop_tooltip(bContext *UNUSED(C),
static bool view3d_ima_drop_poll(bContext *C, wmDrag *drag, const wmEvent *event)
{
if (ED_region_overlap_isect_any_xy(CTX_wm_area(C), &event->x)) {
if (ED_region_overlap_isect_any_xy(CTX_wm_area(C), event->xy)) {
return false;
}
if (drag->type == WM_DRAG_PATH) {

View File

@ -191,7 +191,7 @@ typedef struct ViewOpsData {
float dist;
float camzoom;
float quat[4];
/** #wmEvent.x, y. */
/** #wmEvent.xy. */
int event_xy[2];
/** Offset to use when #VIEWOPS_FLAG_USE_MOUSE_INIT is not set.
* so we can simulate pressing in the middle of the screen. */
@ -473,8 +473,8 @@ static void viewops_data_create(bContext *C,
vod->init.dist = rv3d->dist;
vod->init.camzoom = rv3d->camzoom;
copy_qt_qt(vod->init.quat, rv3d->viewquat);
vod->init.event_xy[0] = vod->prev.event_xy[0] = event->x;
vod->init.event_xy[1] = vod->prev.event_xy[1] = event->y;
vod->init.event_xy[0] = vod->prev.event_xy[0] = event->xy[0];
vod->init.event_xy[1] = vod->prev.event_xy[1] = event->xy[1];
if (viewops_flag & VIEWOPS_FLAG_USE_MOUSE_INIT) {
vod->init.event_xy_offset[0] = 0;
@ -482,8 +482,8 @@ static void viewops_data_create(bContext *C,
}
else {
/* Simulate the event starting in the middle of the region. */
vod->init.event_xy_offset[0] = BLI_rcti_cent_x(&vod->region->winrct) - event->x;
vod->init.event_xy_offset[1] = BLI_rcti_cent_y(&vod->region->winrct) - event->y;
vod->init.event_xy_offset[0] = BLI_rcti_cent_x(&vod->region->winrct) - event->xy[0];
vod->init.event_xy_offset[1] = BLI_rcti_cent_y(&vod->region->winrct) - event->xy[1];
}
vod->init.event_type = event->type;
@ -549,8 +549,8 @@ static void viewops_data_create(bContext *C,
{
const int event_xy_offset[2] = {
event->x + vod->init.event_xy_offset[0],
event->y + vod->init.event_xy_offset[1],
event->xy[0] + vod->init.event_xy_offset[0],
event->xy[1] + vod->init.event_xy_offset[1],
};
/* For rotation with trackball rotation. */
calctrackballvec(&vod->region->winrct, event_xy_offset, vod->init.trackvec);
@ -955,7 +955,7 @@ static int viewrotate_modal(bContext *C, wmOperator *op, const wmEvent *event)
}
if (event_code == VIEW_APPLY) {
viewrotate_apply(vod, &event->x);
viewrotate_apply(vod, event->xy);
if (ED_screen_animation_playing(CTX_wm_manager(C))) {
use_autokey = true;
}
@ -1006,18 +1006,18 @@ static int viewrotate_invoke(bContext *C, wmOperator *op, const wmEvent *event)
if (event->type == MOUSEPAN) {
if (event->is_direction_inverted) {
event_xy[0] = 2 * event->x - event->prevx;
event_xy[1] = 2 * event->y - event->prevy;
event_xy[0] = 2 * event->xy[0] - event->prev_xy[0];
event_xy[1] = 2 * event->xy[1] - event->prev_xy[1];
}
else {
event_xy[0] = event->prevx;
event_xy[1] = event->prevy;
event_xy[0] = event->prev_xy[0];
event_xy[1] = event->prev_xy[1];
}
}
else {
/* MOUSEROTATE performs orbital rotation, so y axis delta is set to 0 */
event_xy[0] = event->prevx;
event_xy[1] = event->y;
event_xy[0] = event->prev_xy[0];
event_xy[1] = event->xy[1];
}
viewrotate_apply(vod, event_xy);
@ -1799,7 +1799,7 @@ static int viewmove_modal(bContext *C, wmOperator *op, const wmEvent *event)
}
if (event_code == VIEW_APPLY) {
viewmove_apply(vod, event->x, event->y);
viewmove_apply(vod, event->xy[0], event->xy[1]);
if (ED_screen_animation_playing(CTX_wm_manager(C))) {
use_autokey = true;
}
@ -1844,7 +1844,8 @@ static int viewmove_invoke(bContext *C, wmOperator *op, const wmEvent *event)
if (event->type == MOUSEPAN) {
/* invert it, trackpad scroll follows same principle as 2d windows this way */
viewmove_apply(vod, 2 * event->x - event->prevx, 2 * event->y - event->prevy);
viewmove_apply(
vod, 2 * event->xy[0] - event->prev_xy[0], 2 * event->xy[1] - event->prev_xy[1]);
viewops_data_free(C, op);
@ -1924,7 +1925,7 @@ void viewzoom_modal_keymap(wmKeyConfig *keyconf)
/**
* \param zoom_xy: Optionally zoom to window location
* (coords compatible w/ #wmEvent.x, y). Use when not NULL.
* (coords compatible w/ #wmEvent.xy). Use when not NULL.
*/
static void view_zoom_to_window_xy_camera(Scene *scene,
Depsgraph *depsgraph,
@ -1977,7 +1978,7 @@ static void view_zoom_to_window_xy_camera(Scene *scene,
/**
* \param zoom_xy: Optionally zoom to window location
* (coords compatible w/ #wmEvent.x, y). Use when not NULL.
* (coords compatible w/ #wmEvent.xy). Use when not NULL.
*/
static void view_zoom_to_window_xy_3d(ARegion *region, float dfac, const int zoom_xy[2])
{
@ -2249,7 +2250,7 @@ static int viewzoom_modal(bContext *C, wmOperator *op, const wmEvent *event)
if (event_code == VIEW_APPLY) {
const bool use_cursor_init = RNA_boolean_get(op->ptr, "use_cursor_init");
viewzoom_apply(vod,
&event->x,
event->xy,
(eViewZoom_Style)U.viewzoom,
(U.uiflag & USER_ZOOM_INVERT) != 0,
(use_cursor_init && (U.uiflag & USER_ZOOM_TO_MOUSEPOS)));
@ -2374,8 +2375,8 @@ static int viewzoom_invoke(bContext *C, wmOperator *op, const wmEvent *event)
/* if one or the other zoom position aren't set, set from event */
if (!RNA_struct_property_is_set(op->ptr, "mx") || !RNA_struct_property_is_set(op->ptr, "my")) {
RNA_int_set(op->ptr, "mx", event->x);
RNA_int_set(op->ptr, "my", event->y);
RNA_int_set(op->ptr, "mx", event->xy[0]);
RNA_int_set(op->ptr, "my", event->xy[1]);
}
if (RNA_struct_property_is_set(op->ptr, "delta")) {
@ -2385,15 +2386,15 @@ static int viewzoom_invoke(bContext *C, wmOperator *op, const wmEvent *event)
if (ELEM(event->type, MOUSEZOOM, MOUSEPAN)) {
if (U.uiflag & USER_ZOOM_HORIZ) {
vod->init.event_xy[0] = vod->prev.event_xy[0] = event->x;
vod->init.event_xy[0] = vod->prev.event_xy[0] = event->xy[0];
}
else {
/* Set y move = x move as MOUSEZOOM uses only x axis to pass magnification value */
vod->init.event_xy[1] = vod->prev.event_xy[1] = vod->init.event_xy[1] + event->x -
event->prevx;
vod->init.event_xy[1] = vod->prev.event_xy[1] = vod->init.event_xy[1] + event->xy[0] -
event->prev_xy[0];
}
viewzoom_apply(vod,
&event->prevx,
event->prev_xy,
USER_ZOOM_DOLLY,
(U.uiflag & USER_ZOOM_INVERT) != 0,
(use_cursor_init && (U.uiflag & USER_ZOOM_TO_MOUSEPOS)));
@ -2572,7 +2573,7 @@ static int viewdolly_modal(bContext *C, wmOperator *op, const wmEvent *event)
}
if (event_code == VIEW_APPLY) {
viewdolly_apply(vod, &event->x, (U.uiflag & USER_ZOOM_INVERT) != 0);
viewdolly_apply(vod, event->xy, (U.uiflag & USER_ZOOM_INVERT) != 0);
if (ED_screen_animation_playing(CTX_wm_manager(C))) {
use_autokey = true;
}
@ -2688,8 +2689,8 @@ static int viewdolly_invoke(bContext *C, wmOperator *op, const wmEvent *event)
/* if one or the other zoom position aren't set, set from event */
if (!RNA_struct_property_is_set(op->ptr, "mx") || !RNA_struct_property_is_set(op->ptr, "my")) {
RNA_int_set(op->ptr, "mx", event->x);
RNA_int_set(op->ptr, "my", event->y);
RNA_int_set(op->ptr, "mx", event->xy[0]);
RNA_int_set(op->ptr, "my", event->xy[1]);
}
if (RNA_struct_property_is_set(op->ptr, "delta")) {
@ -2706,14 +2707,14 @@ static int viewdolly_invoke(bContext *C, wmOperator *op, const wmEvent *event)
/* Bypass Zoom invert flag for track pads (pass false always) */
if (U.uiflag & USER_ZOOM_HORIZ) {
vod->init.event_xy[0] = vod->prev.event_xy[0] = event->x;
vod->init.event_xy[0] = vod->prev.event_xy[0] = event->xy[0];
}
else {
/* Set y move = x move as MOUSEZOOM uses only x axis to pass magnification value */
vod->init.event_xy[1] = vod->prev.event_xy[1] = vod->init.event_xy[1] + event->x -
event->prevx;
vod->init.event_xy[1] = vod->prev.event_xy[1] = vod->init.event_xy[1] + event->xy[0] -
event->prev_xy[0];
}
viewdolly_apply(vod, &event->prevx, (U.uiflag & USER_ZOOM_INVERT) == 0);
viewdolly_apply(vod, event->prev_xy, (U.uiflag & USER_ZOOM_INVERT) == 0);
viewops_data_free(C, op);
return OPERATOR_FINISHED;
@ -4421,7 +4422,7 @@ static int viewroll_modal(bContext *C, wmOperator *op, const wmEvent *event)
}
if (event_code == VIEW_APPLY) {
viewroll_apply(vod, event->x, event->y);
viewroll_apply(vod, event->xy[0], event->xy[1]);
if (ED_screen_animation_playing(CTX_wm_manager(C))) {
use_autokey = true;
}
@ -4535,8 +4536,8 @@ static int viewroll_invoke(bContext *C, wmOperator *op, const wmEvent *event)
negate_v3(vod->init.mousevec);
if (event->type == MOUSEROTATE) {
vod->init.event_xy[0] = vod->prev.event_xy[0] = event->x;
viewroll_apply(vod, event->prevx, event->prevy);
vod->init.event_xy[0] = vod->prev.event_xy[0] = event->xy[0];
viewroll_apply(vod, event->prev_xy[0], event->prev_xy[1]);
viewops_data_free(C, op);
return OPERATOR_FINISHED;

View File

@ -539,7 +539,7 @@ static void flyEvent(FlyInfo *fly, const wmEvent *event)
/* Speed adjusting with mouse-pan (track-pad). */
case FLY_MODAL_SPEED: {
float fac = 0.02f * (event->prevy - event->y);
float fac = 0.02f * (event->prev_xy[1] - event->xy[1]);
/* allowing to brake immediate */
if (fac > 0.0f && fly->speed < 0.0f) {

View File

@ -1025,7 +1025,7 @@ int transformEvent(TransInfo *t, const wmEvent *event)
case TFM_MODAL_PROPSIZE:
/* MOUSEPAN usage... */
if (t->flag & T_PROP_EDIT) {
float fac = 1.0f + 0.005f * (event->y - event->prevy);
float fac = 1.0f + 0.005f * (event->xy[1] - event->prev_xy[1]);
t->prop_size *= fac;
if (t->spacetype == SPACE_VIEW3D && t->persp != RV3D_ORTHO) {
t->prop_size = max_ff(min_ff(t->prop_size, ((View3D *)t->view)->clip_end),

View File

@ -356,12 +356,12 @@ static void slider_draw(const struct bContext *UNUSED(C), ARegion *region, void
static void slider_update_factor(tSlider *slider, const wmEvent *event)
{
const float factor_delta = (event->x - slider->last_cursor[0]) / SLIDE_PIXEL_DISTANCE;
const float factor_delta = (event->xy[0] - slider->last_cursor[0]) / SLIDE_PIXEL_DISTANCE;
/* Reduced factor delta in precision mode (shift held). */
slider->raw_factor += slider->precision ? (factor_delta / 8) : factor_delta;
slider->factor = slider->raw_factor;
slider->last_cursor[0] = event->x;
slider->last_cursor[1] = event->y;
slider->last_cursor[0] = event->xy[0];
slider->last_cursor[1] = event->xy[1];
if (!slider->overshoot) {
slider->factor = clamp_f(slider->factor, 0, 1);
@ -403,8 +403,8 @@ tSlider *ED_slider_create(struct bContext *C)
*/
void ED_slider_init(struct tSlider *slider, const wmEvent *event)
{
slider->last_cursor[0] = event->x;
slider->last_cursor[1] = event->y;
slider->last_cursor[0] = event->xy[0];
slider->last_cursor[1] = event->xy[1];
}
/**
@ -533,8 +533,8 @@ void ED_region_draw_mouse_line_cb(const bContext *C, ARegion *region, void *arg_
wmWindow *win = CTX_wm_window(C);
const float *mval_src = (float *)arg_info;
const float mval_dst[2] = {
win->eventstate->x - region->winrct.xmin,
win->eventstate->y - region->winrct.ymin,
win->eventstate->xy[0] - region->winrct.xmin,
win->eventstate->xy[1] - region->winrct.ymin,
};
const uint shdr_pos = GPU_vertformat_attr_add(

View File

@ -451,7 +451,7 @@ void ED_imbuf_sample_draw(const bContext *C, ARegion *region, void *arg_info)
rctf sample_rect_fl;
BLI_rctf_init_pt_radius(
&sample_rect_fl,
(float[2]){event->x - region->winrct.xmin, event->y - region->winrct.ymin},
(float[2]){event->xy[0] - region->winrct.xmin, event->xy[1] - region->winrct.ymin},
(float)(info->sample_size / 2.0f) * sima->zoom);
GPU_logic_op_xor_set(true);

View File

@ -2139,13 +2139,13 @@ static void rna_def_event(BlenderRNA *brna)
/* mouse */
prop = RNA_def_property(srna, "mouse_x", PROP_INT, PROP_NONE);
RNA_def_property_int_sdna(prop, NULL, "x");
RNA_def_property_int_sdna(prop, NULL, "xy[0]");
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
RNA_def_property_ui_text(
prop, "Mouse X Position", "The window relative horizontal location of the mouse");
prop = RNA_def_property(srna, "mouse_y", PROP_INT, PROP_NONE);
RNA_def_property_int_sdna(prop, NULL, "y");
RNA_def_property_int_sdna(prop, NULL, "xy[1]");
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
RNA_def_property_ui_text(
prop, "Mouse Y Position", "The window relative vertical location of the mouse");
@ -2163,13 +2163,13 @@ static void rna_def_event(BlenderRNA *brna)
prop, "Mouse Y Position", "The region relative vertical location of the mouse");
prop = RNA_def_property(srna, "mouse_prev_x", PROP_INT, PROP_NONE);
RNA_def_property_int_sdna(prop, NULL, "prevx");
RNA_def_property_int_sdna(prop, NULL, "prev_xy[0]");
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
RNA_def_property_ui_text(
prop, "Mouse Previous X Position", "The window relative horizontal location of the mouse");
prop = RNA_def_property(srna, "mouse_prev_y", PROP_INT, PROP_NONE);
RNA_def_property_int_sdna(prop, NULL, "prevy");
RNA_def_property_int_sdna(prop, NULL, "prev_xy[1]");
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
RNA_def_property_ui_text(
prop, "Mouse Previous Y Position", "The window relative vertical location of the mouse");

View File

@ -652,8 +652,8 @@ static wmEvent *rna_Window_event_add_simulate(wmWindow *win,
e.type = type;
e.val = value;
e.is_repeat = false;
e.x = x;
e.y = y;
e.xy[0] = x;
e.xy[1] = y;
e.shift = shift;
e.ctrl = ctrl;

View File

@ -597,7 +597,7 @@ typedef struct wmTabletData {
* - The previous values are only set for mouse button and keyboard events.
* See: #ISMOUSE_BUTTON & #ISKEYBOARD macros.
*
* - Previous x/y are exceptions: #wmEvent.prevx & #wmEvent.prevy
* - Previous x/y are exceptions: #wmEvent.prev
* these are set on mouse motion, see #MOUSEMOVE & track-pad events.
*
* - Modal key-map handling sets `prevval` & `prevtype` to `val` & `type`,
@ -611,7 +611,7 @@ typedef struct wmEvent {
/** Press, release, scroll-value. */
short val;
/** Mouse pointer position, screen coord. */
int x, y;
int xy[2];
/** Region relative mouse position (name convention before Blender 2.5). */
int mval[2];
/**
@ -638,13 +638,13 @@ typedef struct wmEvent {
/** The time when the key is pressed, see #PIL_check_seconds_timer. */
double prevclicktime;
/** The location when the key is pressed (used to enforce drag thresholds). */
int prevclickx, prevclicky;
int prev_click_xy[2];
/**
* The previous value of #wmEvent.x #wmEvent.y,
* The previous value of #wmEvent.xy,
* Unlike other previous state variables, this is set on any mouse motion.
* Use `prevclickx` & `prevclicky` for the value at time of pressing.
* Use `prevclick` for the value at time of pressing.
*/
int prevx, prevy;
int prev_xy[2];
/** Modifier states. */
/** 'oskey' is apple or windows-key, value denotes order of pressed. */
@ -665,7 +665,7 @@ typedef struct wmEvent {
/**
* True if the operating system inverted the delta x/y values and resulting
* `prevx`, `prevy` values, for natural scroll direction.
* `prev_xy` values, for natural scroll direction.
* For absolute scroll direction, the delta must be negated again.
*/
char is_direction_inverted;

View File

@ -380,7 +380,7 @@ typedef struct wmGizmoType {
/**
* Returns screen-space bounding box in the window space
* (compatible with #wmEvent.x #wmEvent.y).
* (compatible with #wmEvent.xy).
*
* Used for tool-tip placement (otherwise the cursor location is used).
*/

View File

@ -1073,7 +1073,7 @@ void wm_gizmomap_modal_set(
if ((gz->flag & WM_GIZMO_MOVE_CURSOR) && (event->tablet.is_motion_absolute == false)) {
WM_cursor_grab_enable(win, WM_CURSOR_WRAP_XY, true, NULL);
copy_v2_v2_int(gzmap->gzmap_context.event_xy, &event->x);
copy_v2_v2_int(gzmap->gzmap_context.event_xy, &event->xy[0]);
gzmap->gzmap_context.event_grabcursor = win->grabcursor;
}
else {

View File

@ -311,7 +311,8 @@ static void wm_drop_operator_options(bContext *C, wmDrag *drag, const wmEvent *e
const int winsize_y = WM_window_pixels_y(win);
/* for multiwin drags, we only do this if mouse inside */
if (event->x < 0 || event->y < 0 || event->x > winsize_x || event->y > winsize_y) {
if (event->xy[0] < 0 || event->xy[1] < 0 || event->xy[0] > winsize_x ||
event->xy[1] > winsize_y) {
return;
}
@ -650,8 +651,8 @@ void wm_drags_draw(bContext *C, wmWindow *win, rcti *rect)
wmWindowManager *wm = CTX_wm_manager(C);
const int winsize_y = WM_window_pixels_y(win);
int cursorx = win->eventstate->x;
int cursory = win->eventstate->y;
int cursorx = win->eventstate->xy[0];
int cursory = win->eventstate->xy[1];
if (rect) {
rect->xmin = rect->xmax = cursorx;
rect->ymin = rect->ymax = cursory;

View File

@ -121,7 +121,7 @@ static void wm_paintcursor_draw(bContext *C, ScrArea *area, ARegion *region)
pc->draw(C, x, y, pc->customdata);
}
else {
pc->draw(C, win->eventstate->x, win->eventstate->y, pc->customdata);
pc->draw(C, win->eventstate->xy[0], win->eventstate->xy[1], pc->customdata);
}
GPU_scissor_test(false);

View File

@ -103,8 +103,8 @@ void WM_event_print(const wmEvent *event)
event->oskey,
event->keymodifier,
event->is_repeat,
event->x,
event->y,
event->xy[0],
event->xy[1],
event->ascii,
BLI_str_utf8_size(event->utf8_buf),
event->utf8_buf,
@ -316,8 +316,8 @@ bool WM_event_drag_test_with_delta(const wmEvent *event, const int drag_delta[2]
bool WM_event_drag_test(const wmEvent *event, const int prev_xy[2])
{
const int drag_delta[2] = {
prev_xy[0] - event->x,
prev_xy[1] - event->y,
prev_xy[0] - event->xy[0],
prev_xy[1] - event->xy[1],
};
return WM_event_drag_test_with_delta(event, drag_delta);
}
@ -476,7 +476,7 @@ bool WM_event_is_tablet(const struct wmEvent *event)
int WM_event_absolute_delta_x(const struct wmEvent *event)
{
int dx = event->x - event->prevx;
int dx = event->xy[0] - event->prev_xy[0];
if (!event->is_direction_inverted) {
dx = -dx;
@ -487,7 +487,7 @@ int WM_event_absolute_delta_x(const struct wmEvent *event)
int WM_event_absolute_delta_y(const struct wmEvent *event)
{
int dy = event->y - event->prevy;
int dy = event->xy[1] - event->prev_xy[1];
if (!event->is_direction_inverted) {
dy = -dy;

View File

@ -153,12 +153,12 @@ wmEvent *WM_event_add_simulate(wmWindow *win, const wmEvent *event_to_add)
/* Logic for setting previous value is documented on the #wmEvent struct,
* see #wm_event_add_ghostevent for the implementation of logic this follows. */
win->eventstate->x = event->x;
win->eventstate->y = event->y;
win->eventstate->xy[0] = event->xy[0];
win->eventstate->xy[1] = event->xy[1];
if (event->type == MOUSEMOVE) {
win->eventstate->prevx = event->prevx = win->eventstate->x;
win->eventstate->prevy = event->prevy = win->eventstate->y;
win->eventstate->prev_xy[0] = event->prev_xy[0] = win->eventstate->xy[0];
win->eventstate->prev_xy[1] = event->prev_xy[1] = win->eventstate->xy[1];
}
else if (ISMOUSE_BUTTON(event->type) || ISKEYBOARD(event->type)) {
win->eventstate->prevval = event->prevval = win->eventstate->val;
@ -169,8 +169,7 @@ wmEvent *WM_event_add_simulate(wmWindow *win, const wmEvent *event_to_add)
if (event->val == KM_PRESS) {
if (event->is_repeat == false) {
win->eventstate->prevclickx = event->x;
win->eventstate->prevclicky = event->y;
copy_v2_v2_int(win->eventstate->prev_click_xy, event->xy);
}
}
}
@ -1285,8 +1284,8 @@ static void wm_region_mouse_co(bContext *C, wmEvent *event)
ARegion *region = CTX_wm_region(C);
if (region) {
/* Compatibility convention. */
event->mval[0] = event->x - region->winrct.xmin;
event->mval[1] = event->y - region->winrct.ymin;
event->mval[0] = event->xy[0] - region->winrct.xmin;
event->mval[1] = event->xy[1] - region->winrct.ymin;
}
else {
/* These values are invalid (avoid odd behavior by relying on old mval values). */
@ -1422,10 +1421,10 @@ static int wm_operator_invoke(bContext *C,
}
if (region && region->regiontype == RGN_TYPE_WINDOW &&
BLI_rcti_isect_pt_v(&region->winrct, &event->x)) {
BLI_rcti_isect_pt_v(&region->winrct, event->xy)) {
winrect = &region->winrct;
}
else if (area && BLI_rcti_isect_pt_v(&area->totrct, &event->x)) {
else if (area && BLI_rcti_isect_pt_v(&area->totrct, event->xy)) {
winrect = &area->totrct;
}
@ -1893,7 +1892,8 @@ static void wm_handler_op_context(bContext *C, wmEventHandler_Op *handler, const
CTX_wm_area_set(C, area);
if (op && (op->flag & OP_IS_MODAL_CURSOR_REGION)) {
region = BKE_area_find_region_xy(area, handler->context.region_type, event->x, event->y);
region = BKE_area_find_region_xy(
area, handler->context.region_type, event->xy[0], event->xy[1]);
if (region) {
handler->context.region = region;
}
@ -2491,7 +2491,8 @@ static int wm_handler_fileselect_do(bContext *C,
wm_window_make_drawable(wm, ctx_win);
/* Ensure correct cursor position, otherwise, popups may close immediately after
* opening (UI_BLOCK_MOVEMOUSE_QUIT). */
wm_cursor_position_get(ctx_win, &ctx_win->eventstate->x, &ctx_win->eventstate->y);
wm_cursor_position_get(
ctx_win, &ctx_win->eventstate->xy[0], &ctx_win->eventstate->xy[1]);
wm->winactive = ctx_win; /* Reports use this... */
if (handler->context.win == win) {
handler->context.win = NULL;
@ -2811,7 +2812,7 @@ static int wm_handlers_do_gizmo_handler(bContext *C,
* noticeable for the node editor - where dragging on a node should move it, see: T73212.
* note we still allow for starting the gizmo drag outside, then travel 'inside' the node. */
if (region->type->clip_gizmo_events_by_ui) {
if (UI_region_block_find_mouse_over(region, &event->x, true)) {
if (UI_region_block_find_mouse_over(region, &event->xy[0], true)) {
if (gz != NULL && event->type != EVT_GIZMO_UPDATE) {
if (restore_highlight_unless_activated == false) {
WM_tooltip_clear(C, CTX_wm_window(C));
@ -3172,16 +3173,16 @@ static int wm_handlers_do(bContext *C, wmEvent *event, ListBase *handlers)
/* Test for CLICK_DRAG events. */
if (wm_action_not_handled(action)) {
if (win->event_queue_check_drag) {
if (WM_event_drag_test(event, &event->prevclickx)) {
if (WM_event_drag_test(event, event->prev_click_xy)) {
win->event_queue_check_drag_handled = true;
int x = event->x;
int y = event->y;
int x = event->xy[0];
int y = event->xy[1];
short val = event->val;
short type = event->type;
event->x = event->prevclickx;
event->y = event->prevclicky;
event->xy[0] = event->prev_click_xy[0];
event->xy[1] = event->prev_click_xy[1];
event->val = KM_CLICK_DRAG;
event->type = event->prevtype;
@ -3191,8 +3192,8 @@ static int wm_handlers_do(bContext *C, wmEvent *event, ListBase *handlers)
event->val = val;
event->type = type;
event->x = x;
event->y = y;
event->xy[0] = x;
event->xy[1] = y;
win->event_queue_check_click = false;
if (!wm_action_not_handled(action)) {
@ -3230,18 +3231,18 @@ static int wm_handlers_do(bContext *C, wmEvent *event, ListBase *handlers)
if (event->val == KM_RELEASE) {
if (event->prevval == KM_PRESS) {
if (win->event_queue_check_click == true) {
if (WM_event_drag_test(event, &event->prevclickx)) {
if (WM_event_drag_test(event, event->prev_click_xy)) {
win->event_queue_check_click = false;
win->event_queue_check_drag = false;
}
else {
/* Position is where the actual click happens, for more
* accurate selecting in case the mouse drifts a little. */
int x = event->x;
int y = event->y;
int x = event->xy[0];
int y = event->xy[1];
event->x = event->prevclickx;
event->y = event->prevclicky;
event->xy[0] = event->prev_click_xy[0];
event->xy[1] = event->prev_click_xy[1];
event->val = KM_CLICK;
CLOG_INFO(WM_LOG_HANDLERS, 1, "handling CLICK");
@ -3249,8 +3250,8 @@ static int wm_handlers_do(bContext *C, wmEvent *event, ListBase *handlers)
action |= wm_handlers_do_intern(C, win, event, handlers);
event->val = KM_RELEASE;
event->x = x;
event->y = y;
event->xy[0] = x;
event->xy[1] = y;
}
}
}
@ -3301,7 +3302,7 @@ static bool wm_event_inside_rect(const wmEvent *event, const rcti *rect)
if (wm_event_always_pass(event)) {
return true;
}
if (BLI_rcti_isect_pt_v(rect, &event->x)) {
if (BLI_rcti_isect_pt_v(rect, event->xy)) {
return true;
}
return false;
@ -3312,7 +3313,7 @@ static bool wm_event_inside_region(const wmEvent *event, const ARegion *region)
if (wm_event_always_pass(event)) {
return true;
}
return ED_region_contains_xy(region, &event->x);
return ED_region_contains_xy(region, event->xy);
}
static ScrArea *area_event_inside(bContext *C, const int xy[2])
@ -3371,11 +3372,11 @@ static void wm_paintcursor_test(bContext *C, const wmEvent *event)
}
/* If previous position was not in current region, we have to set a temp new context. */
if (region == NULL || !BLI_rcti_isect_pt_v(&region->winrct, &event->prevx)) {
if (region == NULL || !BLI_rcti_isect_pt_v(&region->winrct, event->prev_xy)) {
ScrArea *area = CTX_wm_area(C);
CTX_wm_area_set(C, area_event_inside(C, &event->prevx));
CTX_wm_region_set(C, region_event_inside(C, &event->prevx));
CTX_wm_area_set(C, area_event_inside(C, event->prev_xy));
CTX_wm_region_set(C, region_event_inside(C, event->prev_xy));
wm_paintcursor_tag(C, wm->paintcursors.first, CTX_wm_region(C));
@ -3637,15 +3638,15 @@ void wm_event_do_handlers(bContext *C)
/* Clear tool-tip on mouse move. */
if (screen->tool_tip && screen->tool_tip->exit_on_event) {
if (ELEM(event->type, MOUSEMOVE, INBETWEEN_MOUSEMOVE)) {
if (len_manhattan_v2v2_int(screen->tool_tip->event_xy, &event->x) > U.move_threshold) {
if (len_manhattan_v2v2_int(screen->tool_tip->event_xy, event->xy) > U.move_threshold) {
WM_tooltip_clear(C, win);
}
}
}
/* We let modal handlers get active area/region, also wm_paintcursor_test needs it. */
CTX_wm_area_set(C, area_event_inside(C, &event->x));
CTX_wm_region_set(C, region_event_inside(C, &event->x));
CTX_wm_area_set(C, area_event_inside(C, event->xy));
CTX_wm_region_set(C, region_event_inside(C, event->xy));
/* MVC demands to not draw in event handlers...
* but we need to leave it for ogl selecting etc. */
@ -3682,7 +3683,7 @@ void wm_event_do_handlers(bContext *C)
if (event->type == MOUSEMOVE) {
/* State variables in screen, cursors.
* Also used in wm_draw.c, fails for modal handlers though. */
ED_screen_set_active_region(C, win, &event->x);
ED_screen_set_active_region(C, win, event->xy);
/* For regions having custom cursors. */
wm_paintcursor_test(C, event);
}
@ -3704,7 +3705,7 @@ void wm_event_do_handlers(bContext *C)
/* Update azones if needed - done here because it needs to be independent from redraws.
*/
if (area->flag & AREA_FLAG_ACTIONZONES_UPDATE) {
ED_area_azones_update(area, &event->x);
ED_area_azones_update(area, event->xy);
}
if (wm_event_inside_rect(event, &area->totrct)) {
@ -3757,8 +3758,8 @@ void wm_event_do_handlers(bContext *C)
if ((action & WM_HANDLER_BREAK) == 0) {
/* Also some non-modal handlers need active area/region. */
CTX_wm_area_set(C, area_event_inside(C, &event->x));
CTX_wm_region_set(C, region_event_inside(C, &event->x));
CTX_wm_area_set(C, area_event_inside(C, event->xy));
CTX_wm_region_set(C, region_event_inside(C, event->xy));
wm_region_mouse_co(C, event);
@ -3787,8 +3788,8 @@ void wm_event_do_handlers(bContext *C)
}
/* Update previous mouse position for following events to use. */
win->eventstate->prevx = event->x;
win->eventstate->prevy = event->y;
win->eventstate->prev_xy[0] = event->xy[0];
win->eventstate->prev_xy[1] = event->xy[1];
/* Unlink and free here, blender-quit then frees all. */
BLI_remlink(&win->event_queue, event);
@ -3798,10 +3799,10 @@ void wm_event_do_handlers(bContext *C)
/* Only add mouse-move when the event queue was read entirely. */
if (win->addmousemove && win->eventstate) {
wmEvent tevent = *(win->eventstate);
// printf("adding MOUSEMOVE %d %d\n", tevent.x, tevent.y);
// printf("adding MOUSEMOVE %d %d\n", tevent.xy[0], tevent.xy[1]);
tevent.type = MOUSEMOVE;
tevent.prevx = tevent.x;
tevent.prevy = tevent.y;
tevent.prev_xy[0] = tevent.xy[0];
tevent.prev_xy[1] = tevent.xy[1];
tevent.is_repeat = false;
wm_event_add(win, &tevent);
win->addmousemove = 0;
@ -4180,10 +4181,10 @@ wmEventHandler_Keymap *WM_event_add_keymap_handler_priority(ListBase *handlers,
static bool event_or_prev_in_rect(const wmEvent *event, const rcti *rect)
{
if (BLI_rcti_isect_pt(rect, event->x, event->y)) {
if (BLI_rcti_isect_pt(rect, event->xy[0], event->xy[1])) {
return true;
}
if (event->type == MOUSEMOVE && BLI_rcti_isect_pt(rect, event->prevx, event->prevy)) {
if (event->type == MOUSEMOVE && BLI_rcti_isect_pt(rect, event->prev_xy[0], event->prev_xy[1])) {
return true;
}
return false;
@ -4659,7 +4660,7 @@ static void attach_ndof_data(wmEvent *event, const GHOST_TEventNDOFMotionData *g
/* Imperfect but probably usable... draw/enable drags to other windows. */
static wmWindow *wm_event_cursor_other_windows(wmWindowManager *wm, wmWindow *win, wmEvent *event)
{
int mval[2] = {event->x, event->y};
int mval[2] = {event->xy[0], event->xy[1]};
if (wm->windows.first == wm->windows.last) {
return NULL;
@ -4681,8 +4682,8 @@ static wmWindow *wm_event_cursor_other_windows(wmWindowManager *wm, wmWindow *wi
wmWindow *win_other = WM_window_find_under_cursor(wm, win, win, mval, mval);
if (win_other) {
event->x = mval[0];
event->y = mval[1];
event->xy[0] = mval[0];
event->xy[1] = mval[1];
return win_other;
}
}
@ -4693,7 +4694,7 @@ static bool wm_event_is_double_click(const wmEvent *event)
{
if ((event->type == event->prevtype) && (event->prevval == KM_RELEASE) &&
(event->val == KM_PRESS)) {
if (ISMOUSE(event->type) && WM_event_drag_test(event, &event->prevclickx)) {
if (ISMOUSE(event->type) && WM_event_drag_test(event, event->prev_click_xy)) {
/* Pass. */
}
else {
@ -4718,8 +4719,8 @@ static void wm_event_prev_values_set(wmEvent *event, wmEvent *event_state)
static void wm_event_prev_click_set(wmEvent *event, wmEvent *event_state)
{
event->prevclicktime = event_state->prevclicktime = PIL_check_seconds_timer();
event->prevclickx = event_state->prevclickx = event_state->x;
event->prevclicky = event_state->prevclicky = event_state->y;
event->prev_click_xy[0] = event_state->prev_click_xy[0] = event_state->xy[1];
event->prev_click_xy[1] = event_state->prev_click_xy[1] = event_state->xy[1];
}
static wmEvent *wm_event_add_mousemove(wmWindow *win, const wmEvent *event)
@ -4739,7 +4740,7 @@ static wmEvent *wm_event_add_mousemove(wmWindow *win, const wmEvent *event)
event_last = win->eventstate;
}
copy_v2_v2_int(&event_new->prevx, &event_last->x);
copy_v2_v2_int(event_new->prev_xy, event_last->xy);
return event_new;
}
@ -4749,16 +4750,16 @@ static wmEvent *wm_event_add_trackpad(wmWindow *win, const wmEvent *event, int d
* for painting with mouse moves, for navigation using the accumulated value is ok. */
wmEvent *event_last = win->event_queue.last;
if (event_last && event_last->type == event->type) {
deltax += event_last->x - event_last->prevx;
deltay += event_last->y - event_last->prevy;
deltax += event_last->xy[0] - event_last->prev_xy[0];
deltay += event_last->xy[1] - event_last->prev_xy[1];
wm_event_free_last(win);
}
/* Set prevx/prevy, the delta is computed from this in operators. */
/* Set prev_xy, the delta is computed from this in operators. */
wmEvent *event_new = wm_event_add(win, event);
event_new->prevx = event_new->x - deltax;
event_new->prevy = event_new->y - deltay;
event_new->prev_xy[0] = event_new->xy[0] - deltax;
event_new->prev_xy[1] = event_new->xy[1] - deltay;
return event_new;
}
@ -4827,14 +4828,14 @@ void wm_event_add_ghostevent(wmWindowManager *wm, wmWindow *win, int type, void
case GHOST_kEventCursorMove: {
GHOST_TEventCursorData *cd = customdata;
copy_v2_v2_int(&event.x, &cd->x);
wm_stereo3d_mouse_offset_apply(win, &event.x);
copy_v2_v2_int(event.xy, &cd->x);
wm_stereo3d_mouse_offset_apply(win, &event.xy[0]);
wm_tablet_data_from_ghost(&cd->tablet, &event.tablet);
event.type = MOUSEMOVE;
{
wmEvent *event_new = wm_event_add_mousemove(win, &event);
copy_v2_v2_int(&event_state->x, &event_new->x);
copy_v2_v2_int(event_state->xy, event_new->xy);
event_state->tablet.is_motion_absolute = event_new->tablet.is_motion_absolute;
}
@ -4848,11 +4849,11 @@ void wm_event_add_ghostevent(wmWindowManager *wm, wmWindow *win, int type, void
event_other.prevtype = event_other.type;
event_other.prevval = event_other.val;
copy_v2_v2_int(&event_other.x, &event.x);
copy_v2_v2_int(event_other.xy, event.xy);
event_other.type = MOUSEMOVE;
{
wmEvent *event_new = wm_event_add_mousemove(win_other, &event_other);
copy_v2_v2_int(&win_other->eventstate->x, &event_new->x);
copy_v2_v2_int(win_other->eventstate->xy, event_new->xy);
win_other->eventstate->tablet.is_motion_absolute = event_new->tablet.is_motion_absolute;
}
}
@ -4879,8 +4880,8 @@ void wm_event_add_ghostevent(wmWindowManager *wm, wmWindow *win, int type, void
break;
}
event.x = event_state->x = pd->x;
event.y = event_state->y = pd->y;
event.xy[0] = event_state->xy[0] = pd->x;
event.xy[1] = event_state->xy[1] = pd->y;
event.val = KM_NOTHING;
/* The direction is inverted from the device due to system preferences. */
@ -4947,7 +4948,7 @@ void wm_event_add_ghostevent(wmWindowManager *wm, wmWindow *win, int type, void
event_other.prevtype = event_other.type;
event_other.prevval = event_other.val;
copy_v2_v2_int(&event_other.x, &event.x);
copy_v2_v2_int(event_other.xy, event.xy);
event_other.type = event.type;
event_other.val = event.val;
@ -5125,7 +5126,7 @@ void wm_event_add_ghostevent(wmWindowManager *wm, wmWindow *win, int type, void
attach_ndof_data(&event, customdata);
wm_event_add(win, &event);
CLOG_INFO(WM_LOG_HANDLERS, 1, "sending NDOF_MOTION, prev = %d %d", event.x, event.y);
CLOG_INFO(WM_LOG_HANDLERS, 1, "sending NDOF_MOTION, prev = %d %d", event.xy[0], event.xy[1]);
break;
}

View File

@ -73,14 +73,14 @@ wmGesture *WM_gesture_new(wmWindow *window, const ARegion *region, const wmEvent
rcti *rect = MEM_callocN(sizeof(rcti), "gesture rect new");
gesture->customdata = rect;
rect->xmin = event->x - gesture->winrct.xmin;
rect->ymin = event->y - gesture->winrct.ymin;
rect->xmin = event->xy[0] - gesture->winrct.xmin;
rect->ymin = event->xy[1] - gesture->winrct.ymin;
if (type == WM_GESTURE_CIRCLE) {
/* caller is responsible for initializing 'xmax' to radius. */
}
else {
rect->xmax = event->x - gesture->winrct.xmin;
rect->ymax = event->y - gesture->winrct.ymin;
rect->xmax = event->xy[0] - gesture->winrct.xmin;
rect->ymax = event->xy[1] - gesture->winrct.ymin;
}
}
else if (ELEM(type, WM_GESTURE_LINES, WM_GESTURE_LASSO)) {
@ -88,8 +88,8 @@ wmGesture *WM_gesture_new(wmWindow *window, const ARegion *region, const wmEvent
gesture->points_alloc = 1024;
gesture->customdata = lasso = MEM_mallocN(sizeof(short[2]) * gesture->points_alloc,
"lasso points");
lasso[0] = event->x - gesture->winrct.xmin;
lasso[1] = event->y - gesture->winrct.ymin;
lasso[0] = event->xy[0] - gesture->winrct.xmin;
lasso[1] = event->xy[1] - gesture->winrct.ymin;
gesture->points = 1;
}

View File

@ -245,17 +245,17 @@ int WM_gesture_box_modal(bContext *C, wmOperator *op, const wmEvent *event)
switch (event->type) {
case MOUSEMOVE: {
if (gesture->type == WM_GESTURE_CROSS_RECT && gesture->is_active == false) {
rect->xmin = rect->xmax = event->x - gesture->winrct.xmin;
rect->ymin = rect->ymax = event->y - gesture->winrct.ymin;
rect->xmin = rect->xmax = event->xy[0] - gesture->winrct.xmin;
rect->ymin = rect->ymax = event->xy[1] - gesture->winrct.ymin;
}
else if (gesture->move) {
BLI_rcti_translate(rect,
(event->x - gesture->winrct.xmin) - rect->xmax,
(event->y - gesture->winrct.ymin) - rect->ymax);
(event->xy[0] - gesture->winrct.xmin) - rect->xmax,
(event->xy[1] - gesture->winrct.ymin) - rect->ymax);
}
else {
rect->xmax = event->x - gesture->winrct.xmin;
rect->ymax = event->y - gesture->winrct.ymin;
rect->xmax = event->xy[0] - gesture->winrct.xmin;
rect->ymax = event->xy[1] - gesture->winrct.ymin;
}
gesture_box_apply_rect(op);
@ -365,8 +365,8 @@ int WM_gesture_circle_modal(bContext *C, wmOperator *op, const wmEvent *event)
if (event->type == MOUSEMOVE) {
rect->xmin = event->x - gesture->winrct.xmin;
rect->ymin = event->y - gesture->winrct.ymin;
rect->xmin = event->xy[0] - gesture->winrct.xmin;
rect->ymin = event->xy[1] - gesture->winrct.ymin;
wm_gesture_tag_redraw(win);
@ -381,7 +381,7 @@ int WM_gesture_circle_modal(bContext *C, wmOperator *op, const wmEvent *event)
switch (event->val) {
case GESTURE_MODAL_CIRCLE_SIZE:
fac = 0.3f * (event->y - event->prevy);
fac = 0.3f * (event->xy[1] - event->prev_xy[1]);
if (fac > 0) {
rect->xmax += ceil(fac);
}
@ -500,8 +500,8 @@ static void gesture_tweak_modal(bContext *C, const wmEvent *event)
case MOUSEMOVE:
case INBETWEEN_MOUSEMOVE: {
rect->xmax = event->x - gesture->winrct.xmin;
rect->ymax = event->y - gesture->winrct.ymin;
rect->xmax = event->xy[0] - gesture->winrct.xmin;
rect->ymax = event->xy[1] - gesture->winrct.ymin;
const int val = wm_gesture_evaluate(gesture, event);
if (val != 0) {
@ -510,8 +510,8 @@ static void gesture_tweak_modal(bContext *C, const wmEvent *event)
wm_event_init_from_window(window, &tevent);
/* We want to get coord from start of drag,
* not from point where it becomes a tweak event, see T40549. */
tevent.x = rect->xmin + gesture->winrct.xmin;
tevent.y = rect->ymin + gesture->winrct.ymin;
tevent.xy[0] = rect->xmin + gesture->winrct.xmin;
tevent.xy[1] = rect->ymin + gesture->winrct.ymin;
if (gesture->event_type == LEFTMOUSE) {
tevent.type = EVT_TWEAK_L;
}
@ -696,8 +696,8 @@ int WM_gesture_lasso_modal(bContext *C, wmOperator *op, const wmEvent *event)
{
short(*lasso)[2] = gesture->customdata;
const int x = ((event->x - gesture->winrct.xmin) - lasso[gesture->points - 1][0]);
const int y = ((event->y - gesture->winrct.ymin) - lasso[gesture->points - 1][1]);
const int x = ((event->xy[0] - gesture->winrct.xmin) - lasso[gesture->points - 1][0]);
const int y = ((event->xy[1] - gesture->winrct.ymin) - lasso[gesture->points - 1][1]);
/* move the lasso */
if (gesture->move) {
@ -709,8 +709,8 @@ int WM_gesture_lasso_modal(bContext *C, wmOperator *op, const wmEvent *event)
/* Make a simple distance check to get a smoother lasso
* add only when at least 2 pixels between this and previous location. */
else if ((x * x + y * y) > pow2f(2.0f * UI_DPI_FAC)) {
lasso[gesture->points][0] = event->x - gesture->winrct.xmin;
lasso[gesture->points][1] = event->y - gesture->winrct.ymin;
lasso[gesture->points][0] = event->xy[0] - gesture->winrct.xmin;
lasso[gesture->points][1] = event->xy[1] - gesture->winrct.ymin;
gesture->points++;
}
}
@ -981,18 +981,18 @@ int WM_gesture_straightline_modal(bContext *C, wmOperator *op, const wmEvent *ev
switch (event->type) {
case MOUSEMOVE: {
if (gesture->is_active == false) {
rect->xmin = rect->xmax = event->x - gesture->winrct.xmin;
rect->ymin = rect->ymax = event->y - gesture->winrct.ymin;
rect->xmin = rect->xmax = event->xy[0] - gesture->winrct.xmin;
rect->ymin = rect->ymax = event->xy[1] - gesture->winrct.ymin;
}
else if (gesture->move) {
BLI_rcti_translate(rect,
(event->x - gesture->winrct.xmin) - rect->xmax,
(event->y - gesture->winrct.ymin) - rect->ymax);
(event->xy[0] - gesture->winrct.xmin) - rect->xmax,
(event->xy[1] - gesture->winrct.ymin) - rect->ymax);
gesture_straightline_apply(C, op);
}
else {
rect->xmax = event->x - gesture->winrct.xmin;
rect->ymax = event->y - gesture->winrct.ymin;
rect->xmax = event->xy[0] - gesture->winrct.xmin;
rect->ymax = event->xy[1] - gesture->winrct.ymin;
gesture_straightline_apply(C, op);
}
@ -1072,17 +1072,17 @@ int WM_gesture_straightline_oneshot_modal(bContext *C, wmOperator *op, const wmE
switch (event->type) {
case MOUSEMOVE: {
if (gesture->is_active == false) {
rect->xmin = rect->xmax = event->x - gesture->winrct.xmin;
rect->ymin = rect->ymax = event->y - gesture->winrct.ymin;
rect->xmin = rect->xmax = event->xy[0] - gesture->winrct.xmin;
rect->ymin = rect->ymax = event->xy[1] - gesture->winrct.ymin;
}
else if (gesture->move) {
BLI_rcti_translate(rect,
(event->x - gesture->winrct.xmin) - rect->xmax,
(event->y - gesture->winrct.ymin) - rect->ymax);
(event->xy[0] - gesture->winrct.xmin) - rect->xmax,
(event->xy[1] - gesture->winrct.ymin) - rect->ymax);
}
else {
rect->xmax = event->x - gesture->winrct.xmin;
rect->ymax = event->y - gesture->winrct.ymin;
rect->xmax = event->xy[0] - gesture->winrct.xmin;
rect->ymax = event->xy[1] - gesture->winrct.ymin;
}
if (gesture->use_snap) {

View File

@ -2274,11 +2274,11 @@ static void radial_control_set_initial_mouse(RadialControl *rc, const wmEvent *e
float d[2] = {0, 0};
float zoom[2] = {1, 1};
rc->initial_mouse[0] = event->x;
rc->initial_mouse[1] = event->y;
rc->initial_mouse[0] = event->xy[0];
rc->initial_mouse[1] = event->xy[1];
rc->initial_co[0] = event->x;
rc->initial_co[1] = event->y;
rc->initial_co[0] = event->xy[0];
rc->initial_co[1] = event->xy[1];
switch (rc->subtype) {
case PROP_NONE:
@ -2954,7 +2954,7 @@ static int radial_control_modal(bContext *C, wmOperator *op, const wmEvent *even
if (!has_numInput) {
if (rc->slow_mode) {
if (rc->subtype == PROP_ANGLE) {
const float position[2] = {event->x, event->y};
const float position[2] = {event->xy[0], event->xy[1]};
/* calculate the initial angle here first */
delta[0] = rc->initial_mouse[0] - rc->slow_mouse[0];
@ -2974,7 +2974,7 @@ static int radial_control_modal(bContext *C, wmOperator *op, const wmEvent *even
dist = len_v2(delta);
delta[0] = event->x - rc->slow_mouse[0];
delta[0] = event->xy[0] - rc->slow_mouse[0];
if (rc->zoom_prop) {
delta[0] /= zoom[0];
@ -2984,8 +2984,8 @@ static int radial_control_modal(bContext *C, wmOperator *op, const wmEvent *even
}
}
else {
delta[0] = rc->initial_mouse[0] - event->x;
delta[1] = rc->initial_mouse[1] - event->y;
delta[0] = rc->initial_mouse[0] - event->xy[0];
delta[1] = rc->initial_mouse[1] - event->xy[1];
if (rc->zoom_prop) {
RNA_property_float_get_array(&rc->zoom_ptr, rc->zoom_prop, zoom);
delta[0] /= zoom[0];
@ -3052,8 +3052,8 @@ static int radial_control_modal(bContext *C, wmOperator *op, const wmEvent *even
case EVT_LEFTSHIFTKEY:
case EVT_RIGHTSHIFTKEY: {
if (event->val == KM_PRESS) {
rc->slow_mouse[0] = event->x;
rc->slow_mouse[1] = event->y;
rc->slow_mouse[0] = event->xy[0];
rc->slow_mouse[1] = event->xy[1];
rc->slow_mode = true;
if (rc->subtype == PROP_ANGLE) {
const float initial_position[2] = {UNPACK2(rc->initial_mouse)};

View File

@ -131,7 +131,7 @@ void WM_tooltip_init(bContext *C, wmWindow *win)
CTX_wm_region_set(C, region_prev);
}
copy_v2_v2_int(screen->tool_tip->event_xy, &win->eventstate->x);
copy_v2_v2_int(screen->tool_tip->event_xy, win->eventstate->xy);
if (pass_prev != screen->tool_tip->pass) {
/* The pass changed, add timer for next pass. */
wmWindowManager *wm = CTX_wm_manager(C);

View File

@ -521,7 +521,7 @@ void WM_window_set_dpi(const wmWindow *win)
static void wm_window_update_eventstate(wmWindow *win)
{
/* Update mouse position when a window is activated. */
wm_cursor_position_get(win, &win->eventstate->x, &win->eventstate->y);
wm_cursor_position_get(win, &win->eventstate->xy[0], &win->eventstate->xy[1]);
}
static void wm_window_ensure_eventstate(wmWindow *win)
@ -990,8 +990,8 @@ void wm_cursor_position_to_ghost(wmWindow *win, int *x, int *y)
void wm_cursor_position_get(wmWindow *win, int *r_x, int *r_y)
{
if (UNLIKELY(G.f & G_FLAG_EVENT_SIMULATE)) {
*r_x = win->eventstate->x;
*r_y = win->eventstate->y;
*r_x = win->eventstate->xy[0];
*r_y = win->eventstate->xy[1];
return;
}
GHOST_GetCursorPosition(g_system, r_x, r_y);
@ -1266,8 +1266,7 @@ static int ghost_event_proc(GHOST_EventHandle evt, GHOST_TUserDataPtr C_void_ptr
wmEvent event;
wm_event_init_from_window(win, &event);
event.type = MOUSEMOVE;
event.prevx = event.x;
event.prevy = event.y;
copy_v2_v2_int(event.prev_xy, event.xy);
event.is_repeat = false;
wm_event_add(win, &event);
@ -1398,8 +1397,7 @@ static int ghost_event_proc(GHOST_EventHandle evt, GHOST_TUserDataPtr C_void_ptr
/* activate region */
event.type = MOUSEMOVE;
event.prevx = event.x;
event.prevy = event.y;
copy_v2_v2_int(event.prev_xy, event.xy);
event.is_repeat = false;
/* No context change! C->wm->windrawable is drawable, or for area queues. */
@ -2099,11 +2097,11 @@ void WM_cursor_warp(wmWindow *win, int x, int y)
wm_cursor_position_to_ghost(win, &x, &y);
GHOST_SetCursorPosition(g_system, x, y);
win->eventstate->prevx = oldx;
win->eventstate->prevy = oldy;
win->eventstate->prev_xy[0] = oldx;
win->eventstate->prev_xy[1] = oldy;
win->eventstate->x = oldx;
win->eventstate->y = oldy;
win->eventstate->xy[0] = oldx;
win->eventstate->xy[1] = oldy;
}
}