From 2ef55b1fdbbe6f13ab835e20021b9ae53322d75e Mon Sep 17 00:00:00 2001 From: crupest Date: Sun, 28 Jun 2020 00:17:50 +0800 Subject: ... --- src/ui/controls/FlexLayout.cpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/ui/controls/FlexLayout.cpp b/src/ui/controls/FlexLayout.cpp index 25f30558..b7f350dc 100644 --- a/src/ui/controls/FlexLayout.cpp +++ b/src/ui/controls/FlexLayout.cpp @@ -17,28 +17,29 @@ render::RenderObject* FlexLayout::GetRenderObject() const { } namespace { -int FindPosition(render::RenderObject* parent, render::RenderObject* child) { +Index FindPosition(render::RenderObject* parent, render::RenderObject* child) { const auto& render_objects = parent->GetChildren(); const auto find_result = std::find(render_objects.cbegin(), render_objects.cend(), child); if (find_result == render_objects.cend()) { throw std::logic_error("Control is not a child of FlexLayout."); } - return static_cast(find_result - render_objects.cbegin()); + return static_cast(find_result - render_objects.cbegin()); } } // namespace FlexChildLayoutData FlexLayout::GetChildLayoutData(Control* control) { Expects(control); - return *render_object_->GetChildLayoutData( + return render_object_->GetChildLayoutData( FindPosition(render_object_.get(), control->GetRenderObject())); } void FlexLayout::SetChildLayoutData(Control* control, - const FlexChildLayoutData& data) { + FlexChildLayoutData data) { Expects(control); - *render_object_->GetChildLayoutData( - FindPosition(render_object_.get(), control->GetRenderObject())) = data; + render_object_->SetChildLayoutData( + FindPosition(render_object_.get(), control->GetRenderObject()), + std::move(data)); } FlexMainAlignment FlexLayout::GetContentMainAlign() const { -- cgit v1.2.3