LOTBezierPath.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. //
  2. // LOTBezierPath.h
  3. // Lottie
  4. //
  5. // Created by brandon_withrow on 7/20/17.
  6. // Copyright © 2017 Airbnb. All rights reserved.
  7. //
  8. #import "LOTPlatformCompat.h"
  9. NS_ASSUME_NONNULL_BEGIN
  10. @interface LOTBezierPath : NSObject
  11. + (instancetype)pathWithCGPath:(CGPathRef)path;
  12. + (instancetype)newPath;
  13. - (void)LOT_moveToPoint:(CGPoint)point;
  14. - (void)LOT_addLineToPoint:(CGPoint)point;
  15. - (void)LOT_addCurveToPoint:(CGPoint)point
  16. controlPoint1:(CGPoint)cp1
  17. controlPoint2:(CGPoint)cp2;
  18. - (void)LOT_closePath;
  19. - (void)LOT_removeAllPoints;
  20. - (void)LOT_appendPath:(LOTBezierPath *)bezierPath;
  21. - (void)trimPathFromT:(CGFloat)fromT toT:(CGFloat)toT offset:(CGFloat)offset;
  22. - (void)LOT_applyTransform:(CGAffineTransform)transform;
  23. @property (nonatomic, assign) BOOL cacheLengths;
  24. @property (nonatomic, readonly) CGFloat length;
  25. @property (nonatomic, readonly) CGPathRef CGPath;
  26. @property (nonatomic, readonly) CGPoint currentPoint;
  27. @property (nonatomic) CGFloat lineWidth;
  28. @property (nonatomic) CGLineCap lineCapStyle;
  29. @property (nonatomic) CGLineJoin lineJoinStyle;
  30. @property (nonatomic) CGFloat miterLimit;
  31. @property (nonatomic) CGFloat flatness;
  32. @property (nonatomic) BOOL usesEvenOddFillRule;
  33. @property (readonly, getter=isEmpty) BOOL empty;
  34. @property (nonatomic, readonly) CGRect bounds;
  35. @end
  36. NS_ASSUME_NONNULL_END