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:
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
|
@ -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 = ®ion->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 = ®ion->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) {
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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];
|
||||
|
|
|
@ -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];
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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(®ion->winrct, event->x, event->y);
|
||||
in_bounds = BLI_rcti_isect_pt(®ion->winrct, event->xy[0], event->xy[1]);
|
||||
|
||||
if ((in_bounds) && (region->regiontype == RGN_TYPE_WINDOW)) {
|
||||
tgpf->mouse[0] = event->mval[0];
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 ************* */
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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: {
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -1926,7 +1926,7 @@ static void ui_do_drag(const bContext *C, const wmEvent *event, Panel *panel)
|
|||
ARegion *region = CTX_wm_region(C);
|
||||
|
||||
/* Keep the drag position in the region with a small pad to keep the panel visible. */
|
||||
const int y = clamp_i(event->y, region->winrct.ymin, region->winrct.ymax + DRAG_REGION_PAD);
|
||||
const int y = clamp_i(event->xy[1], region->winrct.ymin, region->winrct.ymax + DRAG_REGION_PAD);
|
||||
|
||||
float dy = (float)(y - data->starty);
|
||||
|
||||
|
@ -2041,7 +2041,7 @@ static int ui_panel_drag_collapse_handler(bContext *C, const wmEvent *event, voi
|
|||
|
||||
switch (event->type) {
|
||||
case MOUSEMOVE:
|
||||
ui_panel_drag_collapse(C, dragcol_data, &event->x);
|
||||
ui_panel_drag_collapse(C, dragcol_data, &event->xy[0]);
|
||||
|
||||
retval = WM_UI_HANDLER_BREAK;
|
||||
break;
|
||||
|
@ -2070,7 +2070,7 @@ static void ui_panel_drag_collapse_handler_add(const bContext *C, const bool was
|
|||
uiPanelDragCollapseHandle *dragcol_data = MEM_mallocN(sizeof(*dragcol_data), __func__);
|
||||
|
||||
dragcol_data->was_first_open = was_open;
|
||||
copy_v2_v2_int(dragcol_data->xy_init, &event->x);
|
||||
copy_v2_v2_int(dragcol_data->xy_init, event->xy);
|
||||
|
||||
WM_event_add_ui_handler(C,
|
||||
&win->modalhandlers,
|
||||
|
@ -2363,7 +2363,7 @@ int ui_handler_panel_region(bContext *C,
|
|||
}
|
||||
|
||||
/* Scroll-bars can overlap panels now, they have handling priority. */
|
||||
if (UI_view2d_mouse_in_scrollers(region, ®ion->v2d, event->x, event->y)) {
|
||||
if (UI_view2d_mouse_in_scrollers(region, ®ion->v2d, event->xy[0], event->xy[1])) {
|
||||
return WM_UI_HANDLER_CONTINUE;
|
||||
}
|
||||
|
||||
|
@ -2406,8 +2406,8 @@ int ui_handler_panel_region(bContext *C,
|
|||
continue;
|
||||
}
|
||||
|
||||
int mx = event->x;
|
||||
int my = event->y;
|
||||
int mx = event->xy[0];
|
||||
int my = event->xy[1];
|
||||
ui_window_to_block(region, block, &mx, &my);
|
||||
|
||||
const uiPanelMouseState mouse_state = ui_panel_mouse_state_get(block, panel, mx, my);
|
||||
|
@ -2485,8 +2485,8 @@ PointerRNA *UI_region_panel_custom_data_under_cursor(const bContext *C, const wm
|
|||
continue;
|
||||
}
|
||||
|
||||
int mx = event->x;
|
||||
int my = event->y;
|
||||
int mx = event->xy[0];
|
||||
int my = event->xy[1];
|
||||
ui_window_to_block(region, block, &mx, &my);
|
||||
const int mouse_state = ui_panel_mouse_state_get(block, panel, mx, my);
|
||||
if (ELEM(mouse_state, PANEL_MOUSE_INSIDE_CONTENT, PANEL_MOUSE_INSIDE_HEADER)) {
|
||||
|
@ -2559,8 +2559,8 @@ static void panel_handle_data_ensure(const bContext *C,
|
|||
data->animtimer = WM_event_add_timer(CTX_wm_manager(C), win, TIMER, ANIMATION_INTERVAL);
|
||||
|
||||
data->state = state;
|
||||
data->startx = win->eventstate->x;
|
||||
data->starty = win->eventstate->y;
|
||||
data->startx = win->eventstate->xy[0];
|
||||
data->starty = win->eventstate->xy[1];
|
||||
data->startofsx = panel->ofsx;
|
||||
data->startofsy = panel->ofsy;
|
||||
data->start_cur_xmin = region->v2d.cur.xmin;
|
||||
|
|
|
@ -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]);
|
||||
}
|
||||
|
||||
/** \} */
|
||||
|
|
|
@ -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]) {
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -400,8 +400,9 @@ bool ui_searchbox_event(
|
|||
* (a little confusing if this isn't the case, although it does work). */
|
||||
rcti rect;
|
||||
ui_searchbox_butrect(&rect, data, data->active);
|
||||
if (BLI_rcti_isect_pt(
|
||||
&rect, event->x - region->winrct.xmin, event->y - region->winrct.ymin)) {
|
||||
if (BLI_rcti_isect_pt(&rect,
|
||||
event->xy[0] - region->winrct.xmin,
|
||||
event->xy[1] - region->winrct.ymin)) {
|
||||
|
||||
void *active = data->items.pointers[data->active];
|
||||
if (search_but->item_context_menu_fn(C, search_but->arg, active, event)) {
|
||||
|
@ -415,14 +416,14 @@ bool ui_searchbox_event(
|
|||
case MOUSEMOVE: {
|
||||
bool is_inside = false;
|
||||
|
||||
if (BLI_rcti_isect_pt(®ion->winrct, event->x, event->y)) {
|
||||
if (BLI_rcti_isect_pt(®ion->winrct, event->xy[0], event->xy[1])) {
|
||||
rcti rect;
|
||||
int a;
|
||||
|
||||
for (a = 0; a < data->items.totitem; a++) {
|
||||
ui_searchbox_butrect(&rect, data, a);
|
||||
if (BLI_rcti_isect_pt(
|
||||
&rect, event->x - region->winrct.xmin, event->y - region->winrct.ymin)) {
|
||||
&rect, event->xy[0] - region->winrct.xmin, event->xy[1] - region->winrct.ymin)) {
|
||||
is_inside = true;
|
||||
if (data->active != a) {
|
||||
data->active = a;
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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];
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -224,13 +224,13 @@ static int view_pan_invoke(bContext *C, wmOperator *op, const wmEvent *event)
|
|||
View2D *v2d = vpd->v2d;
|
||||
|
||||
/* set initial settings */
|
||||
vpd->startx = vpd->lastx = event->x;
|
||||
vpd->starty = vpd->lasty = event->y;
|
||||
vpd->startx = vpd->lastx = event->xy[0];
|
||||
vpd->starty = vpd->lasty = event->xy[1];
|
||||
vpd->invoke_event = event->type;
|
||||
|
||||
if (event->type == MOUSEPAN) {
|
||||
RNA_int_set(op->ptr, "deltax", event->prevx - event->x);
|
||||
RNA_int_set(op->ptr, "deltay", event->prevy - event->y);
|
||||
RNA_int_set(op->ptr, "deltax", event->prev_xy[0] - event->xy[0]);
|
||||
RNA_int_set(op->ptr, "deltay", event->prev_xy[1] - event->xy[1]);
|
||||
|
||||
view_pan_apply(C, op);
|
||||
view_pan_exit(op);
|
||||
|
@ -266,11 +266,11 @@ static int view_pan_modal(bContext *C, wmOperator *op, const wmEvent *event)
|
|||
switch (event->type) {
|
||||
case MOUSEMOVE: {
|
||||
/* calculate new delta transform, then store mouse-coordinates for next-time */
|
||||
RNA_int_set(op->ptr, "deltax", (vpd->lastx - event->x));
|
||||
RNA_int_set(op->ptr, "deltay", (vpd->lasty - event->y));
|
||||
RNA_int_set(op->ptr, "deltax", (vpd->lastx - event->xy[0]));
|
||||
RNA_int_set(op->ptr, "deltay", (vpd->lasty - event->xy[1]));
|
||||
|
||||
vpd->lastx = event->x;
|
||||
vpd->lasty = event->y;
|
||||
vpd->lastx = event->xy[0];
|
||||
vpd->lasty = event->xy[1];
|
||||
|
||||
view_pan_apply(C, op);
|
||||
break;
|
||||
|
@ -1097,8 +1097,8 @@ static int view_zoomdrag_invoke(bContext *C, wmOperator *op, const wmEvent *even
|
|||
}
|
||||
|
||||
if (ELEM(event->type, MOUSEZOOM, MOUSEPAN)) {
|
||||
vzd->lastx = event->prevx;
|
||||
vzd->lasty = event->prevy;
|
||||
vzd->lastx = event->prev_xy[0];
|
||||
vzd->lasty = event->prev_xy[1];
|
||||
|
||||
float facx, facy;
|
||||
float zoomfac = 0.01f;
|
||||
|
@ -1156,8 +1156,8 @@ static int view_zoomdrag_invoke(bContext *C, wmOperator *op, const wmEvent *even
|
|||
}
|
||||
|
||||
/* set initial settings */
|
||||
vzd->lastx = event->x;
|
||||
vzd->lasty = event->y;
|
||||
vzd->lastx = event->xy[0];
|
||||
vzd->lasty = event->xy[1];
|
||||
RNA_float_set(op->ptr, "deltax", 0);
|
||||
RNA_float_set(op->ptr, "deltay", 0);
|
||||
|
||||
|
@ -1216,12 +1216,12 @@ static int view_zoomdrag_modal(bContext *C, wmOperator *op, const wmEvent *event
|
|||
/* x-axis transform */
|
||||
dist = BLI_rcti_size_x(&v2d->mask) / 2.0f;
|
||||
len_old[0] = zoomfac * fabsf(vzd->lastx - vzd->region->winrct.xmin - dist);
|
||||
len_new[0] = zoomfac * fabsf(event->x - vzd->region->winrct.xmin - dist);
|
||||
len_new[0] = zoomfac * fabsf(event->xy[0] - vzd->region->winrct.xmin - dist);
|
||||
|
||||
/* y-axis transform */
|
||||
dist = BLI_rcti_size_y(&v2d->mask) / 2.0f;
|
||||
len_old[1] = zoomfac * fabsf(vzd->lasty - vzd->region->winrct.ymin - dist);
|
||||
len_new[1] = zoomfac * fabsf(event->y - vzd->region->winrct.ymin - dist);
|
||||
len_new[1] = zoomfac * fabsf(event->xy[1] - vzd->region->winrct.ymin - dist);
|
||||
|
||||
/* Calculate distance */
|
||||
if (v2d->keepzoom & V2D_KEEPASPECT) {
|
||||
|
@ -1237,8 +1237,8 @@ static int view_zoomdrag_modal(bContext *C, wmOperator *op, const wmEvent *event
|
|||
dy *= BLI_rctf_size_y(&v2d->cur);
|
||||
}
|
||||
else { /* USER_ZOOM_CONTINUE or USER_ZOOM_DOLLY */
|
||||
float facx = zoomfac * (event->x - vzd->lastx);
|
||||
float facy = zoomfac * (event->y - vzd->lasty);
|
||||
float facx = zoomfac * (event->xy[0] - vzd->lastx);
|
||||
float facy = zoomfac * (event->xy[1] - vzd->lasty);
|
||||
|
||||
/* Only respect user setting zoom axis if the view does not have any zoom restrictions
|
||||
* any will be scaled uniformly */
|
||||
|
@ -1284,8 +1284,8 @@ static int view_zoomdrag_modal(bContext *C, wmOperator *op, const wmEvent *event
|
|||
* to starting point to determine rate of change.
|
||||
*/
|
||||
if (U.viewzoom != USER_ZOOM_CONTINUE) { /* XXX store this setting as RNA prop? */
|
||||
vzd->lastx = event->x;
|
||||
vzd->lasty = event->y;
|
||||
vzd->lastx = event->xy[0];
|
||||
vzd->lasty = event->xy[1];
|
||||
}
|
||||
|
||||
/* apply zooming */
|
||||
|
@ -1846,7 +1846,7 @@ static bool scroller_activate_poll(bContext *C)
|
|||
wmEvent *event = win->eventstate;
|
||||
|
||||
/* check if mouse in scrollbars, if they're enabled */
|
||||
return (UI_view2d_mouse_in_scrollers(region, v2d, event->x, event->y) != 0);
|
||||
return (UI_view2d_mouse_in_scrollers(region, v2d, event->xy[0], event->xy[1]) != 0);
|
||||
}
|
||||
|
||||
/* initialize customdata for scroller manipulation operator */
|
||||
|
@ -1868,8 +1868,8 @@ static void scroller_activate_init(bContext *C,
|
|||
vsm->scroller = in_scroller;
|
||||
|
||||
/* store mouse-coordinates, and convert mouse/screen coordinates to region coordinates */
|
||||
vsm->lastx = event->x;
|
||||
vsm->lasty = event->y;
|
||||
vsm->lastx = event->xy[0];
|
||||
vsm->lasty = event->xy[1];
|
||||
/* 'zone' depends on where mouse is relative to bubble
|
||||
* - zooming must be allowed on this axis, otherwise, default to pan
|
||||
*/
|
||||
|
@ -2024,11 +2024,11 @@ static int scroller_activate_modal(bContext *C, wmOperator *op, const wmEvent *e
|
|||
switch (vsm->scroller) {
|
||||
case 'h': /* horizontal scroller - so only horizontal movement
|
||||
* ('cur' moves opposite to mouse) */
|
||||
vsm->delta = (float)(event->x - vsm->lastx);
|
||||
vsm->delta = (float)(event->xy[0] - vsm->lastx);
|
||||
break;
|
||||
case 'v': /* vertical scroller - so only vertical movement
|
||||
* ('cur' moves opposite to mouse) */
|
||||
vsm->delta = (float)(event->y - vsm->lasty);
|
||||
vsm->delta = (float)(event->xy[1] - vsm->lasty);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -2037,18 +2037,18 @@ static int scroller_activate_modal(bContext *C, wmOperator *op, const wmEvent *e
|
|||
switch (vsm->scroller) {
|
||||
case 'h': /* horizontal scroller - so only horizontal movement
|
||||
* ('cur' moves with mouse) */
|
||||
vsm->delta = (float)(vsm->lastx - event->x);
|
||||
vsm->delta = (float)(vsm->lastx - event->xy[0]);
|
||||
break;
|
||||
case 'v': /* vertical scroller - so only vertical movement
|
||||
* ('cur' moves with to mouse) */
|
||||
vsm->delta = (float)(vsm->lasty - event->y);
|
||||
vsm->delta = (float)(vsm->lasty - event->xy[1]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/* store previous coordinates */
|
||||
vsm->lastx = event->x;
|
||||
vsm->lasty = event->y;
|
||||
vsm->lastx = event->xy[0];
|
||||
vsm->lasty = event->xy[1];
|
||||
|
||||
scroller_activate_apply(C, op);
|
||||
break;
|
||||
|
@ -2090,7 +2090,7 @@ static int scroller_activate_invoke(bContext *C, wmOperator *op, const wmEvent *
|
|||
View2D *v2d = ®ion->v2d;
|
||||
|
||||
/* check if mouse in scrollbars, if they're enabled */
|
||||
const char in_scroller = UI_view2d_mouse_in_scrollers(region, v2d, event->x, event->y);
|
||||
const char in_scroller = UI_view2d_mouse_in_scrollers(region, v2d, event->xy[0], event->xy[1]);
|
||||
|
||||
/* if in a scroller, init customdata then set modal handler which will
|
||||
* catch mouse-down to start doing useful stuff */
|
||||
|
@ -2104,11 +2104,11 @@ static int scroller_activate_invoke(bContext *C, wmOperator *op, const wmEvent *
|
|||
switch (vsm->scroller) {
|
||||
case 'h': /* horizontal scroller - so only horizontal movement
|
||||
* ('cur' moves opposite to mouse) */
|
||||
vsm->delta = (float)(event->x - vsm->scrollbar_orig);
|
||||
vsm->delta = (float)(event->xy[0] - vsm->scrollbar_orig);
|
||||
break;
|
||||
case 'v': /* vertical scroller - so only vertical movement
|
||||
* ('cur' moves opposite to mouse) */
|
||||
vsm->delta = (float)(event->y - vsm->scrollbar_orig);
|
||||
vsm->delta = (float)(event->xy[1] - vsm->scrollbar_orig);
|
||||
break;
|
||||
}
|
||||
scroller_activate_apply(C, op);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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))) {
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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")) {
|
||||
|
|
|
@ -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");
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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(
|
||||
®ion->v2d, cmv->startx - xmin, cmv->starty - ymin, &startfx, &startfy);
|
||||
UI_view2d_region_to_view(®ion->v2d, event->x - xmin, event->y - ymin, &fx, &fy);
|
||||
UI_view2d_region_to_view(®ion->v2d, event->xy[0] - xmin, event->xy[1] - ymin, &fx, &fy);
|
||||
|
||||
delta[0] = fx - startfx;
|
||||
delta[1] = fy - startfy;
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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];
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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]);
|
||||
|
||||
|
|
|
@ -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, ®ion->v2d, event->x, event->y)) {
|
||||
if (UI_view2d_mouse_in_scrollers(region, ®ion->v2d, event->xy[0], event->xy[1])) {
|
||||
wmcursor = WM_CURSOR_DEFAULT;
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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)) {
|
||||
|
|
|
@ -403,8 +403,8 @@ static int graphkeys_click_insert_invoke(bContext *C, wmOperator *op, const wmEv
|
|||
region = ac.region;
|
||||
v2d = ®ion->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);
|
||||
|
||||
|
|
|
@ -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(
|
||||
®ion->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)));
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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(®ion->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;
|
||||
|
|
|
@ -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(®ion->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]);
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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(
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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");
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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).
|
||||
*/
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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(®ion->winrct, &event->x)) {
|
||||
BLI_rcti_isect_pt_v(®ion->winrct, event->xy)) {
|
||||
winrect = ®ion->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(®ion->winrct, &event->prevx)) {
|
||||
if (region == NULL || !BLI_rcti_isect_pt_v(®ion->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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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)};
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue