diff options
author | Scott Anderson <ascent12@hotmail.com> | 2017-07-12 16:39:14 +1200 |
---|---|---|
committer | Scott Anderson <ascent12@hotmail.com> | 2017-07-12 16:39:14 +1200 |
commit | c29e5bbde84260763eaece5b47c219fd1fff7883 (patch) | |
tree | 790e8df3d1e91f63fb719611032a05f42b54b53e /sway/input_state.c | |
parent | Merge pull request #1271 from johalun/master-securityconf-freebsd (diff) | |
download | sway-c29e5bbde84260763eaece5b47c219fd1fff7883.tar.gz sway-c29e5bbde84260763eaece5b47c219fd1fff7883.tar.zst sway-c29e5bbde84260763eaece5b47c219fd1fff7883.zip |
Use WLC v2 pointer interface
Diffstat (limited to 'sway/input_state.c')
-rw-r--r-- | sway/input_state.c | 33 |
1 files changed, 15 insertions, 18 deletions
diff --git a/sway/input_state.c b/sway/input_state.c index 68df17de..04aafd37 100644 --- a/sway/input_state.c +++ b/sway/input_state.c | |||
@@ -202,13 +202,13 @@ static void reset_initial_sibling(void) { | |||
202 | pointer_state.mode = 0; | 202 | pointer_state.mode = 0; |
203 | } | 203 | } |
204 | 204 | ||
205 | void pointer_position_set(struct wlc_point *new_origin, bool force_focus) { | 205 | void pointer_position_set(double new_x, double new_y, bool force_focus) { |
206 | struct wlc_point origin; | 206 | double x, y; |
207 | wlc_pointer_get_position(&origin); | 207 | wlc_pointer_get_position_v2(&x, &y); |
208 | pointer_state.delta.x = new_origin->x - origin.x; | 208 | pointer_state.delta.x = new_x - x; |
209 | pointer_state.delta.y = new_origin->y - origin.y; | 209 | pointer_state.delta.y = new_y - y; |
210 | 210 | ||
211 | wlc_pointer_set_position(new_origin); | 211 | wlc_pointer_set_position_v2(new_x, new_y); |
212 | 212 | ||
213 | // Update view under pointer | 213 | // Update view under pointer |
214 | swayc_t *prev_view = pointer_state.view; | 214 | swayc_t *prev_view = pointer_state.view; |
@@ -226,10 +226,7 @@ void pointer_position_set(struct wlc_point *new_origin, bool force_focus) { | |||
226 | } | 226 | } |
227 | 227 | ||
228 | void center_pointer_on(swayc_t *view) { | 228 | void center_pointer_on(swayc_t *view) { |
229 | struct wlc_point new_origin; | 229 | pointer_position_set(view->x + view->width/2, view->y + view->height/2, true); |
230 | new_origin.x = view->x + view->width/2; | ||
231 | new_origin.y = view->y + view->height/2; | ||
232 | pointer_position_set(&new_origin, true); | ||
233 | } | 230 | } |
234 | 231 | ||
235 | // Mode set left/right click | 232 | // Mode set left/right click |
@@ -269,10 +266,10 @@ static void pointer_mode_set_resizing(void) { | |||
269 | int midway_x = initial.ptr->x + initial.ptr->width/2; | 266 | int midway_x = initial.ptr->x + initial.ptr->width/2; |
270 | int midway_y = initial.ptr->y + initial.ptr->height/2; | 267 | int midway_y = initial.ptr->y + initial.ptr->height/2; |
271 | 268 | ||
272 | struct wlc_point origin; | 269 | double x, y; |
273 | wlc_pointer_get_position(&origin); | 270 | wlc_pointer_get_position_v2(&x, &y); |
274 | lock.left = origin.x > midway_x; | 271 | lock.left = x > midway_x; |
275 | lock.top = origin.y > midway_y; | 272 | lock.top = y > midway_y; |
276 | 273 | ||
277 | if (initial.ptr->is_floating) { | 274 | if (initial.ptr->is_floating) { |
278 | pointer_state.mode = M_RESIZING | M_FLOATING; | 275 | pointer_state.mode = M_RESIZING | M_FLOATING; |
@@ -346,10 +343,10 @@ void pointer_mode_update(void) { | |||
346 | pointer_state.mode = 0; | 343 | pointer_state.mode = 0; |
347 | return; | 344 | return; |
348 | } | 345 | } |
349 | struct wlc_point origin; | 346 | double x, y; |
350 | wlc_pointer_get_position(&origin); | 347 | wlc_pointer_get_position_v2(&x, &y); |
351 | int dx = origin.x; | 348 | int dx = x; |
352 | int dy = origin.y; | 349 | int dy = y; |
353 | 350 | ||
354 | switch (pointer_state.mode) { | 351 | switch (pointer_state.mode) { |
355 | case M_FLOATING | M_DRAGGING: | 352 | case M_FLOATING | M_DRAGGING: |