aboutsummaryrefslogtreecommitdiff
path: root/CruUI/ui/layout_base.h
diff options
context:
space:
mode:
Diffstat (limited to 'CruUI/ui/layout_base.h')
-rw-r--r--CruUI/ui/layout_base.h16
1 files changed, 15 insertions, 1 deletions
diff --git a/CruUI/ui/layout_base.h b/CruUI/ui/layout_base.h
index 9bbbc9fd..409c2875 100644
--- a/CruUI/ui/layout_base.h
+++ b/CruUI/ui/layout_base.h
@@ -85,7 +85,21 @@ namespace cru
bool Validate() const
{
- return size.Validate() && max_size.Validate() && min_size.Validate();
+ if (!(size.Validate() && max_size.Validate() && min_size.Validate()))
+ return false;
+
+ auto&& f = [](const std::optional<float> max_length, const std::optional<float> min_length) -> bool
+ {
+ return max_length.has_value() && min_length.has_value() && max_length.value() < min_length.value();
+ };
+
+ if (!f(max_size.width, min_size.width))
+ return false;
+
+ if (!f(max_size.height, min_size.height))
+ return false;
+
+ return true;
}
MeasureSize size;