aboutsummaryrefslogtreecommitdiff
path: root/include/cru/ui/controls/flex_layout.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'include/cru/ui/controls/flex_layout.hpp')
-rw-r--r--include/cru/ui/controls/flex_layout.hpp22
1 files changed, 18 insertions, 4 deletions
diff --git a/include/cru/ui/controls/flex_layout.hpp b/include/cru/ui/controls/flex_layout.hpp
index 7422bc05..46c4ea55 100644
--- a/include/cru/ui/controls/flex_layout.hpp
+++ b/include/cru/ui/controls/flex_layout.hpp
@@ -1,13 +1,17 @@
#pragma once
#include "../layout_control.hpp"
-#include <memory>
+#include "../render/flex_layout_render_object.hpp"
+#include "../window.hpp"
-namespace cru::ui::render {
-class FlexLayoutRenderObject;
-}
+#include <memory>
namespace cru::ui::controls {
+// import these basic entities
+using render::FlexChildLayoutData;
+using render::FlexCrossAlignment;
+using render::FlexDirection;
+using render::FlexMainAlignment;
class FlexLayout : public LayoutControl {
public:
@@ -31,6 +35,16 @@ class FlexLayout : public LayoutControl {
render::RenderObject* GetRenderObject() const override;
+ FlexMainAlignment GetContentMainAlign() const {
+ return render_object_->GetContentMainAlign();
+ }
+
+ void SetContentMainAlign(FlexMainAlignment value) {
+ if (value == GetContentMainAlign()) return;
+ render_object_->SetContentMainAlign(value);
+ GetWindow()->InvalidateLayout();
+ }
+
protected:
void OnAddChild(Control* child, int position) override;
void OnRemoveChild(Control* child, int position) override;