mirror of
https://github.com/labwc/labwc.git
synced 2025-11-03 09:01:51 -05:00
resistance: prevent "snapping" when windows change direction near edges
This commit is contained in:
parent
e52ccfbcf3
commit
c01bf3f319
1 changed files with 4 additions and 4 deletions
|
|
@ -44,12 +44,12 @@ check_edge(int *next, struct edge current, struct edge target,
|
|||
if (decreasing) {
|
||||
const int lo = clipped_sub(opp, abs(tolerance));
|
||||
const int hi = clipped_sub(opp, MIN(tolerance, 0));
|
||||
valid = tgt >= lo && tgt < hi;
|
||||
valid = tgt >= lo && tgt < hi && cur >= opp;
|
||||
} else {
|
||||
/* Check for increasing movement across opposing edge */
|
||||
const int lo = clipped_add(opp, MIN(tolerance, 0));
|
||||
const int hi = clipped_add(opp, abs(tolerance));
|
||||
valid = tgt > lo && tgt <= hi;
|
||||
valid = tgt > lo && tgt <= hi && cur <= opp;
|
||||
}
|
||||
|
||||
if (valid && edges_traverse_edge(current, target, oppose)) {
|
||||
|
|
@ -61,11 +61,11 @@ check_edge(int *next, struct edge current, struct edge target,
|
|||
if (decreasing) {
|
||||
const int lo = clipped_sub(aln, abs(tolerance));
|
||||
const int hi = clipped_sub(aln, MIN(tolerance, 0));
|
||||
valid = tgt >= lo && tgt < hi;
|
||||
valid = tgt >= lo && tgt < hi && cur >= aln;
|
||||
} else {
|
||||
const int lo = clipped_add(aln, MIN(tolerance, 0));
|
||||
const int hi = clipped_add(aln, abs(tolerance));
|
||||
valid = tgt > lo && tgt <= hi;
|
||||
valid = tgt > lo && tgt <= hi && cur <= aln;
|
||||
}
|
||||
|
||||
if (valid && edges_traverse_edge(current, target, align)) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue