// Copyright 2019 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef UI_VIEWS_LAYOUT_PROPOSED_LAYOUT_H_ #define UI_VIEWS_LAYOUT_PROPOSED_LAYOUT_H_ #include <string> #include <vector> #include "base/memory/raw_ptr.h" #include "ui/gfx/geometry/rect.h" #include "ui/views/layout/layout_types.h" #include "ui/views/views_export.h" namespace views { class View; // Represents layout information for a child view within a host being laid // out. struct VIEWS_EXPORT ChildLayout { … }; // Contains a full layout specification for the children of the host view. struct VIEWS_EXPORT ProposedLayout { … }; // Returns a layout that's linearly interpolated between |start| and |target| // by |value|, which should be between 0 and 1. See // gfx::Tween::LinearIntValueBetween() for the exact math involved. VIEWS_EXPORT ProposedLayout ProposedLayoutBetween(double value, const ProposedLayout& start, const ProposedLayout& target); } // namespace views #endif // UI_VIEWS_LAYOUT_PROPOSED_LAYOUT_H_