diff options
Diffstat (limited to 'src/ui/control.hpp')
-rw-r--r-- | src/ui/control.hpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/ui/control.hpp b/src/ui/control.hpp index f3751ddf..b2dad9fd 100644 --- a/src/ui/control.hpp +++ b/src/ui/control.hpp @@ -22,6 +22,13 @@ namespace cru::ui class Window; + struct AdditionalMeasureInfo + { + bool horizontal_stretchable = true; + bool vertical_stretchable = true; + }; + + //the position cache struct ControlPositionCache { @@ -194,7 +201,7 @@ namespace cru::ui void InvalidateLayout(); - void Measure(const Size& available_size); + void Measure(const Size& available_size, const AdditionalMeasureInfo& additional_info); void Layout(const Rect& rect); @@ -314,11 +321,11 @@ namespace cru::ui //*************** region: layout *************** private: - Size OnMeasureCore(const Size& available_size); + Size OnMeasureCore(const Size& available_size, const AdditionalMeasureInfo& additional_info); void OnLayoutCore(const Rect& rect); protected: - virtual Size OnMeasureContent(const Size& available_size); + virtual Size OnMeasureContent(const Size& available_size, const AdditionalMeasureInfo& additional_info); virtual void OnLayoutContent(const Rect& rect); // Called by Layout after set position and size. |