From cae97709549224a94ec71a4de5f159af1d876f0a Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Mon, 16 Oct 2017 13:01:09 +1100 Subject: Cleanup: rename gesture mode to is_active Wasn't obvious what this did at a glance. --- source/blender/windowmanager/WM_types.h | 5 ++++- source/blender/windowmanager/intern/wm_gesture.c | 6 ++++-- source/blender/windowmanager/intern/wm_operators.c | 17 +++++++++-------- 3 files changed, 17 insertions(+), 11 deletions(-) (limited to 'source/blender/windowmanager') diff --git a/source/blender/windowmanager/WM_types.h b/source/blender/windowmanager/WM_types.h index f6049f10378..1c8d12973c6 100644 --- a/source/blender/windowmanager/WM_types.h +++ b/source/blender/windowmanager/WM_types.h @@ -409,11 +409,14 @@ typedef struct wmNotifier { typedef struct wmGesture { struct wmGesture *next, *prev; int event_type; /* event->type */ - int mode; /* for modal callback */ int type; /* gesture type define */ int swinid; /* initial subwindow id where it started */ int points; /* optional, amount of points stored */ int size; /* optional, maximum amount of points stored */ + + /* For modal operators which may be running idle, waiting for an event to activate the gesture. + * Typically this is set when the user is click-dragging the gesture (border and circle select for eg). */ + uint is_active : 1; void *customdata; /* customdata for border is a recti */ diff --git a/source/blender/windowmanager/intern/wm_gesture.c b/source/blender/windowmanager/intern/wm_gesture.c index cc48b162352..311b501a179 100644 --- a/source/blender/windowmanager/intern/wm_gesture.c +++ b/source/blender/windowmanager/intern/wm_gesture.c @@ -377,10 +377,12 @@ void wm_gesture_draw(wmWindow *win) else if (gt->type == WM_GESTURE_CIRCLE) wm_gesture_draw_circle(gt); else if (gt->type == WM_GESTURE_CROSS_RECT) { - if (gt->mode == 1) + if (gt->is_active) { wm_gesture_draw_rect(gt); - else + } + else { wm_gesture_draw_cross(win, gt); + } } else if (gt->type == WM_GESTURE_LINES) wm_gesture_draw_lasso(win, gt, false); diff --git a/source/blender/windowmanager/intern/wm_operators.c b/source/blender/windowmanager/intern/wm_operators.c index ae5a8319b00..330a18eeda5 100644 --- a/source/blender/windowmanager/intern/wm_operators.c +++ b/source/blender/windowmanager/intern/wm_operators.c @@ -2336,7 +2336,7 @@ int WM_border_select_modal(bContext *C, wmOperator *op, const wmEvent *event) if (event->type == MOUSEMOVE) { wm_subwindow_origin_get(CTX_wm_window(C), gesture->swinid, &sx, &sy); - if (gesture->type == WM_GESTURE_CROSS_RECT && gesture->mode == 0) { + if (gesture->type == WM_GESTURE_CROSS_RECT && gesture->is_active == false) { rect->xmin = rect->xmax = event->x - sx; rect->ymin = rect->ymax = event->y - sy; } @@ -2351,8 +2351,8 @@ int WM_border_select_modal(bContext *C, wmOperator *op, const wmEvent *event) else if (event->type == EVT_MODAL_MAP) { switch (event->val) { case GESTURE_MODAL_BEGIN: - if (gesture->type == WM_GESTURE_CROSS_RECT && gesture->mode == 0) { - gesture->mode = 1; + if (gesture->type == WM_GESTURE_CROSS_RECT && gesture->is_active == false) { + gesture->is_active = true; wm_gesture_tag_redraw(C); } break; @@ -2447,8 +2447,9 @@ int WM_gesture_circle_modal(bContext *C, wmOperator *op, const wmEvent *event) wm_gesture_tag_redraw(C); - if (gesture->mode) + if (gesture->is_active) { gesture_circle_apply(C, op); + } } else if (event->type == EVT_MODAL_MAP) { float fac; @@ -2481,7 +2482,7 @@ int WM_gesture_circle_modal(bContext *C, wmOperator *op, const wmEvent *event) if (event->val != GESTURE_MODAL_NOP) { /* apply first click */ gesture_circle_apply(C, op); - gesture->mode = 1; + gesture->is_active = true; wm_gesture_tag_redraw(C); } break; @@ -2881,7 +2882,7 @@ int WM_gesture_straightline_modal(bContext *C, wmOperator *op, const wmEvent *ev if (event->type == MOUSEMOVE) { wm_subwindow_origin_get(CTX_wm_window(C), gesture->swinid, &sx, &sy); - if (gesture->mode == 0) { + if (gesture->is_active == false) { rect->xmin = rect->xmax = event->x - sx; rect->ymin = rect->ymax = event->y - sy; } @@ -2896,8 +2897,8 @@ int WM_gesture_straightline_modal(bContext *C, wmOperator *op, const wmEvent *ev else if (event->type == EVT_MODAL_MAP) { switch (event->val) { case GESTURE_MODAL_BEGIN: - if (gesture->mode == 0) { - gesture->mode = 1; + if (gesture->is_active == false) { + gesture->is_active = true; wm_gesture_tag_redraw(C); } break; -- cgit v1.2.3