34 lines
821 B
C++
34 lines
821 B
C++
#include "VerticalLayout.h"
|
|
#include "Elements/Element.h"
|
|
|
|
using namespace Seele;
|
|
using namespace Seele::UI;
|
|
|
|
VerticalLayout::VerticalLayout(PElement element)
|
|
: Layout(element)
|
|
{
|
|
|
|
}
|
|
|
|
VerticalLayout::~VerticalLayout()
|
|
{
|
|
|
|
}
|
|
|
|
void VerticalLayout::apply()
|
|
{
|
|
Array<PElement> children = element->getChildren();
|
|
const Math::Rect parent = element->getBoundingBox();
|
|
float xOffset = parent.offset.x;
|
|
float yOffset = parent.offset.y;
|
|
float xSize = parent.size.x;
|
|
float ySize = parent.size.y / children.size();
|
|
for(uint32 index = 0; index < children.size(); ++index)
|
|
{
|
|
Math::Rect& child = children[index]->getBoundingBox();
|
|
child.offset.x = xOffset;
|
|
child.offset.y = yOffset + (index * ySize);
|
|
child.size.x = xSize;
|
|
child.size.y = ySize;
|
|
}
|
|
} |