PX = p->prev->v.x; PY = p->prev->v.y;
NX = p->next->v.x; NY = p->next->v.y;
/* Move left-edge points horizontally */
- if (PY <= Y && Y <= NY) {
+ if (NY <= Y && Y <= PY) {
moves[i].x -= W;
/*
* These two clauses deal in an ad-hoc way
* inside corner gets completely consumed by
* boldening.
*/
- if (W > XQTR_S && PY == Y && PX == X - XQTR_S) {
- moves[i].y += W - XQTR_S;
- if (NX != X) moves[i].x += W - XQTR_S;
- killpoint(p->prev);
- }
if (W > XQTR_S && NY == Y && NX == X - XQTR_S) {
- moves[i].y -= W - XQTR_S;
+ moves[i].y += W - XQTR_S;
if (PX != X) moves[i].x += W - XQTR_S;
killpoint(p->next);
}
+ if (W > XQTR_S && PY == Y && PX == X - XQTR_S) {
+ moves[i].y -= W - XQTR_S;
+ if (NX != X) moves[i].x += W - XQTR_S;
+ killpoint(p->prev);
+ }
}
/* Move top inner corner points along NE/SW diagonal */
- if (PY < Y && Y > NY && PX > X && X > NX) {
+ if (NY < Y && Y > PY && NX > X && X > PX) {
moves[i].x -= W/2;
moves[i].y -= W/2;
}
/* Move bottom inner corner points along NW/SE diagonal */
- if (PY > Y && Y < NY && PX < X && X < NX) {
+ if (NY > Y && Y < PY && NX < X && X < PX) {
moves[i].x -= W/2;
moves[i].y += W/2;
}