forked from enlightenment/enlightenment
wayland xdg positioner - fix to handle resize constraints
this fixes T8295 @fix
This commit is contained in:
parent
039f96df91
commit
ccbbe5a459
|
@ -898,13 +898,12 @@ _apply_positioner(E_Client *ec, Positioner *p)
|
||||||
if (_apply_positioner_slide(ec, p, zx, zy, zw, zh)) return;
|
if (_apply_positioner_slide(ec, p, zx, zy, zw, zh)) return;
|
||||||
_apply_positioner_slide(ec, p, ec->zone->x, ec->zone->y, ec->zone->w, ec->zone->h);
|
_apply_positioner_slide(ec, p, ec->zone->x, ec->zone->y, ec->zone->w, ec->zone->h);
|
||||||
|
|
||||||
#if 0
|
|
||||||
//resize_x/y is stupid so we're not going to do it
|
|
||||||
if (!CONSTRAINED(ec, ec->x, ec->y)) return;
|
if (!CONSTRAINED(ec, ec->x, ec->y)) return;
|
||||||
|
|
||||||
if ((p->constrain & XDG_POSITIONER_CONSTRAINT_ADJUSTMENT_RESIZE_X) &&
|
if ((p->constrain & XDG_POSITIONER_CONSTRAINT_ADJUSTMENT_RESIZE_X) &&
|
||||||
(!E_CONTAINS(zx, zy, zw, zh, ec->x, zy, ec->w, 1)))
|
(!E_CONTAINS(zx, zy, zw, zh, ec->x, zy, ec->w, 1)))
|
||||||
{
|
{
|
||||||
|
if (ec->x < zx) ec->x = zx;
|
||||||
ec->w = zx + zw - ec->x;
|
ec->w = zx + zw - ec->x;
|
||||||
e_client_resize_limit(ec, &ec->w, &ec->h);
|
e_client_resize_limit(ec, &ec->w, &ec->h);
|
||||||
ec->changes.size = 1;
|
ec->changes.size = 1;
|
||||||
|
@ -913,11 +912,11 @@ _apply_positioner(E_Client *ec, Positioner *p)
|
||||||
if ((p->constrain & XDG_POSITIONER_CONSTRAINT_ADJUSTMENT_RESIZE_Y) &&
|
if ((p->constrain & XDG_POSITIONER_CONSTRAINT_ADJUSTMENT_RESIZE_Y) &&
|
||||||
(!E_CONTAINS(zx, zy, zw, zh, zx, ec->y, 1, ec->h)))
|
(!E_CONTAINS(zx, zy, zw, zh, zx, ec->y, 1, ec->h)))
|
||||||
{
|
{
|
||||||
|
if (ec->y < zy) ec->y = zy;
|
||||||
ec->h = zy + zh - ec->y;
|
ec->h = zy + zh - ec->y;
|
||||||
e_client_resize_limit(ec, &ec->w, &ec->h);
|
e_client_resize_limit(ec, &ec->w, &ec->h);
|
||||||
ec->changes.size = 1;
|
ec->changes.size = 1;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
|
@ -811,6 +811,7 @@ _apply_positioner(E_Client *ec, Positioner *p)
|
||||||
{
|
{
|
||||||
int x, y;
|
int x, y;
|
||||||
int zx, zy, zw, zh;
|
int zx, zy, zw, zh;
|
||||||
|
|
||||||
/* apply base geometry:
|
/* apply base geometry:
|
||||||
* coords are relative to parent
|
* coords are relative to parent
|
||||||
*/
|
*/
|
||||||
|
@ -863,13 +864,12 @@ _apply_positioner(E_Client *ec, Positioner *p)
|
||||||
if (_apply_positioner_slide(ec, p, zx, zy, zw, zh)) return;
|
if (_apply_positioner_slide(ec, p, zx, zy, zw, zh)) return;
|
||||||
_apply_positioner_slide(ec, p, ec->zone->x, ec->zone->y, ec->zone->w, ec->zone->h);
|
_apply_positioner_slide(ec, p, ec->zone->x, ec->zone->y, ec->zone->w, ec->zone->h);
|
||||||
|
|
||||||
#if 0
|
|
||||||
//resize_x/y is stupid so we're not going to do it
|
|
||||||
if (!CONSTRAINED(ec, ec->x, ec->y)) return;
|
if (!CONSTRAINED(ec, ec->x, ec->y)) return;
|
||||||
|
|
||||||
if ((p->constrain & ZXDG_POSITIONER_V6_CONSTRAINT_ADJUSTMENT_RESIZE_X) &&
|
if ((p->constrain & ZXDG_POSITIONER_V6_CONSTRAINT_ADJUSTMENT_RESIZE_X) &&
|
||||||
(!E_CONTAINS(zx, zy, zw, zh, ec->x, zy, ec->w, 1)))
|
(!E_CONTAINS(zx, zy, zw, zh, ec->x, zy, ec->w, 1)))
|
||||||
{
|
{
|
||||||
|
if (ec->x < zx) ec->x = zx;
|
||||||
ec->w = zx + zw - ec->x;
|
ec->w = zx + zw - ec->x;
|
||||||
e_client_resize_limit(ec, &ec->w, &ec->h);
|
e_client_resize_limit(ec, &ec->w, &ec->h);
|
||||||
ec->changes.size = 1;
|
ec->changes.size = 1;
|
||||||
|
@ -878,11 +878,11 @@ _apply_positioner(E_Client *ec, Positioner *p)
|
||||||
if ((p->constrain & ZXDG_POSITIONER_V6_CONSTRAINT_ADJUSTMENT_RESIZE_Y) &&
|
if ((p->constrain & ZXDG_POSITIONER_V6_CONSTRAINT_ADJUSTMENT_RESIZE_Y) &&
|
||||||
(!E_CONTAINS(zx, zy, zw, zh, zx, ec->y, 1, ec->h)))
|
(!E_CONTAINS(zx, zy, zw, zh, zx, ec->y, 1, ec->h)))
|
||||||
{
|
{
|
||||||
|
if (ec->y < zy) ec->y = zy;
|
||||||
ec->h = zy + zh - ec->y;
|
ec->h = zy + zh - ec->y;
|
||||||
e_client_resize_limit(ec, &ec->w, &ec->h);
|
e_client_resize_limit(ec, &ec->w, &ec->h);
|
||||||
ec->changes.size = 1;
|
ec->changes.size = 1;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
Loading…
Reference in New Issue