#pragma once #include #include namespace gui { class BoxLayoutSizeStore : public LayoutSizeStore { private: /// Flag allowing BoxLayout to push out currently visible elements in order to resize requested element. bool releaseSpace = true; std::map grants; public: bool store(Item *, Size size) override; [[nodiscard]] Size get(Item *) override; [[nodiscard]] bool isSizeSmaller(Item *, Size size, Axis axis) override; void setReleaseSpaceFlag(const bool &val) override; [[nodiscard]] bool getReleaseSpaceFlag() override; }; } // namespace gui