aboutsummaryrefslogtreecommitdiff
path: root/src/ui/render/flex_layout_render_object.hpp
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2019-04-01 18:08:58 +0800
committercrupest <crupest@outlook.com>2019-04-01 18:08:58 +0800
commitde00126c6aeba189a50296df455dd516e21e4176 (patch)
tree3d89a8a36a3603096d4371230c2d071f91e9e986 /src/ui/render/flex_layout_render_object.hpp
parent055a3cde0cd19c896f3e498b774078654555c065 (diff)
downloadcru-de00126c6aeba189a50296df455dd516e21e4176.tar.gz
cru-de00126c6aeba189a50296df455dd516e21e4176.tar.bz2
cru-de00126c6aeba189a50296df455dd516e21e4176.zip
...
Diffstat (limited to 'src/ui/render/flex_layout_render_object.hpp')
-rw-r--r--src/ui/render/flex_layout_render_object.hpp59
1 files changed, 0 insertions, 59 deletions
diff --git a/src/ui/render/flex_layout_render_object.hpp b/src/ui/render/flex_layout_render_object.hpp
deleted file mode 100644
index ac4c2c0f..00000000
--- a/src/ui/render/flex_layout_render_object.hpp
+++ /dev/null
@@ -1,59 +0,0 @@
-#pragma once
-#include "pre.hpp"
-
-#include <optional>
-
-#include "render_object.hpp"
-
-namespace cru::ui::render {
-enum class FlexDirection {
- Horizontal,
- HorizontalReverse,
- Vertical,
- VertivalReverse
-};
-
-enum class Alignment { Start, End, Center };
-
-struct FlexChildLayoutData {
- std::optional<float> flex_basis; // nullopt stands for content
- float flex_grow = 0;
- float flex_shrink = 0;
- Alignment alignment = Alignment::Center;
-};
-
-class FlexLayoutRenderObject : public RenderObject {
- public:
- FlexLayoutRenderObject() = default;
- FlexLayoutRenderObject(const FlexLayoutRenderObject& other) = delete;
- FlexLayoutRenderObject& operator=(const FlexLayoutRenderObject& other) =
- delete;
- FlexLayoutRenderObject(FlexLayoutRenderObject&& other) = delete;
- FlexLayoutRenderObject& operator=(FlexLayoutRenderObject&& other) = delete;
- ~FlexLayoutRenderObject() override = default;
-
- FlexDirection GetFlexDirection() const { return direction_; }
- void SetFlexDirection(FlexDirection direction) { direction_ = direction; }
-
- Alignment GetContentMainAlign() const { return content_main_align_; }
- void SetContentMainAlign(Alignment align) { content_main_align_ = align; }
-
- FlexChildLayoutData* GetChildLayoutData(int position);
-
- void Draw(ID2D1RenderTarget* render_target) override;
-
- RenderObject* HitTest(const Point& point) override;
-
- protected:
- void OnAddChild(RenderObject* new_child, int position) override;
- void OnRemoveChild(RenderObject* removed_child, int position) override;
-
- Size OnMeasureContent(const Size& available_size) override;
- void OnLayoutContent(const Rect& content_rect) override;
-
- private:
- FlexDirection direction_ = FlexDirection::Horizontal;
- Alignment content_main_align_ = Alignment::Start;
- std::vector<FlexChildLayoutData> child_layout_data_{};
-};
-} // namespace cru::ui::render