diff options
author | Jasper St. Pierre <jstpierre@mecheye.net> | 2012-12-09 22:48:18 -0500 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2012-12-17 15:01:41 +1000 |
commit | 85a37ddcc2ff49adaec4075532b60e7d015f901c (patch) | |
tree | 45e4d5ce68d963e1df987d93fcbf1e6afd2df45f /Xi/xibarriers.c | |
parent | 97da74c80e8b8eb03f7c1e34180cf5cd343bd608 (diff) |
barriers: Reindent the constrainment hook
This is to make future diffs much cleaner. Best viewed with -w.
Signed-off-by: Jasper St. Pierre <jstpierre@mecheye.net>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Diffstat (limited to 'Xi/xibarriers.c')
-rw-r--r-- | Xi/xibarriers.c | 57 |
1 files changed, 29 insertions, 28 deletions
diff --git a/Xi/xibarriers.c b/Xi/xibarriers.c index 21ad6c74f..0affde68d 100644 --- a/Xi/xibarriers.c +++ b/Xi/xibarriers.c @@ -311,43 +311,44 @@ input_constrain_cursor(DeviceIntPtr dev, ScreenPtr screen, BarrierScreenPtr cs = GetBarrierScreen(screen); int x = dest_x, y = dest_y; + int dir; + int i; + struct PointerBarrier *nearest = NULL; + PointerBarrierClientPtr c; + + if (xorg_list_is_empty(&cs->barriers) || IsFloating(dev)) + goto out; - if (!xorg_list_is_empty(&cs->barriers) && !IsFloating(dev)) { - int dir; - int i; - struct PointerBarrier *nearest = NULL; - PointerBarrierClientPtr c; - - /* How this works: - * Given the origin and the movement vector, get the nearest barrier - * to the origin that is blocking the movement. - * Clamp to that barrier. - * Then, check from the clamped intersection to the original - * destination, again finding the nearest barrier and clamping. - */ - dir = barrier_get_direction(current_x, current_y, x, y); + /* How this works: + * Given the origin and the movement vector, get the nearest barrier + * to the origin that is blocking the movement. + * Clamp to that barrier. + * Then, check from the clamped intersection to the original + * destination, again finding the nearest barrier and clamping. + */ + dir = barrier_get_direction(current_x, current_y, x, y); #define MAX_BARRIERS 2 - for (i = 0; i < MAX_BARRIERS; i++) { - c = barrier_find_nearest(cs, dev, dir, current_x, current_y, x, y); - if (!c) - break; + for (i = 0; i < MAX_BARRIERS; i++) { + c = barrier_find_nearest(cs, dev, dir, current_x, current_y, x, y); + if (!c) + break; - nearest = &c->barrier; + nearest = &c->barrier; - barrier_clamp_to_barrier(nearest, dir, &x, &y); + barrier_clamp_to_barrier(nearest, dir, &x, &y); - if (barrier_is_vertical(nearest)) { - dir &= ~(BarrierNegativeX | BarrierPositiveX); - current_x = x; - } - else if (barrier_is_horizontal(nearest)) { - dir &= ~(BarrierNegativeY | BarrierPositiveY); - current_y = y; - } + if (barrier_is_vertical(nearest)) { + dir &= ~(BarrierNegativeX | BarrierPositiveX); + current_x = x; + } + else if (barrier_is_horizontal(nearest)) { + dir &= ~(BarrierNegativeY | BarrierPositiveY); + current_y = y; } } + out: *out_x = x; *out_y = y; } |