Something went wrong. Try again.
OpenMW is an open implementation of the Morrowind engine
Something went wrong. Try again.
1.4 kB · 53 lines
C++
at master
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354#include "container.hpp"
#include <algorithm>
namespace LuaUi{ void LuaContainer::updateChildren() { WidgetExtension::updateChildren(); updateSizeToFit(); }
MyGUI::IntSize LuaContainer::childScalingSize() const { return MyGUI::IntSize(); }
MyGUI::IntSize LuaContainer::templateScalingSize() const { return mInnerSize; }
void LuaContainer::updateSizeToFit() { MyGUI::IntSize innerSize = MyGUI::IntSize(); for (const 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 (const 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() const { return mOuterSize; }
void LuaContainer::updateCoord() { updateSizeToFit(); WidgetExtension::updateCoord(); }}