LOTKeyframe.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. //
  2. // LOTKeyframe.h
  3. // Pods
  4. //
  5. // Created by brandon_withrow on 7/10/17.
  6. //
  7. //
  8. #import <Foundation/Foundation.h>
  9. #import <QuartzCore/QuartzCore.h>
  10. #import "LOTPlatformCompat.h"
  11. #import "LOTBezierData.h"
  12. NS_ASSUME_NONNULL_BEGIN
  13. @interface LOTKeyframe : NSObject
  14. - (instancetype)initWithKeyframe:(NSDictionary *)keyframe;
  15. - (instancetype)initWithValue:(id)value;
  16. - (void)remapValueWithBlock:(CGFloat (^)(CGFloat inValue))remapBlock;
  17. - (LOTKeyframe *)copyWithData:(id)data;
  18. @property (nonatomic, readonly) NSNumber *keyframeTime;
  19. @property (nonatomic, readonly) BOOL isHold;
  20. @property (nonatomic, readonly) CGPoint inTangent;
  21. @property (nonatomic, readonly) CGPoint outTangent;
  22. @property (nonatomic, readonly) CGPoint spatialInTangent;
  23. @property (nonatomic, readonly) CGPoint spatialOutTangent;
  24. @property (nonatomic, readonly) CGFloat floatValue;
  25. @property (nonatomic, readonly) CGPoint pointValue;
  26. @property (nonatomic, readonly) CGSize sizeValue;
  27. @property (nonatomic, readonly) UIColor *colorValue;
  28. @property (nonatomic, readonly, nullable) LOTBezierData *pathData;
  29. @property (nonatomic, readonly) NSArray *arrayValue;
  30. @end
  31. @interface LOTKeyframeGroup : NSObject
  32. - (instancetype)initWithData:(id)data;
  33. - (void)remapKeyframesWithBlock:(CGFloat (^)(CGFloat inValue))remapBlock;
  34. @property (nonatomic, readonly) NSArray<LOTKeyframe *> *keyframes;
  35. @end
  36. NS_ASSUME_NONNULL_END