mirror of
https://github.com/brl/mutter.git
synced 2024-12-24 12:02:04 +00:00
box-layout: Fix child offsets
Currently, BoxLayout interprets the box passed into allocate() in a fairly peculiar way: - in the direction of the box, all space between [xy]1 and [xy]2 is distributed among children (e.g. children occupy the entire width/height of the box, offset by [xy]1) - in the opposite direction, expanded children receive space between [xy]1 and the height/width of the box (e.g. children occupy the width/height of the box minus [xy]1, offset by [xy]1) The second behavior doesn't make much sense, so adjust it to interpret the box parameter in the same way as the first one. https://bugzilla.gnome.org/show_bug.cgi?id=703809
This commit is contained in:
parent
5bab9a8655
commit
5dd2dcf14f
@ -1100,7 +1100,7 @@ clutter_box_layout_allocate (ClutterLayoutManager *layout,
|
|||||||
if (priv->orientation == CLUTTER_ORIENTATION_VERTICAL)
|
if (priv->orientation == CLUTTER_ORIENTATION_VERTICAL)
|
||||||
{
|
{
|
||||||
child_allocation.x1 = box->x1;
|
child_allocation.x1 = box->x1;
|
||||||
child_allocation.x2 = MAX (1.0, box->x2 - box->x1);
|
child_allocation.x2 = MAX (1.0, box->x2);
|
||||||
if (priv->is_pack_start)
|
if (priv->is_pack_start)
|
||||||
y = box->y2 - box->y1;
|
y = box->y2 - box->y1;
|
||||||
else
|
else
|
||||||
@ -1109,7 +1109,7 @@ clutter_box_layout_allocate (ClutterLayoutManager *layout,
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
child_allocation.y1 = box->y1;
|
child_allocation.y1 = box->y1;
|
||||||
child_allocation.y2 = MAX (1.0, box->y2 - box->y1);
|
child_allocation.y2 = MAX (1.0, box->y2);
|
||||||
if (priv->is_pack_start)
|
if (priv->is_pack_start)
|
||||||
x = box->x2 - box->x1;
|
x = box->x2 - box->x1;
|
||||||
else
|
else
|
||||||
|
Loading…
Reference in New Issue
Block a user