From a7d331544c154bfaf0a50d8fb7b77d46aad4de50 Mon Sep 17 00:00:00 2001 From: lisyarus Date: Sun, 18 Dec 2022 16:41:44 +0300 Subject: [PATCH] Implement ui::event_interceptor::width/height_constraints --- libs/ui/include/psemek/ui/event_interceptor.hpp | 2 ++ libs/ui/source/event_interceptor.cpp | 14 ++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/libs/ui/include/psemek/ui/event_interceptor.hpp b/libs/ui/include/psemek/ui/event_interceptor.hpp index 8a404571..e91dd571 100644 --- a/libs/ui/include/psemek/ui/event_interceptor.hpp +++ b/libs/ui/include/psemek/ui/event_interceptor.hpp @@ -11,6 +11,8 @@ namespace psemek::ui : single_container { geom::box size_constraints() const override; + geom::interval width_constraints(float height) const override; + geom::interval height_constraints(float width) const override; struct shape const & shape() const override; void reshape(geom::box const & bbox) override; diff --git a/libs/ui/source/event_interceptor.cpp b/libs/ui/source/event_interceptor.cpp index 9a171375..8172e2c5 100644 --- a/libs/ui/source/event_interceptor.cpp +++ b/libs/ui/source/event_interceptor.cpp @@ -11,6 +11,20 @@ namespace psemek::ui return element::size_constraints(); } + geom::interval event_interceptor::width_constraints(float height) const + { + if (child_) + return child_->width_constraints(height); + return element::width_constraints(height); + } + + geom::interval event_interceptor::height_constraints(float width) const + { + if (child_) + return child_->height_constraints(width); + return element::height_constraints(width); + } + shape const & event_interceptor::shape() const { static const null_shape fallback_shape;