2017-08-01 14:44:03 -07:00

41 lines
978 B
Objective-C

//
// LOTPathAnimator.m
// Pods
//
// Created by brandon_withrow on 6/27/17.
//
//
#import "LOTPathAnimator.h"
#import "LOTPathInterpolator.h"
@implementation LOTPathAnimator {
LOTShapePath *_pathConent;
LOTPathInterpolator *_interpolator;
}
- (instancetype _Nonnull )initWithInputNode:(LOTAnimatorNode *_Nullable)inputNode
shapePath:(LOTShapePath *_Nonnull)shapePath {
self = [super initWithInputNode:inputNode keyName:shapePath.keyname];
if (self) {
_pathConent = shapePath;
_interpolator = [[LOTPathInterpolator alloc] initWithKeyframes:_pathConent.shapePath.keyframes];
}
return self;
}
- (NSDictionary *)valueInterpolators {
return @{@"Path" : _interpolator};
}
- (BOOL)needsUpdateForFrame:(NSNumber *)frame {
return [_interpolator hasUpdateForFrame:frame];
}
- (void)performLocalUpdate {
self.localPath = [_interpolator pathForFrame:self.currentFrame cacheLengths:self.pathShouldCacheLengths];
}
@end