Back out "Back out "[yoga][intrinsic sizing] Modify private apis to set, store, and get intrinsic sizing keywords"" (#1756)
Summary: Pull Request resolved: https://github.com/facebook/yoga/pull/1756 X-link: https://github.com/facebook/react-native/pull/48049 Changelog: [Internal] Original commit changeset: 1d596964e0c8 Original Phabricator Diff: D66332307 Reviewed By: NickGerleman Differential Revision: D66662662 fbshipit-source-id: 4f9ac2b1557b848f519dcd728d7097b52f1190b3
This commit is contained in:
committed by
Facebook GitHub Bot
parent
be72b8e8aa
commit
a9246bc7db
@@ -19,13 +19,11 @@ namespace facebook::yoga {
|
||||
* 3. A CSS <length-percentage> value:
|
||||
* a. <length> value (e.g. 10px)
|
||||
* b. <percentage> value of a reference <length>
|
||||
* 4. (soon) A math function which returns a <length-percentage> value
|
||||
*
|
||||
* References:
|
||||
* 1. https://www.w3.org/TR/css-values-4/#lengths
|
||||
* 2. https://www.w3.org/TR/css-values-4/#percentage-value
|
||||
* 3. https://www.w3.org/TR/css-values-4/#mixed-percentages
|
||||
* 4. https://www.w3.org/TR/css-values-4/#math
|
||||
*/
|
||||
class StyleLength {
|
||||
public:
|
||||
@@ -59,6 +57,14 @@ class StyleLength {
|
||||
return unit_ == Unit::Undefined;
|
||||
}
|
||||
|
||||
constexpr bool isPoints() const {
|
||||
return unit_ == Unit::Point;
|
||||
}
|
||||
|
||||
constexpr bool isPercent() const {
|
||||
return unit_ == Unit::Percent;
|
||||
}
|
||||
|
||||
constexpr bool isDefined() const {
|
||||
return !isUndefined();
|
||||
}
|
||||
@@ -67,10 +73,6 @@ class StyleLength {
|
||||
return value_;
|
||||
}
|
||||
|
||||
constexpr Unit unit() const {
|
||||
return unit_;
|
||||
}
|
||||
|
||||
constexpr FloatOptional resolve(float referenceLength) {
|
||||
switch (unit_) {
|
||||
case Unit::Point:
|
||||
@@ -90,6 +92,11 @@ class StyleLength {
|
||||
return value_ == rhs.value_ && unit_ == rhs.unit_;
|
||||
}
|
||||
|
||||
constexpr bool inexactEquals(const StyleLength& other) const {
|
||||
return unit_ == other.unit_ &&
|
||||
facebook::yoga::inexactEquals(value_, other.value_);
|
||||
}
|
||||
|
||||
private:
|
||||
// We intentionally do not allow direct construction using value and unit, to
|
||||
// avoid invalid, or redundant combinations.
|
||||
@@ -101,7 +108,7 @@ class StyleLength {
|
||||
};
|
||||
|
||||
inline bool inexactEquals(const StyleLength& a, const StyleLength& b) {
|
||||
return a.unit() == b.unit() && inexactEquals(a.value(), b.value());
|
||||
return a.inexactEquals(b);
|
||||
}
|
||||
|
||||
} // namespace facebook::yoga
|
||||
|
Reference in New Issue
Block a user