mirror of
git://git.code.sf.net/p/cdesktopenv/code
synced 2025-03-09 15:50:02 +00:00
dtappbuilder: set limits on the resize rectangle to avoid rollover.
This commit is contained in:
parent
eb83fca4b7
commit
915ba5d5a9
1 changed files with 18 additions and 18 deletions
|
@ -794,51 +794,51 @@ make_rect (
|
||||||
{
|
{
|
||||||
case NORTH:
|
case NORTH:
|
||||||
new_r->x = r->x;
|
new_r->x = r->x;
|
||||||
new_r->y = y;
|
new_r->y = min(y, rect_bottom(r));
|
||||||
new_r->width = r->width;
|
new_r->width = r->width;
|
||||||
new_r->height = (r->y + r->height) - y;
|
new_r->height = max(0, r->y + r->height - y);
|
||||||
break;
|
break;
|
||||||
case SOUTH:
|
case SOUTH:
|
||||||
new_r->x = r->x;
|
new_r->x = r->x;
|
||||||
new_r->y = r->y;
|
new_r->y = r->y;
|
||||||
new_r->width = r->width;
|
new_r->width = r->width;
|
||||||
new_r->height = y - r->y;
|
new_r->height = max(0, y - r->y);
|
||||||
break;
|
break;
|
||||||
case EAST:
|
case EAST:
|
||||||
new_r->x = r->x;
|
new_r->x = r->x;
|
||||||
new_r->y = r->y;
|
new_r->y = r->y;
|
||||||
new_r->width = x - r->x;
|
new_r->width = max(0, x - r->x);
|
||||||
new_r->height = r->height;
|
new_r->height = r->height;
|
||||||
break;
|
break;
|
||||||
case WEST:
|
case WEST:
|
||||||
new_r->x = x;
|
new_r->x = min(x, rect_right(r));
|
||||||
new_r->y = r->y;
|
new_r->y = r->y;
|
||||||
new_r->width = (r->x + r->width) - x;
|
new_r->width = max(0, r->x + r->width - x);
|
||||||
new_r->height = r->height;
|
new_r->height = r->height;
|
||||||
break;
|
break;
|
||||||
case NORTH_EAST:
|
case NORTH_EAST:
|
||||||
new_r->x = r->x;
|
new_r->x = r->x;
|
||||||
new_r->y = y;
|
new_r->y = min(y, rect_bottom(r));
|
||||||
new_r->width = x - r->x;
|
new_r->width = max(0, x - r->x);
|
||||||
new_r->height = (r->y + r->height) - y;
|
new_r->height = max(0, r->y + r->height - y);
|
||||||
break;
|
break;
|
||||||
case NORTH_WEST:
|
case NORTH_WEST:
|
||||||
new_r->x = x;
|
new_r->x = min(x, rect_right(r));
|
||||||
new_r->y = y;
|
new_r->y = min(y, rect_bottom(r));
|
||||||
new_r->width = (r->x + r->width) - x;
|
new_r->width = max(0, r->x + r->width - x);
|
||||||
new_r->height = (r->y + r->height) - y;
|
new_r->height = max(0, r->y + r->height - y);
|
||||||
break;
|
break;
|
||||||
case SOUTH_EAST:
|
case SOUTH_EAST:
|
||||||
new_r->x = r->x;
|
new_r->x = r->x;
|
||||||
new_r->y = r->y;
|
new_r->y = r->y;
|
||||||
new_r->width = x - r->x;
|
new_r->width = max(0, x - r->x);
|
||||||
new_r->height = y - r->y;
|
new_r->height = max(0, y - r->y);
|
||||||
break;
|
break;
|
||||||
case SOUTH_WEST:
|
case SOUTH_WEST:
|
||||||
new_r->x = x;
|
new_r->x = min(x, rect_right(r));
|
||||||
new_r->y = r->y;
|
new_r->y = r->y;
|
||||||
new_r->width = (r->x + r->width) - x;
|
new_r->width = max(0, r->x + r->width - x);
|
||||||
new_r->height = y - r->y;
|
new_r->height = max(0, y - r->y);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue