Swiftgram/AsyncDisplayKit/Layout/ASRatioLayoutSpec.h
Hannah Troisi 7551627b58 [Layout] Rename ASLayoutable to ASLayoutElement (#2290)
* [Layout API] Rename ASLayoutable to ASLayoutElement

* arg

* fix wrapperWithLayoutElement

* [Layout API] Rename ASLayoutable to ASLayoutElement

* arg

* address Michael's comments

* Remove ASLayoutValidation files that were deleted on master since this diff was created.
2016-09-29 00:02:47 -07:00

43 lines
1.0 KiB
Objective-C

//
// ASRatioLayoutSpec.h
// AsyncDisplayKit
//
// Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
// This source code is licensed under the BSD-style license found in the
// LICENSE file in the root directory of this source tree. An additional grant
// of patent rights can be found in the PATENTS file in the same directory.
//
#import <AsyncDisplayKit/ASLayoutSpec.h>
#import <AsyncDisplayKit/ASLayoutElement.h>
NS_ASSUME_NONNULL_BEGIN
/**
Ratio layout spec
For when the content should respect a certain inherent ratio but can be scaled (think photos or videos)
The ratio passed is the ratio of height / width you expect
For a ratio 0.5, the spec will have a flat rectangle shape
_ _ _ _
| |
|_ _ _ _|
For a ratio 2.0, the spec will be twice as tall as it is wide
_ _
| |
| |
| |
|_ _|
**/
@interface ASRatioLayoutSpec : ASLayoutSpec
@property (nonatomic, assign) CGFloat ratio;
+ (instancetype)ratioLayoutSpecWithRatio:(CGFloat)ratio child:(id<ASLayoutElement>)child;
@end
NS_ASSUME_NONNULL_END