mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-01-04 02:41:19 +00:00
54 lines
1.3 KiB
C++
54 lines
1.3 KiB
C++
#include "container.hpp"
|
|
|
|
#include <algorithm>
|
|
|
|
namespace LuaUi
|
|
{
|
|
void LuaContainer::updateChildren()
|
|
{
|
|
WidgetExtension::updateChildren();
|
|
updateSizeToFit();
|
|
}
|
|
|
|
MyGUI::IntSize LuaContainer::childScalingSize()
|
|
{
|
|
return MyGUI::IntSize();
|
|
}
|
|
|
|
MyGUI::IntSize LuaContainer::templateScalingSize()
|
|
{
|
|
return mInnerSize;
|
|
}
|
|
|
|
void LuaContainer::updateSizeToFit()
|
|
{
|
|
MyGUI::IntSize innerSize = MyGUI::IntSize();
|
|
for (auto w : children())
|
|
{
|
|
MyGUI::IntCoord coord = w->calculateCoord();
|
|
innerSize.width = std::max(innerSize.width, coord.left + coord.width);
|
|
innerSize.height = std::max(innerSize.height, coord.top + coord.height);
|
|
}
|
|
MyGUI::IntSize outerSize = innerSize;
|
|
for (auto w : templateChildren())
|
|
{
|
|
MyGUI::IntCoord coord = w->calculateCoord();
|
|
outerSize.width = std::max(outerSize.width, coord.left + coord.width);
|
|
outerSize.height = std::max(outerSize.height, coord.top + coord.height);
|
|
}
|
|
mInnerSize = innerSize;
|
|
mOuterSize = outerSize;
|
|
}
|
|
|
|
MyGUI::IntSize LuaContainer::calculateSize()
|
|
{
|
|
return mOuterSize;
|
|
}
|
|
|
|
void LuaContainer::updateCoord()
|
|
{
|
|
updateSizeToFit();
|
|
WidgetExtension::updateCoord();
|
|
}
|
|
}
|