Fabric: LayoutConstraints::clamp()
Summary: `LayoutConstraints::clamp` clamps the provided `Size` between the `minimumSize` and `maximumSize` bounds of this `LayoutConstraints`. Reviewed By: mdvacca Differential Revision: D14205770 fbshipit-source-id: 4799608cead393451d334e47dd6906255699a1e8
This commit is contained in:
Родитель
3c1114eea7
Коммит
104ef96498
|
@ -0,0 +1,22 @@
|
|||
/**
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/
|
||||
|
||||
#include "LayoutConstraints.h"
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
namespace facebook {
|
||||
namespace react {
|
||||
|
||||
Size LayoutConstraints::clamp(const Size &size) const {
|
||||
return {
|
||||
std::max(minimumSize.width, std::min(maximumSize.width, size.width)),
|
||||
std::max(minimumSize.height, std::min(maximumSize.height, size.height))};
|
||||
}
|
||||
|
||||
} // namespace react
|
||||
} // namespace facebook
|
|
@ -21,6 +21,12 @@ struct LayoutConstraints {
|
|||
Size minimumSize{0, 0};
|
||||
Size maximumSize{kFloatUndefined, kFloatUndefined};
|
||||
LayoutDirection layoutDirection{LayoutDirection::Undefined};
|
||||
|
||||
/*
|
||||
* Clamps the provided `Size` between the `minimumSize` and `maximumSize`
|
||||
* bounds of this `LayoutConstraints`.
|
||||
*/
|
||||
Size clamp(const Size &size) const;
|
||||
};
|
||||
|
||||
inline bool operator==(
|
||||
|
|
Загрузка…
Ссылка в новой задаче