renamed padding to margin as that fits better. added individual margin value for all sides
This commit is contained in:
parent
b31f61061e
commit
9e2d680610
2 changed files with 28 additions and 15 deletions
|
@ -49,30 +49,30 @@ class Container : GuiObject
|
||||||
((Container)e).Reorder(w);
|
((Container)e).Reorder(w);
|
||||||
for(var i in ((Container)e).Children)
|
for(var i in ((Container)e).Children)
|
||||||
{
|
{
|
||||||
i.X += x + Padding + e.Padding;
|
i.X += x + MarginLeft + e.MarginLeft;
|
||||||
i.Y += y + Padding + e.Padding;
|
i.Y += y + MarginTop + e.MarginTop;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(x+e.Width+e.Padding > w-Padding) //Change both instances of padding to 2*Padding to ensure proper padding on the leftmost side of the screen
|
if(x+e.Width+e.MarginLeft > w-MarginLeft) //Change both instances of padding to 2*Padding to ensure proper padding on the leftmost side of the screen
|
||||||
{ //Automatic row break
|
{ //Automatic row break
|
||||||
x = 0;
|
x = 0;
|
||||||
y = y + rowHeight;
|
y = y + rowHeight;
|
||||||
rowHeight = 0;
|
rowHeight = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
e.X = x + e.Padding;
|
e.X = x + e.MarginLeft;
|
||||||
x = x + e.Width + 2*e.Padding;
|
x = x + e.Width + e.MarginLeft + e.MarginRight;
|
||||||
e.Y = y + e.Padding;
|
e.Y = y + e.MarginTop;
|
||||||
if(x > maxWidth)
|
if(x > maxWidth)
|
||||||
maxWidth = x;
|
maxWidth = x;
|
||||||
|
|
||||||
if(rowHeight < e.Height+2*e.Padding)
|
if(rowHeight < e.Height+e.MarginTop+e.MarginBottom)
|
||||||
rowHeight = e.Height+2*e.Padding;
|
rowHeight = e.Height+e.MarginTop+e.MarginBottom;
|
||||||
}
|
}
|
||||||
|
|
||||||
Width = maxWidth + 2*Padding;
|
Width = maxWidth + MarginLeft + MarginRight;
|
||||||
Height = y + rowHeight + 2*Padding;
|
Height = y + rowHeight + MarginTop + MarginBottom;
|
||||||
}
|
}
|
||||||
|
|
||||||
///Add a new item to the list of items
|
///Add a new item to the list of items
|
||||||
|
|
|
@ -30,11 +30,24 @@ abstract class GuiObject
|
||||||
_Parent = value;
|
_Parent = value;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
public int32 Padding
|
|
||||||
|
///Margin stuff
|
||||||
|
public int32 MarginTop = 0;
|
||||||
|
public int32 MarginBottom = 0;
|
||||||
|
public int32 MarginLeft = 0;
|
||||||
|
public int32 MarginRight = 0;
|
||||||
|
public int32 Margin
|
||||||
{
|
{
|
||||||
get;
|
//There seems to be no reasonable way to implement a getter here
|
||||||
set;
|
set
|
||||||
} = 0;
|
{
|
||||||
|
MarginTop = value;
|
||||||
|
MarginBottom = value;
|
||||||
|
MarginLeft = value;
|
||||||
|
MarginRight = value;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
public int32 X
|
public int32 X
|
||||||
{
|
{
|
||||||
get;
|
get;
|
||||||
|
@ -66,7 +79,7 @@ abstract class GuiObject
|
||||||
}
|
}
|
||||||
public Vector2 SizeOf()
|
public Vector2 SizeOf()
|
||||||
{
|
{
|
||||||
return .(Width + 2*Padding, Height + 2*Padding);
|
return .(Width + MarginLeft + MarginRight, Height + MarginTop + MarginBottom);
|
||||||
}
|
}
|
||||||
|
|
||||||
///Returns true if the onclick has been handled
|
///Returns true if the onclick has been handled
|
||||||
|
|
Loading…
Add table
Reference in a new issue