aboutsummaryrefslogtreecommitdiff
path: root/include/cru/ui/controls
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2019-06-23 00:36:46 +0800
committercrupest <crupest@outlook.com>2019-06-23 00:36:46 +0800
commit28c7884d0186ad80db7b9ffa12dd5e52bcb6c52b (patch)
tree0fd34fdd7bed27508a16cfeaf88cb0c3235cbd43 /include/cru/ui/controls
parentbf7e486b8908ed494925ff9643b55ccafbfdc434 (diff)
downloadcru-28c7884d0186ad80db7b9ffa12dd5e52bcb6c52b.tar.gz
cru-28c7884d0186ad80db7b9ffa12dd5e52bcb6c52b.tar.bz2
cru-28c7884d0186ad80db7b9ffa12dd5e52bcb6c52b.zip
...
Diffstat (limited to 'include/cru/ui/controls')
-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;