summaryrefslogtreecommitdiffstats
path: root/sway/input_state.c
diff options
context:
space:
mode:
authorLibravatar S. Christoffer Eliesen <christoffer@eliesen.no>2015-10-29 18:02:02 +0100
committerLibravatar S. Christoffer Eliesen <christoffer@eliesen.no>2015-10-29 18:02:02 +0100
commit5ba47d4a44b21500ed3af2670cb1c807b7fed850 (patch)
tree87858d863df950de9e799149bec84817f1dc3ecc /sway/input_state.c
parentcommands: Learn mouse_warping. (diff)
downloadsway-5ba47d4a44b21500ed3af2670cb1c807b7fed850.tar.gz
sway-5ba47d4a44b21500ed3af2670cb1c807b7fed850.tar.zst
sway-5ba47d4a44b21500ed3af2670cb1c807b7fed850.zip
input_state: Remove mouse_origin (x&y). Query wlc instead.
Diffstat (limited to 'sway/input_state.c')
-rw-r--r--sway/input_state.c20
1 files changed, 12 insertions, 8 deletions
diff --git a/sway/input_state.c b/sway/input_state.c
index ee3dc7cf..9bd8ad4d 100644
--- a/sway/input_state.c
+++ b/sway/input_state.c
@@ -163,10 +163,10 @@ static void reset_initial_sibling(void) {
163} 163}
164 164
165void pointer_position_set(struct wlc_origin *new_origin, bool force_focus) { 165void pointer_position_set(struct wlc_origin *new_origin, bool force_focus) {
166 pointer_state.delta.x = new_origin->x - pointer_state.origin.x; 166 struct wlc_origin origin;
167 pointer_state.delta.y = new_origin->y - pointer_state.origin.y; 167 wlc_pointer_get_origin(&origin);
168 pointer_state.origin.x = new_origin->x; 168 pointer_state.delta.x = new_origin->x - origin.x;
169 pointer_state.origin.y = new_origin->y; 169 pointer_state.delta.y = new_origin->y - origin.y;
170 170
171 // Update view under pointer 171 // Update view under pointer
172 swayc_t *prev_view = pointer_state.view; 172 swayc_t *prev_view = pointer_state.view;
@@ -214,8 +214,10 @@ static void pointer_mode_set_right(void) {
214 int midway_x = initial.ptr->x + initial.ptr->width/2; 214 int midway_x = initial.ptr->x + initial.ptr->width/2;
215 int midway_y = initial.ptr->y + initial.ptr->height/2; 215 int midway_y = initial.ptr->y + initial.ptr->height/2;
216 216
217 lock.left = pointer_state.origin.x > midway_x; 217 struct wlc_origin origin;
218 lock.top = pointer_state.origin.y > midway_y; 218 wlc_pointer_get_origin(&origin);
219 lock.left = origin.x > midway_x;
220 lock.top = origin.y > midway_y;
219 221
220 if (initial.ptr->is_floating) { 222 if (initial.ptr->is_floating) {
221 pointer_state.mode = M_RESIZING | M_FLOATING; 223 pointer_state.mode = M_RESIZING | M_FLOATING;
@@ -277,8 +279,10 @@ void pointer_mode_update(void) {
277 pointer_state.mode = 0; 279 pointer_state.mode = 0;
278 return; 280 return;
279 } 281 }
280 int dx = pointer_state.origin.x; 282 struct wlc_origin origin;
281 int dy = pointer_state.origin.y; 283 wlc_pointer_get_origin(&origin);
284 int dx = origin.x;
285 int dy = origin.y;
282 286
283 switch (pointer_state.mode) { 287 switch (pointer_state.mode) {
284 case M_FLOATING | M_DRAGGING: 288 case M_FLOATING | M_DRAGGING: