diff --git a/AsyncDisplayKit/Layout/ASDimension.h b/AsyncDisplayKit/Layout/ASDimension.h index 462bdfc7f9..c8b0093830 100644 --- a/AsyncDisplayKit/Layout/ASDimension.h +++ b/AsyncDisplayKit/Layout/ASDimension.h @@ -59,6 +59,9 @@ extern CGFloat ASRelativeDimensionResolve(ASRelativeDimension dimension, CGFloat extern ASSizeRange ASSizeRangeMake(CGSize min, CGSize max); +/** Creates an ASSizeRange with the provided size as both min and max */ +extern ASSizeRange ASSizeRangeMakeExactSize(CGSize size); + /** Clamps the provided CGSize between the [min, max] bounds of this ASSizeRange. */ extern CGSize ASSizeRangeClamp(ASSizeRange sizeRange, CGSize size); diff --git a/AsyncDisplayKit/Layout/ASDimension.mm b/AsyncDisplayKit/Layout/ASDimension.mm index a1e42c4b76..7715e3b07a 100644 --- a/AsyncDisplayKit/Layout/ASDimension.mm +++ b/AsyncDisplayKit/Layout/ASDimension.mm @@ -77,6 +77,11 @@ ASSizeRange ASSizeRangeMake(CGSize min, CGSize max) ASSizeRange sizeRange; sizeRange.min = min; sizeRange.max = max; return sizeRange; } +ASSizeRange ASSizeRangeMakeExactSize(CGSize size) +{ + return ASSizeRangeMake(size, size); +} + CGSize ASSizeRangeClamp(ASSizeRange sizeRange, CGSize size) { return CGSizeMake(MAX(sizeRange.min.width, MIN(sizeRange.max.width, size.width)),