diff --git a/.gitignore b/.gitignore index f8adbd0281..57102ccd1e 100644 --- a/.gitignore +++ b/.gitignore @@ -8,4 +8,5 @@ UserInterfaceState.xcuserstate xample/lottie-ios.xcodeproj/xcuserdata Lottie.xcodeproj/xcuserdata/ Example/lottie-ios.xcworkspace/xcuserdata/ +Example/lottie-ios.xcodeproj/xcuserdata/ .idea/ diff --git a/Example/Example for lottie-macos/ViewController.m b/Example/Example for lottie-macos/ViewController.m index 6e6b00b817..9f9f48d6f3 100644 --- a/Example/Example for lottie-macos/ViewController.m +++ b/Example/Example for lottie-macos/ViewController.m @@ -11,7 +11,7 @@ @interface ViewController () -@property (nonatomic, strong) LAAnimationView *lottieLogo; +@property (nonatomic, strong) LOTAnimationView *lottieLogo; @end @@ -20,8 +20,8 @@ - (void)viewDidLoad { [super viewDidLoad]; - self.lottieLogo = [LAAnimationView animationNamed:@"LottieLogo1"]; - self.lottieLogo.contentMode = LAViewContentModeScaleAspectFill; + self.lottieLogo = [LOTAnimationView animationNamed:@"LottieLogo1"]; + self.lottieLogo.contentMode = LOTViewContentModeScaleAspectFill; self.lottieLogo.frame = self.view.bounds; self.lottieLogo.autoresizingMask = NSViewWidthSizable | NSViewHeightSizable; diff --git a/Example/Pods/Pods.xcodeproj/project.pbxproj b/Example/Pods/Pods.xcodeproj/project.pbxproj index 80670fbbe7..956790a84d 100644 --- a/Example/Pods/Pods.xcodeproj/project.pbxproj +++ b/Example/Pods/Pods.xcodeproj/project.pbxproj @@ -7,178 +7,178 @@ objects = { /* Begin PBXBuildFile section */ - 00A925928D6055E43C8C32A255C27F71 /* LAAnimatableValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 5EB078A3C908F5AC8D41C6691DB53EEA /* LAAnimatableValue.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0195241BA273C0F113978563739634A2 /* LAMaskLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B2AFB7FED0BCB96137645BEF578B074 /* LAMaskLayer.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 024CCD2038FADCB0FA1AE864DBAE4292 /* LAHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = 1590619B0841C73302F209B4B6659645 /* LAHelpers.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 02545E2F6F37C9F00668866976133DAB /* LARectShapeLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = B7C33198914C3009934260E1B16040BF /* LARectShapeLayer.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0425B37A59700AE9930DA97FCB40AEE9 /* LAMaskLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 9643758EE0880EA5E1E7A3B8FA0B5C4F /* LAMaskLayer.m */; }; - 0523E22F23A4E990CEF9A0B22056A0FC /* LAShapePath.h in Headers */ = {isa = PBXBuildFile; fileRef = 7B256F4A01324853F3D536D9BD97CCBA /* LAShapePath.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 08A16D83BEAC85D9A0A98718297500B4 /* NSValue+Compat.m in Sources */ = {isa = PBXBuildFile; fileRef = 627947A4AAEFFE8332FB1275E0022008 /* NSValue+Compat.m */; }; - 09EAD205EB6052485F7F9394E2806DCC /* LAShapeCircle.m in Sources */ = {isa = PBXBuildFile; fileRef = A729DC4B15922CBF6596364C9C7DF0C5 /* LAShapeCircle.m */; }; - 0EAF2FEEF852DC9C0396FAD04A22CE6F /* UIBezierPath.h in Headers */ = {isa = PBXBuildFile; fileRef = 89C1EE73ADB8B76F7F0D7227A3DA0053 /* UIBezierPath.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0F47A120DEFEB7E9A68A6F737AA56B9C /* LAShapeRectangle.h in Headers */ = {isa = PBXBuildFile; fileRef = F7D66821AA5EE5BB26108ED46C391E19 /* LAShapeRectangle.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 10903E97980CA1E2E4F25C4D84C9D8B3 /* LAPlatformCompat.h in Headers */ = {isa = PBXBuildFile; fileRef = 5AF587B1E1C5510378FE74675F04A389 /* LAPlatformCompat.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 113F3F232DBF9618FDAE36E6F52D34B7 /* LAAnimationCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 03BC13CD9C6A6035CB36680D0A10AA3E /* LAAnimationCache.m */; }; - 11F3BE42CC4A1DD7F00945E52DA343D1 /* UIColor.h in Headers */ = {isa = PBXBuildFile; fileRef = D5746E9272F05894B0DFBF3385B3D054 /* UIColor.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 13E3EA46BFDEE92AD7783A4EDF09BD43 /* lottie-ios-OSX-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 143FBAE486947C2718AE48A507426B54 /* lottie-ios-OSX-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 140F0F5D7ADDCBD6455113B8108002E5 /* lottie-ios-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = FF09253EB0B902C0017CD74BABB9FF52 /* lottie-ios-iOS-dummy.m */; }; - 14A2143A62CE0E49B37DF91E9BF0A5D8 /* LAAnimatableNumberValue.h in Headers */ = {isa = PBXBuildFile; fileRef = B6180C84735EBE49AFAE3B70D4E19F35 /* LAAnimatableNumberValue.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0075B6488FF197D8668F10AF357C0521 /* LOTGroupLayerView.m in Sources */ = {isa = PBXBuildFile; fileRef = BF3B26BFAA29E7FB2EE8E343D0152E8F /* LOTGroupLayerView.m */; }; + 014264BCB7DDB49EF6C5822A6250492A /* LOTShapeTrimPath.h in Headers */ = {isa = PBXBuildFile; fileRef = 2402E6969E0AFB8E46A9C0BDDA843894 /* LOTShapeTrimPath.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 019EB390040200530FBD33CFCE1C6C0C /* LOTPlatformCompat.h in Headers */ = {isa = PBXBuildFile; fileRef = F24E0C925C4270DDE18CBB23F53F913E /* LOTPlatformCompat.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0224DD121FC30CF8D8EA84DEEDE9E5EF /* LOTShapeTrimPath.m in Sources */ = {isa = PBXBuildFile; fileRef = FB91CE9C7E1A07615CAC506178729716 /* LOTShapeTrimPath.m */; }; + 03667BC5DD6C96DC5FA10669D8D1169C /* CADisplayLink.m in Sources */ = {isa = PBXBuildFile; fileRef = C9287847F55C9BB5ACDCC93EF8CFB756 /* CADisplayLink.m */; }; + 07DF80DAF9334BF948557F2B6E25CA41 /* CAAnimationGroup+LOTAnimatableGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = 4897935C31F44A855C225490165F579E /* CAAnimationGroup+LOTAnimatableGroup.m */; }; + 07FB91D48001A282FF560AF9FC9293E5 /* LOTShapePath.m in Sources */ = {isa = PBXBuildFile; fileRef = D1D24446F8E73757845407CAE1469E94 /* LOTShapePath.m */; }; + 08EEF536571B1944EEE24963FE47D796 /* UIBezierPath.m in Sources */ = {isa = PBXBuildFile; fileRef = 5FBF1CDED2D52DF6430B4E8BB3F0B650 /* UIBezierPath.m */; }; + 099861D88F2BD9EEFDAF48C506F7E759 /* LOTShapeStroke.m in Sources */ = {isa = PBXBuildFile; fileRef = 16C8676DB5D0B04ECB624FF8744D0C1D /* LOTShapeStroke.m */; }; + 0B29280A9ADDDD0EE1FA1575967AC5BD /* LOTShapeLayerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 2B4F91019A41754A4617A095209FAEFB /* LOTShapeLayerView.m */; }; + 0CABCE1BA137EC951B04F8765A3ECD2E /* CGGeometryAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 853ADCB5AF0B129F0F8521140BB3F6B8 /* CGGeometryAdditions.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0F981EA0F990063F90AB32883A53CE20 /* CALayer+Compat.m in Sources */ = {isa = PBXBuildFile; fileRef = 2221C72141CA0F9E4A74F081D3487A50 /* CALayer+Compat.m */; }; + 0FE6D67AC31B34E5650ABE9F9DD2F12C /* LOTShapeLayerView.h in Headers */ = {isa = PBXBuildFile; fileRef = 16A063CC12991C8327B36E9D8C92CDC0 /* LOTShapeLayerView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 125FD7A203E94B904350E4DCF69758F0 /* LOTAnimatableBoundsValue.m in Sources */ = {isa = PBXBuildFile; fileRef = EDFE7F79A4FF48FA8ECE09662E91458C /* LOTAnimatableBoundsValue.m */; }; + 147E431F78C3563F36C0697D71DB562F /* LOTAnimatableShapeValue.h in Headers */ = {isa = PBXBuildFile; fileRef = D305577967DED96293EC6C38345DC9A4 /* LOTAnimatableShapeValue.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 151319C75262670E0BC1FE4C4D1B62DA /* LOTAnimatableNumberValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 01413D3409AE058AF83BD2D62F93DD70 /* LOTAnimatableNumberValue.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 15AC80C6C96763DFEEC790A9791E51E9 /* LOTAnimatableLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 6A356195F8E422F04DDBE0277E4B285C /* LOTAnimatableLayer.m */; }; + 15EF53F42565FBC7BBF78E742576D83E /* LOTShapeFill.m in Sources */ = {isa = PBXBuildFile; fileRef = 526AC75B26148609F730E814A6E6F8CE /* LOTShapeFill.m */; }; 15FC70FD083E40FAD0F5944D41DD88BE /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7B84DD8BA444B84A5807EA458734DA5D /* Foundation.framework */; }; 167C98102DB9FBFFD1C5B3B24B2C32E7 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7B84DD8BA444B84A5807EA458734DA5D /* Foundation.framework */; }; - 17BC02DCEA347D064F43F42456D79B41 /* LAAnimationCache.h in Headers */ = {isa = PBXBuildFile; fileRef = DA6CF136ED58AE59DAB8D59065D07FCA /* LAAnimationCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 187789225E635DC13432112CA0D037EE /* LAAnimationTransitionController.m in Sources */ = {isa = PBXBuildFile; fileRef = B55829B0C67F90AD7BA07A190AC460CC /* LAAnimationTransitionController.m */; }; - 1A2C0BE880C6C26BF5A3930F2C5944F0 /* LALayer.h in Headers */ = {isa = PBXBuildFile; fileRef = BA7661FFFABA02A2ED5F73C725A372C3 /* LALayer.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1A8DDED27875D75BE5EBE2462CAE5944 /* LAAnimationTransitionController.h in Headers */ = {isa = PBXBuildFile; fileRef = D472A02BCE43AFFAA8ECC4D294DE5B8D /* LAAnimationTransitionController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1A987AB7515757F549FC486AE0C0E32F /* LAEllipseShapeLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = F789F9D12C8F82EB39D074280B707B74 /* LAEllipseShapeLayer.m */; }; + 17638479F5A33CF21BFA3AC8DB8C0AD6 /* LOTShapeRectangle.h in Headers */ = {isa = PBXBuildFile; fileRef = AD68BCD99A3BAB6952BFFA509F44354F /* LOTShapeRectangle.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 17C42E0EED16415A9EDD363DEEBCABDD /* LOTAnimatableBoundsValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 84A82B58FA427565C666E5DA0D725093 /* LOTAnimatableBoundsValue.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 17E6CB11A15CEF17D116EADF1BE32940 /* LOTShapeGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = 08E2BE6E6F4E09DCAE63E77FA45E8D2F /* LOTShapeGroup.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 198C847CA44EC3E8F5F58A999FD4C512 /* LOTAnimatableNumberValue.m in Sources */ = {isa = PBXBuildFile; fileRef = FE69BE134ECE00AF6BB1D925BA98D2B4 /* LOTAnimatableNumberValue.m */; }; + 1AF05E6A1ED488D8A4590E451D16DB25 /* CAAnimationGroup+LOTAnimatableGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = 4897935C31F44A855C225490165F579E /* CAAnimationGroup+LOTAnimatableGroup.m */; }; 1B64907E5DC216E111CFB12FE773C603 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CA13E2F72B2A84E8D774F18DD936CA54 /* UIKit.framework */; }; - 1CB67028DDE579663B04CEBC59E29E8B /* LAComposition.m in Sources */ = {isa = PBXBuildFile; fileRef = A4C4F62FA0BF2C9BF8269A4F6E79E80F /* LAComposition.m */; }; - 1D1BFE3375DE9776BA1B2E04CDA7B8CD /* LAAnimatableNumberValue.h in Headers */ = {isa = PBXBuildFile; fileRef = B6180C84735EBE49AFAE3B70D4E19F35 /* LAAnimatableNumberValue.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1F5F6906C5F06859201D8DC205258A9E /* LAAnimatablePointValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 263BD953EED2E6F8429D8D97CB2F4AF1 /* LAAnimatablePointValue.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 20F82EB6F6DE8E43C0344406A293A2A2 /* UIBezierPath.h in Headers */ = {isa = PBXBuildFile; fileRef = 89C1EE73ADB8B76F7F0D7227A3DA0053 /* UIBezierPath.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 252D8834D7C8DF6351815843284AD302 /* CAAnimationGroup+LAAnimatableGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = 0846A5585A87C560BED9F3D2AB283289 /* CAAnimationGroup+LAAnimatableGroup.m */; }; - 25603E5AF4994E286029429B4E6980DD /* CAAnimationGroup+LAAnimatableGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = 0846A5585A87C560BED9F3D2AB283289 /* CAAnimationGroup+LAAnimatableGroup.m */; }; + 1B7AD1DB3B240B3F6075DAC7A2C60327 /* LOTPlatformCompat.h in Headers */ = {isa = PBXBuildFile; fileRef = F24E0C925C4270DDE18CBB23F53F913E /* LOTPlatformCompat.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1C1FD4859F03CD5975789890C67FDE5B /* LOTShapeGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = D2A37C29AA31036ACF0E3F7FB465FE25 /* LOTShapeGroup.m */; }; + 1C636B64825FE9F560CDFD9315069210 /* CGGeometryAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 82F6132D0F382F569E146FA58E4DAA27 /* CGGeometryAdditions.m */; }; + 1D1543E455046617A8F412994A6B8713 /* LOTAnimatableBoundsValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 84A82B58FA427565C666E5DA0D725093 /* LOTAnimatableBoundsValue.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1E1DE2EBC07D431A387942FCD8EA724B /* LOTShapeRectangle.m in Sources */ = {isa = PBXBuildFile; fileRef = 00D983F9220AE1924E72BFFEDBA59D4B /* LOTShapeRectangle.m */; }; + 204B15A3A04FF0F15CA4AA8D6E3F3E71 /* LOTAnimatableValue.h in Headers */ = {isa = PBXBuildFile; fileRef = AA3D46A24675B28BBB71E39E7D1548DF /* LOTAnimatableValue.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 20DEFD8C1B7E76272B928C15B18B68B0 /* LOTLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 91320FA54A945B0D6F0DA1360E66F4EA /* LOTLayer.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 23B582AC94E91248DAA79577B7D6B895 /* UIBezierPath.m in Sources */ = {isa = PBXBuildFile; fileRef = 5FBF1CDED2D52DF6430B4E8BB3F0B650 /* UIBezierPath.m */; }; + 23FF5E1FEC9F357DEEC6BFE5563C10F1 /* LOTMask.h in Headers */ = {isa = PBXBuildFile; fileRef = CCFB05FD8351F6DF6D9DB1678426591E /* LOTMask.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 24C80BA76AA31DF083ED0AED7ECF75AF /* UIColor.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D27B4F779C6777D529D7ECF8C2F7818 /* UIColor.m */; }; 26927C671A95388B3C4BD8F3D8CB1D66 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8F9FC62FF143AB6667CDD8163FCFDE1C /* Cocoa.framework */; }; - 28F6A4769188334DA98AD1C80DABECED /* Lottie.h in Headers */ = {isa = PBXBuildFile; fileRef = 52261001EAFC60D9CB90F856BF509706 /* Lottie.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2AB39793190F7EA1E812C56E2A32A669 /* LAShapeTransform.h in Headers */ = {isa = PBXBuildFile; fileRef = 39B58225E651D481B640659502D58F65 /* LAShapeTransform.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2BF9A551EFCA34C91E27358CAED96206 /* LAShapeFill.m in Sources */ = {isa = PBXBuildFile; fileRef = 1C6F9DD05867FBA24AF55DE30C9C9CE2 /* LAShapeFill.m */; }; - 2FF63FE0A344562D194B5B2AA8D1699C /* LALayer.h in Headers */ = {isa = PBXBuildFile; fileRef = BA7661FFFABA02A2ED5F73C725A372C3 /* LALayer.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3256AC7CF60340E592DCC1C1E5D4D4AA /* LAAnimatablePointValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 263BD953EED2E6F8429D8D97CB2F4AF1 /* LAAnimatablePointValue.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 32AF9707720B3585B56A8337C9A21E41 /* LAMask.m in Sources */ = {isa = PBXBuildFile; fileRef = 42BAC24CC7B64A975739199B90652674 /* LAMask.m */; }; - 34D8B8958139C90E12DC858EFEF3DB0A /* Lottie.h in Headers */ = {isa = PBXBuildFile; fileRef = 52261001EAFC60D9CB90F856BF509706 /* Lottie.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 39DE9593C6FA16D84C8E034C05F2E719 /* UIColor+Expanded.m in Sources */ = {isa = PBXBuildFile; fileRef = CA84826E02421A5C6D358C85DB620A93 /* UIColor+Expanded.m */; }; - 3A30E971159FEF8ED69AA78FD3CA45A3 /* LALayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D5B7866C927C7D0D2B0DF0511F536C1 /* LALayer.m */; }; - 3A438D6CBC5862925FEBCAAA046BC0D4 /* LAShapeTransform.m in Sources */ = {isa = PBXBuildFile; fileRef = FBAB0EAEF9C80B3C56E229F09B61B76B /* LAShapeTransform.m */; }; - 3B37FDE53EFAF5F786B5118EF1477C65 /* CADisplayLink.h in Headers */ = {isa = PBXBuildFile; fileRef = CF537C5754336A24E122FAD406DF6A14 /* CADisplayLink.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3C0E8DB08385F6E98CEB66C870CAA21A /* LAAnimatableBoundsValue.m in Sources */ = {isa = PBXBuildFile; fileRef = ECB0AD90A3501C2ABC05788EEB5B5A44 /* LAAnimatableBoundsValue.m */; }; - 3C4F35E8E69E15FECBFF0AFC70062BB0 /* LAAnimationTransitionController.m in Sources */ = {isa = PBXBuildFile; fileRef = B55829B0C67F90AD7BA07A190AC460CC /* LAAnimationTransitionController.m */; }; - 3C53BD239ED5223881EB4C3CF9252A1C /* LAAnimationCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 03BC13CD9C6A6035CB36680D0A10AA3E /* LAAnimationCache.m */; }; - 4150BDB43DBE730F8FFD2E77046723EC /* LARectShapeLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 435B68E5D2D868147AF17A75E1F57DB7 /* LARectShapeLayer.m */; }; - 45A543ACCF50AF12ACBC4038BEC545C5 /* CADisplayLink.m in Sources */ = {isa = PBXBuildFile; fileRef = E28FE9DD11EF37DFC9FFB74C2D6AB9E9 /* CADisplayLink.m */; }; - 460D50B1042E376F3A5397E915583244 /* CGGeometryAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = DA2328E5015A67E2D0EAFB8760405834 /* CGGeometryAdditions.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 46B2B4E99B5149934CCC55E7CFCFC3AC /* UIBezierPath.m in Sources */ = {isa = PBXBuildFile; fileRef = D9DB96AFA9547620017B0B3D93D0AFDB /* UIBezierPath.m */; }; - 498F675602A7489A1E5DF8ADD939966F /* LAShapeGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = 9AE7674DA30DA22174CCC932F6FAF349 /* LAShapeGroup.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4C29D833A3D574AAE6D9D430FCD5315A /* LALayerView.h in Headers */ = {isa = PBXBuildFile; fileRef = BA8FCEB16DBF22BE687E93B629705410 /* LALayerView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4C33608C0429FD80134C64AF5989AA1C /* LAAnimationView.h in Headers */ = {isa = PBXBuildFile; fileRef = 9D6996FEA90472D5190E82B5BD837AAD /* LAAnimationView.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4C62210B2B052BE54DCE036C4F0E4162 /* LAShapeTrimPath.h in Headers */ = {isa = PBXBuildFile; fileRef = 345C024753303F2F5BD3228052384331 /* LAShapeTrimPath.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2782CD6A1D8A343B53759A994D9F6C31 /* LOTAnimatableShapeValue.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C0B1F1C5402C9CDAE8C6283236DF261 /* LOTAnimatableShapeValue.m */; }; + 28E9535414CE1BEC591C89E7A06EAEF0 /* LOTShapeTransform.m in Sources */ = {isa = PBXBuildFile; fileRef = 38B2CE628EFB134AA0142EB0242E07F8 /* LOTShapeTransform.m */; }; + 299366D900574C96A4B7D499D394AE95 /* LOTMask.m in Sources */ = {isa = PBXBuildFile; fileRef = AC40650D6C520AF8C62993627178E8B1 /* LOTMask.m */; }; + 29CA4EE59B08D1ED8109B415457D3CDC /* LOTGroupLayerView.h in Headers */ = {isa = PBXBuildFile; fileRef = 83C8E46C27F65CF9753008BA18A44A91 /* LOTGroupLayerView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2CDB9C2783AEFB59BD0E027E2E0F88A7 /* LOTMask.h in Headers */ = {isa = PBXBuildFile; fileRef = CCFB05FD8351F6DF6D9DB1678426591E /* LOTMask.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2E8B54E6D3C436614572A1331766E9C2 /* LOTAnimatablePointValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 253B264574F52915783E6B9A79E1B0D7 /* LOTAnimatablePointValue.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 308BAC9046FD2B69BB7CCDA6F24FE59D /* CGGeometryAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 853ADCB5AF0B129F0F8521140BB3F6B8 /* CGGeometryAdditions.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 32D0A6870FA6569B8C751F792E3DBA4B /* LOTAnimatableValue.h in Headers */ = {isa = PBXBuildFile; fileRef = AA3D46A24675B28BBB71E39E7D1548DF /* LOTAnimatableValue.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 362836E5A94EEC788130DAB3D72E04E8 /* LOTEllipseShapeLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 05E770FF8A8E7B0E14EB69C241E457F8 /* LOTEllipseShapeLayer.m */; }; + 381DE86C0D48DA6EB48C96B2EC366E00 /* LOTAnimationTransitionController.h in Headers */ = {isa = PBXBuildFile; fileRef = 199792E3A60E47FA2A14B052B41C0E33 /* LOTAnimationTransitionController.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 38724389F4AF391B9BC43CD50AA3EDD8 /* CADisplayLink.m in Sources */ = {isa = PBXBuildFile; fileRef = C9287847F55C9BB5ACDCC93EF8CFB756 /* CADisplayLink.m */; }; + 3A31C00DAD5EE96060356B8229A0F880 /* LOTHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = 8E06AC3CC982685463EB8FB1A8A00077 /* LOTHelpers.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3DCCF6A2ABFED5F218907AD6D484948E /* UIColor+Expanded.h in Headers */ = {isa = PBXBuildFile; fileRef = 7725F4F35EFB1A561204B8B714BF14FA /* UIColor+Expanded.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3E2DAA0BFF3BED561D8425EE6BE290F3 /* UIColor.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D27B4F779C6777D529D7ECF8C2F7818 /* UIColor.m */; }; + 4150F7FE75D91BD4F9ADA9EA12CB85D3 /* LOTShapeRectangle.m in Sources */ = {isa = PBXBuildFile; fileRef = 00D983F9220AE1924E72BFFEDBA59D4B /* LOTShapeRectangle.m */; }; + 43525BF925E577FA5BC55FA8722D3C95 /* LOTShapeCircle.h in Headers */ = {isa = PBXBuildFile; fileRef = 67A217DEE8582AD940BEAF7BA905E0BE /* LOTShapeCircle.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 46F17145DD61E422E878E2625D0588FA /* LOTLayerView.h in Headers */ = {isa = PBXBuildFile; fileRef = 604821344D6182F76D74EAFC3DC8A31B /* LOTLayerView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4732ECB066C837C3484D9DB2F226773D /* LOTComposition.m in Sources */ = {isa = PBXBuildFile; fileRef = 914E38365E034D0D2874EAB4410B0ED0 /* LOTComposition.m */; }; + 4833D2BD0666884F509A85C031D7CBCE /* LOTComposition.h in Headers */ = {isa = PBXBuildFile; fileRef = B758F16C1930B57D432706DF7B9D2107 /* LOTComposition.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 49DEF831442B05BED78E24E963AFC601 /* lottie-ios-OSX-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = B9C926B498D73B1C3824C2B9732454E3 /* lottie-ios-OSX-dummy.m */; }; 4CD4393542E64221153CC1934728CDE7 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63E8A32304416366E7C4FC7A2D6C3A08 /* AppKit.framework */; }; - 4D7FC0602A9BB89E8C07FE3BDF04E52F /* LAShapeStroke.m in Sources */ = {isa = PBXBuildFile; fileRef = 32479591B8F19BD0CBE9F774D15389D8 /* LAShapeStroke.m */; }; - 5035DDB29247100BD2E42525639FE1F5 /* UIColor.h in Headers */ = {isa = PBXBuildFile; fileRef = D5746E9272F05894B0DFBF3385B3D054 /* UIColor.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5096A3ADBA44CF6F98BA8201D53A3C2B /* LALayerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 47C06138CD8F1D8AF8C690C81CF1F3CD /* LALayerView.m */; }; - 519E715BCC2CC3171AC0ACB7BAD25A52 /* LALayerView.h in Headers */ = {isa = PBXBuildFile; fileRef = BA8FCEB16DBF22BE687E93B629705410 /* LALayerView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 534AF43ECBFBB4CCBF65F9173652E19B /* LAGroupLayerView.h in Headers */ = {isa = PBXBuildFile; fileRef = E50E712403469BBBEC9770ABFC5F518A /* LAGroupLayerView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 54A10C4FF51980AE914A169404A5C60C /* LAShapeGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = AEE071F9D9D4F8785E5CCD0A5D9BD629 /* LAShapeGroup.m */; }; - 569876359FD1E2274392B61185B9AD1C /* LAAnimatablePointValue.m in Sources */ = {isa = PBXBuildFile; fileRef = 0A1D575039F11F3C1C3D8FF041B809D1 /* LAAnimatablePointValue.m */; }; - 57110107A9975DC0F3B2D5793298DF1F /* UIColor.m in Sources */ = {isa = PBXBuildFile; fileRef = BE50F8CE9CCF76F0B6B8654C81CEDBB8 /* UIColor.m */; }; - 5B4BA30857E1208B23DE23458CBBDA6F /* CAAnimationGroup+LAAnimatableGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = 04A9AE61EDF30010E78A9645050B7E8E /* CAAnimationGroup+LAAnimatableGroup.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5BC98275A642523238FEBBFC78B00834 /* LARectShapeLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 435B68E5D2D868147AF17A75E1F57DB7 /* LARectShapeLayer.m */; }; - 5C696C798CB839E4C8E55AD1B3509CFB /* LAAnimationView.h in Headers */ = {isa = PBXBuildFile; fileRef = 9D6996FEA90472D5190E82B5BD837AAD /* LAAnimationView.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 5E22489FE0C514A8E165511960207FA3 /* NSValue+Compat.h in Headers */ = {isa = PBXBuildFile; fileRef = E0E9E52D362EFDD9AD546B0C35F8955B /* NSValue+Compat.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5EF3F37C35243A3CA444557CC74DA8D7 /* LAAnimatableBoundsValue.m in Sources */ = {isa = PBXBuildFile; fileRef = ECB0AD90A3501C2ABC05788EEB5B5A44 /* LAAnimatableBoundsValue.m */; }; - 5F56204A907EBDCD91C9DFBF394E9431 /* UIColor+Expanded.h in Headers */ = {isa = PBXBuildFile; fileRef = 09C9342D002179901B4854A44519F73D /* UIColor+Expanded.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5F720B7DF92E483239D975BBE29E3BEB /* LAAnimationView_Compat.h in Headers */ = {isa = PBXBuildFile; fileRef = E9D93897CED27201D99C74890A61D2E7 /* LAAnimationView_Compat.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6121AA8DB00BD883320CBB3030A24D35 /* CALayer+Compat.m in Sources */ = {isa = PBXBuildFile; fileRef = A6FC9892A39A424B3BF2E4E3375B341F /* CALayer+Compat.m */; }; - 61D81DCADCC07569E046AB22ED3B226C /* LAComposition.h in Headers */ = {isa = PBXBuildFile; fileRef = 9729EB695B9B3CB45539738BC477E081 /* LAComposition.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 64D095B955394A9DCABA0BB338DABFC4 /* LAMaskLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B2AFB7FED0BCB96137645BEF578B074 /* LAMaskLayer.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 66F660E4862504D2D58EA326D189B685 /* LAComposition.h in Headers */ = {isa = PBXBuildFile; fileRef = 9729EB695B9B3CB45539738BC477E081 /* LAComposition.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6818B258E3DB5289FF14AE27D0A0369C /* LAGroupLayerView.h in Headers */ = {isa = PBXBuildFile; fileRef = E50E712403469BBBEC9770ABFC5F518A /* LAGroupLayerView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4D0C60F8C4A252367B7C4875F9B0BDB0 /* LOTEllipseShapeLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AEBDBAF944DA2750D70B10BA38CDC3C /* LOTEllipseShapeLayer.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4EFC87278E4E7401727B49678BD95620 /* LOTEllipseShapeLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 05E770FF8A8E7B0E14EB69C241E457F8 /* LOTEllipseShapeLayer.m */; }; + 4F0B2D6C49741327F6B439F355B73E51 /* LOTShapeLayerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 2B4F91019A41754A4617A095209FAEFB /* LOTShapeLayerView.m */; }; + 4F61ACDC0546979632BA2987F7CFDDF8 /* LOTShapeTrimPath.h in Headers */ = {isa = PBXBuildFile; fileRef = 2402E6969E0AFB8E46A9C0BDDA843894 /* LOTShapeTrimPath.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 573C01EC3D0F512491BCF3DEB5AAB748 /* LOTGroupLayerView.h in Headers */ = {isa = PBXBuildFile; fileRef = 83C8E46C27F65CF9753008BA18A44A91 /* LOTGroupLayerView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 579F11312EA02E2DCFF81BE25F51DB39 /* LOTModels.h in Headers */ = {isa = PBXBuildFile; fileRef = B223A2DAC7F5B2F8C91EB3FD243FEDAC /* LOTModels.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 59F2510D426A2ECE606B3E85A8F11F3D /* LOTAnimationCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 5B28A1060F4CA73B2C8DECA596DC1415 /* LOTAnimationCache.m */; }; + 5DF8393A3083229BA328CC2E478DC84A /* LOTAnimationTransitionController.h in Headers */ = {isa = PBXBuildFile; fileRef = 199792E3A60E47FA2A14B052B41C0E33 /* LOTAnimationTransitionController.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5EAC48C16B7573B63E96B20FDF50AA97 /* LOTShapeStroke.h in Headers */ = {isa = PBXBuildFile; fileRef = CC95B50AA209CF058AC6E93A5F6CE158 /* LOTShapeStroke.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 5F18978641DA29CD188FBA1D8EB501D5 /* CADisplayLink.h in Headers */ = {isa = PBXBuildFile; fileRef = 32108CC0D27D536D0F888B4F25F6AA2C /* CADisplayLink.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 60F557164C8A0B6A6EFA915E1FB08911 /* UIColor+Expanded.m in Sources */ = {isa = PBXBuildFile; fileRef = 9E30A18DA5453C1650631505E0326941 /* UIColor+Expanded.m */; }; + 612802CB932AF4B6ABB90A0EB35EC985 /* LOTAnimatableScaleValue.m in Sources */ = {isa = PBXBuildFile; fileRef = 38381CAF32A9CDF031A158D9B0972F9F /* LOTAnimatableScaleValue.m */; }; + 647DA444AEE8AC3CB29EE5B8FFB425B2 /* LOTAnimationView_Compat.h in Headers */ = {isa = PBXBuildFile; fileRef = 241491BFBA2D90C0006294AE273D8916 /* LOTAnimationView_Compat.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 68387F2C38E559EAD686DD20223002EE /* LOTShapeStroke.h in Headers */ = {isa = PBXBuildFile; fileRef = CC95B50AA209CF058AC6E93A5F6CE158 /* LOTShapeStroke.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68F736D1CD2598FFA36E68D13D886E38 /* CAAnimationGroup+LOTAnimatableGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = 7699768EF0DC404BD8D6AF609213BE75 /* CAAnimationGroup+LOTAnimatableGroup.h */; settings = {ATTRIBUTES = (Project, ); }; }; 695E0CCAE6F585FBCDE5F397DA85EC93 /* Pods-lottie-ios_Tests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A0CC55D11A791A4361B86F63BE68CB7 /* Pods-lottie-ios_Tests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 696BDBCE159A25C73F04465AB29186AF /* LAMaskLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 9643758EE0880EA5E1E7A3B8FA0B5C4F /* LAMaskLayer.m */; }; - 69BF8D967FFC55CECA6F48E6654BE98D /* LAShapeTrimPath.h in Headers */ = {isa = PBXBuildFile; fileRef = 345C024753303F2F5BD3228052384331 /* LAShapeTrimPath.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 69DBD28ABB74A49A1D02DAD98D2FFCFB /* LAAnimationView_Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 15F0CFD52C7EEDA262166745EEDDA4FC /* LAAnimationView_Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6A2D62F341445F165D41C3AFD36CC6BE /* CALayer+Compat.h in Headers */ = {isa = PBXBuildFile; fileRef = CCC8915579E003A7E0CDA7B90202769D /* CALayer+Compat.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6ABFA01C27BF5E3262AA2FD08EAA5E4A /* LARectShapeLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = B7C33198914C3009934260E1B16040BF /* LARectShapeLayer.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6C17ECD85959810B21FCEF4F78FA2643 /* LAComposition.m in Sources */ = {isa = PBXBuildFile; fileRef = A4C4F62FA0BF2C9BF8269A4F6E79E80F /* LAComposition.m */; }; - 6DAE4C1769B861ADB750426DEBE9D6F2 /* LAAnimatableScaleValue.m in Sources */ = {isa = PBXBuildFile; fileRef = 2FEA58AEF5DCB8E826E345A247DEF800 /* LAAnimatableScaleValue.m */; }; + 6AECE84D2606A6EB774D90B68BF02FBE /* LOTGroupLayerView.m in Sources */ = {isa = PBXBuildFile; fileRef = BF3B26BFAA29E7FB2EE8E343D0152E8F /* LOTGroupLayerView.m */; }; + 6B2ABF7E642685F16C252E87DA68F7DE /* LOTShapeTransform.h in Headers */ = {isa = PBXBuildFile; fileRef = 39E7B78BCCA33785D07745351D00BCBF /* LOTShapeTransform.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6B4364C81FA0A03F1D73C6BAB6ADB899 /* UIColor+Expanded.h in Headers */ = {isa = PBXBuildFile; fileRef = 7725F4F35EFB1A561204B8B714BF14FA /* UIColor+Expanded.h */; settings = {ATTRIBUTES = (Project, ); }; }; 6E546A07530D4E0B229B36F2BC7AFC89 /* Pods-Lottie-Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = FF91F9344AF5B9FAEB941DAFB89A1A43 /* Pods-Lottie-Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7116A3A0D5A58E139F5195ED7B031866 /* LAShapeRectangle.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FBD977212B8B998E67B22B73AE0ACEC /* LAShapeRectangle.m */; }; - 728B3E0C21471D2A1AC547585ACA01E2 /* LAShapeLayerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 420760288C7276D65879243F90148E30 /* LAShapeLayerView.m */; }; - 7324B1E8126073A564A8902056781EF1 /* LAShapeLayerView.h in Headers */ = {isa = PBXBuildFile; fileRef = 161E8724384284CEB2AEDB8A6029DD24 /* LAShapeLayerView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7364DF0D48A6E0A5D8BC8D19FD7C0184 /* LAAnimatableLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 0966AD065F5C14181484ECADAA8C907F /* LAAnimatableLayer.m */; }; + 71260F5EC2FB27E95FA8C1F5E18335EA /* LOTShapeFill.h in Headers */ = {isa = PBXBuildFile; fileRef = 22A9A522868796567DA90E0AF6891CB1 /* LOTShapeFill.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7299688E73D2B61F3361281ACBB4660E /* LOTMaskLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B9ACDB072FB0C36A0AA901C2AB0A7F4 /* LOTMaskLayer.h */; settings = {ATTRIBUTES = (Project, ); }; }; 743F2EE40EED9AFC90EC9B25CC96DEA0 /* Pods-Lottie-Example-MacOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EB1C51ABEB93789541905240DF926E8 /* Pods-Lottie-Example-MacOS-dummy.m */; }; - 750F81ED62446D1CAB4D51AC82E33CD2 /* LAAnimationView.m in Sources */ = {isa = PBXBuildFile; fileRef = 946B6F0660E2C46FCE0CA21C57441C6A /* LAAnimationView.m */; }; - 75FA085770CBED209E352EB35F9E844C /* CGGeometryAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 150D33E3EF90BE45A866631A59509D3C /* CGGeometryAdditions.m */; }; - 7835F96E54413047E2A20C5808DF9A8E /* LALayerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 47C06138CD8F1D8AF8C690C81CF1F3CD /* LALayerView.m */; }; - 7853E06B1245D9674B7E9981BAF81C26 /* LAAnimatableShapeValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 8FE177F774CA086984F5F1E5216287C9 /* LAAnimatableShapeValue.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 79A1C71B78351D0AC84677DA917FF268 /* lottie-ios-OSX-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = B9C926B498D73B1C3824C2B9732454E3 /* lottie-ios-OSX-dummy.m */; }; - 7A1622B4EB96752F23AC477C9E53E6FC /* CADisplayLink.m in Sources */ = {isa = PBXBuildFile; fileRef = E28FE9DD11EF37DFC9FFB74C2D6AB9E9 /* CADisplayLink.m */; }; - 7B8A0A2C0FDFAC1566035A68377C5A15 /* CGGeometryAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 150D33E3EF90BE45A866631A59509D3C /* CGGeometryAdditions.m */; }; - 7D1531553AA89E9CC94EEC7F501CD776 /* LAAnimatableBoundsValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 82274F4DE9ADE4590DEE9890CB0843A6 /* LAAnimatableBoundsValue.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 81E3B0D93F5FF6147C1C5EE789FD7536 /* LAShapeStroke.m in Sources */ = {isa = PBXBuildFile; fileRef = 32479591B8F19BD0CBE9F774D15389D8 /* LAShapeStroke.m */; }; - 8267EC70394C0A17F093F8E38A45E9B0 /* LAShapeTrimPath.m in Sources */ = {isa = PBXBuildFile; fileRef = E833FF4589EA36FB7F1188E3BACBAB62 /* LAShapeTrimPath.m */; }; - 82BD8C7B71A74D529E9A49A6CCEF854F /* LAGroupLayerView.m in Sources */ = {isa = PBXBuildFile; fileRef = AD6374C4150B9A720B0BCA0CFAAA28C9 /* LAGroupLayerView.m */; }; - 83BD096F12141F9D4BB9575EF918A04A /* LAAnimatableShapeValue.m in Sources */ = {isa = PBXBuildFile; fileRef = 00BB4AA5C82A74418D3509F0748CF7E1 /* LAAnimatableShapeValue.m */; }; - 84C23CBD62FA989F35EC0D5171465D11 /* LAShapeRectangle.h in Headers */ = {isa = PBXBuildFile; fileRef = F7D66821AA5EE5BB26108ED46C391E19 /* LAShapeRectangle.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8682CF6AA8BC40BEC26B5E63D4D29FB3 /* LAShapeTransform.h in Headers */ = {isa = PBXBuildFile; fileRef = 39B58225E651D481B640659502D58F65 /* LAShapeTransform.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8E4456D9AEEACB889B115D1C4F7C4814 /* NSValue+Compat.h in Headers */ = {isa = PBXBuildFile; fileRef = E0E9E52D362EFDD9AD546B0C35F8955B /* NSValue+Compat.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 91BB1910FFAED4BFCA7354ACCDA7DF15 /* LAAnimationView_Compat.h in Headers */ = {isa = PBXBuildFile; fileRef = E9D93897CED27201D99C74890A61D2E7 /* LAAnimationView_Compat.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 944960A27D9DD38E3C5D16245FD0E40C /* UIBezierPath.m in Sources */ = {isa = PBXBuildFile; fileRef = D9DB96AFA9547620017B0B3D93D0AFDB /* UIBezierPath.m */; }; - 95D02816C8F9A026360169923CED114D /* LAShapeCircle.h in Headers */ = {isa = PBXBuildFile; fileRef = 057EB7B5AB0891C515A48F53B0D68C13 /* LAShapeCircle.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 96B591C65BA1057928FD13B41F7CF860 /* LAModels.h in Headers */ = {isa = PBXBuildFile; fileRef = F289321165E81FC6F4B2E4C06C3AB4D8 /* LAModels.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 976270E2D39BD6FB429440E0EC673878 /* UIColor+Expanded.h in Headers */ = {isa = PBXBuildFile; fileRef = 09C9342D002179901B4854A44519F73D /* UIColor+Expanded.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 9781F0D9202D3A1C0F27D07D29A17A97 /* LAAnimatableScaleValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 258741D3F54E11EC0A573728DC09BA0D /* LAAnimatableScaleValue.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 98A4A4EFBAC643F8F45B149EBAE9332C /* LAEllipseShapeLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 2DD06BD0A3F3D5F00FE848AF8A4A6F4E /* LAEllipseShapeLayer.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 996E29770EB6AE15E2D90BE2F792EBFF /* LAAnimatableValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 5EB078A3C908F5AC8D41C6691DB53EEA /* LAAnimatableValue.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 9A0EACA5274EFE20D775F6ED570E6384 /* LAShapeCircle.h in Headers */ = {isa = PBXBuildFile; fileRef = 057EB7B5AB0891C515A48F53B0D68C13 /* LAShapeCircle.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 9B6860D8A382975806394BA2994E7F3E /* LAPlatformCompat.h in Headers */ = {isa = PBXBuildFile; fileRef = 5AF587B1E1C5510378FE74675F04A389 /* LAPlatformCompat.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 9B6CEEA4245BB72DB2B55047B17DF0F8 /* LAModels.h in Headers */ = {isa = PBXBuildFile; fileRef = F289321165E81FC6F4B2E4C06C3AB4D8 /* LAModels.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 9BF582DDD29D52C4556C827FF3D4EBC6 /* CALayer+Compat.m in Sources */ = {isa = PBXBuildFile; fileRef = A6FC9892A39A424B3BF2E4E3375B341F /* CALayer+Compat.m */; }; - 9CD4F251778605216B4B9E3CE2FAF13D /* LAAnimatableShapeValue.m in Sources */ = {isa = PBXBuildFile; fileRef = 00BB4AA5C82A74418D3509F0748CF7E1 /* LAAnimatableShapeValue.m */; }; - 9DE79EAE9763DE05CA50112928C99A2D /* LAShapePath.h in Headers */ = {isa = PBXBuildFile; fileRef = 7B256F4A01324853F3D536D9BD97CCBA /* LAShapePath.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 9DF81CA4B372C14CC4F48392AF6563ED /* LAAnimationView_Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 15F0CFD52C7EEDA262166745EEDDA4FC /* LAAnimationView_Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 759E46CB49AAE25993A70A2DE97D266E /* LOTLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 91320FA54A945B0D6F0DA1360E66F4EA /* LOTLayer.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7798B76D66EBB7AD51E11F2729410A04 /* LOTAnimationCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 262826A76F079A347BA24ABF06CDB0FE /* LOTAnimationCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 796CBF218A55546045B8016E15AFBA87 /* LOTAnimationView.h in Headers */ = {isa = PBXBuildFile; fileRef = 5BA2CC85F3E7C7289C79486D58E26E38 /* LOTAnimationView.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7979D3A6E47E7449AC865C57DD35F839 /* LOTShapeFill.m in Sources */ = {isa = PBXBuildFile; fileRef = 526AC75B26148609F730E814A6E6F8CE /* LOTShapeFill.m */; }; + 7AFD15F6190F7EADEA3CF258FF21D8D5 /* LOTAnimatableColorValue.m in Sources */ = {isa = PBXBuildFile; fileRef = A0ECC7A860BB0872BA8C550EC14492D8 /* LOTAnimatableColorValue.m */; }; + 7EB6832366B45B6EA7B484FC55BD065C /* CALayer+Compat.m in Sources */ = {isa = PBXBuildFile; fileRef = 2221C72141CA0F9E4A74F081D3487A50 /* CALayer+Compat.m */; }; + 7EDB7B9FA909F0E056D34EEEFD73D9EF /* LOTMaskLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B9ACDB072FB0C36A0AA901C2AB0A7F4 /* LOTMaskLayer.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7FC1C9069B6D070F426975EC516B17D0 /* UIBezierPath.h in Headers */ = {isa = PBXBuildFile; fileRef = CD4871E5F454687DB33E18C960BF502C /* UIBezierPath.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 808420BFE0C3F5865B8CDCA8B15737FF /* LOTShapePath.m in Sources */ = {isa = PBXBuildFile; fileRef = D1D24446F8E73757845407CAE1469E94 /* LOTShapePath.m */; }; + 810EB908A3535240BDE4C77147744300 /* LOTAnimatableColorValue.h in Headers */ = {isa = PBXBuildFile; fileRef = CE52B7DFC45D9FAE2D726F19A4E3F16C /* LOTAnimatableColorValue.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 81A41631E43E19BA7747CFC447660357 /* NSValue+Compat.m in Sources */ = {isa = PBXBuildFile; fileRef = EF40B23B5398192F058B81F3891F1957 /* NSValue+Compat.m */; }; + 81B8CB55716B288E5371EB779ABB5773 /* LOTShapeRectangle.h in Headers */ = {isa = PBXBuildFile; fileRef = AD68BCD99A3BAB6952BFFA509F44354F /* LOTShapeRectangle.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 838D6155DE51A16593725CE970CA6C90 /* LOTEllipseShapeLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AEBDBAF944DA2750D70B10BA38CDC3C /* LOTEllipseShapeLayer.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8590C7A15D3AB45D8FF75787305E1947 /* LOTShapePath.h in Headers */ = {isa = PBXBuildFile; fileRef = CB61F2BE80BD7187C6BE417477BCE686 /* LOTShapePath.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 87A26BF6CC45ADCB0FBC7D764C5A3947 /* LOTLayerView.h in Headers */ = {isa = PBXBuildFile; fileRef = 604821344D6182F76D74EAFC3DC8A31B /* LOTLayerView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8822546C2B97546B166E6DA879B88AC2 /* LOTAnimationView_Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = C92C075B346BCA3EC4B839F609409328 /* LOTAnimationView_Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8BCEE8B56B5888414B337285A8A8A07C /* LOTMaskLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 8592EA877C1B4E06F2DFBFDF38C1CBA7 /* LOTMaskLayer.m */; }; + 8D42FDFD4099ECF1BC991702087FC19B /* LOTAnimationView_Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = C92C075B346BCA3EC4B839F609409328 /* LOTAnimationView_Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8DDD521FF46659B2439F859CD8E6D9A7 /* UIColor.h in Headers */ = {isa = PBXBuildFile; fileRef = DC3B1FA61F43E8C516B69F77E9CAF1D6 /* UIColor.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8F66422C252281F16D74463C07627265 /* LOTAnimatableScaleValue.m in Sources */ = {isa = PBXBuildFile; fileRef = 38381CAF32A9CDF031A158D9B0972F9F /* LOTAnimatableScaleValue.m */; }; + 92264D5AAD923EF3470B7E41C765591A /* LOTShapeTransform.h in Headers */ = {isa = PBXBuildFile; fileRef = 39E7B78BCCA33785D07745351D00BCBF /* LOTShapeTransform.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 92788FAF42B0683996401CDF51DE75C2 /* LOTComposition.h in Headers */ = {isa = PBXBuildFile; fileRef = B758F16C1930B57D432706DF7B9D2107 /* LOTComposition.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9393029CAB8D0DCFBD598DCA8F9652CB /* LOTRectShapeLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = DC58AEDA92475F81D0AB0F7DFFE756B8 /* LOTRectShapeLayer.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9437D8E88E19B8C10B22E443F0645FD8 /* Lottie.h in Headers */ = {isa = PBXBuildFile; fileRef = CE4B9FCDC54EC85224D22196A7A41ED6 /* Lottie.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 951641D26236D9DD1D8497D421AB0F99 /* LOTComposition.m in Sources */ = {isa = PBXBuildFile; fileRef = 914E38365E034D0D2874EAB4410B0ED0 /* LOTComposition.m */; }; + 95F662708D1A26121B6D4E602187AAE6 /* CALayer+Compat.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A6381396C315D89301561EC79224990 /* CALayer+Compat.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 96142EF4F16B59D098BD648927183FFA /* LOTAnimatableColorValue.h in Headers */ = {isa = PBXBuildFile; fileRef = CE52B7DFC45D9FAE2D726F19A4E3F16C /* LOTAnimatableColorValue.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 97FE8CC08B3661D9C12F3C2666A9FC49 /* LOTAnimatableScaleValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 3C037597573E9C79DE2ABBB5DEB7F38A /* LOTAnimatableScaleValue.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9B3E6A02A045DF4A5F215401E3334912 /* LOTAnimatableColorValue.m in Sources */ = {isa = PBXBuildFile; fileRef = A0ECC7A860BB0872BA8C550EC14492D8 /* LOTAnimatableColorValue.m */; }; + 9BA1D5723FE30B61B46BFAE9EEB219A2 /* LOTShapeTrimPath.m in Sources */ = {isa = PBXBuildFile; fileRef = FB91CE9C7E1A07615CAC506178729716 /* LOTShapeTrimPath.m */; }; 9E52F4F7D4588D34FC4EAAF7B00E2724 /* Pods-lottie-ios_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D026EFE442CC845F08509D94D1DC02D /* Pods-lottie-ios_Tests-dummy.m */; }; - A09256CABD4990BCD0B6B8A121D3347E /* LAShapeStroke.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A0E3B6953C086AE38D2B02446542316 /* LAShapeStroke.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A371EBF6B626124786AEE54C05F1E1F0 /* LAAnimatableColorValue.h in Headers */ = {isa = PBXBuildFile; fileRef = A2BEDD9079C2E7963A26DD51EFD98710 /* LAAnimatableColorValue.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A38F49864C3A60DCE3EBDF9A07E779C9 /* LAShapePath.m in Sources */ = {isa = PBXBuildFile; fileRef = A76174ED58C64052E2CDD5DEDB3A5B78 /* LAShapePath.m */; }; - A5498F431E46CD29CB2BFB2EE7F9A19F /* UIColor.m in Sources */ = {isa = PBXBuildFile; fileRef = BE50F8CE9CCF76F0B6B8654C81CEDBB8 /* UIColor.m */; }; - A606E7F4F94DB70577116CB661651065 /* LAShapeLayerView.h in Headers */ = {isa = PBXBuildFile; fileRef = 161E8724384284CEB2AEDB8A6029DD24 /* LAShapeLayerView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A841736F91767D6A73C6061DAE99A017 /* LAAnimatableScaleValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 258741D3F54E11EC0A573728DC09BA0D /* LAAnimatableScaleValue.h */; settings = {ATTRIBUTES = (Project, ); }; }; - AA2158FD288228A01611FC4F0135F3DF /* LAGroupLayerView.m in Sources */ = {isa = PBXBuildFile; fileRef = AD6374C4150B9A720B0BCA0CFAAA28C9 /* LAGroupLayerView.m */; }; - AE72BCA9F2C4C281D2AF91D9508560BD /* LAMask.h in Headers */ = {isa = PBXBuildFile; fileRef = F0E0B35A67C266BEB014D3B254858A3E /* LAMask.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B2167362579A81312BD36EE1A9F512C3 /* LAAnimatableColorValue.h in Headers */ = {isa = PBXBuildFile; fileRef = A2BEDD9079C2E7963A26DD51EFD98710 /* LAAnimatableColorValue.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9E9C212361C5F24F013B425FE9258F83 /* Lottie.h in Headers */ = {isa = PBXBuildFile; fileRef = CE4B9FCDC54EC85224D22196A7A41ED6 /* Lottie.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9EDDC3717F5EFF07B3A74D89F11A1403 /* lottie-ios-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B7EB62E6422B6FC6089CDCDC79BAC8B /* lottie-ios-iOS-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9F735427FD0D40F2520C70EDEF2BB74C /* NSValue+Compat.h in Headers */ = {isa = PBXBuildFile; fileRef = 8C0CF199DBDA2FF0021F5C2B8A011177 /* NSValue+Compat.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9FF49B1C6829CB16BD5DB8882A29B60A /* LOTAnimationView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8A157E1D06CC3E8A458366614657D561 /* LOTAnimationView.m */; }; + A0FAA7BFF3B0DDAA8533821938A60B22 /* LOTLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 0D575B6A057045C18575B20F98F4D18A /* LOTLayer.m */; }; + A35FBBB9C71A453A260B6C819AA00D8A /* LOTAnimatableShapeValue.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C0B1F1C5402C9CDAE8C6283236DF261 /* LOTAnimatableShapeValue.m */; }; + A54E6418675D4CA3123E62B4FD93192D /* LOTAnimatableShapeValue.h in Headers */ = {isa = PBXBuildFile; fileRef = D305577967DED96293EC6C38345DC9A4 /* LOTAnimatableShapeValue.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A79AFADC19D70226BACF2E8ED2CBB9D3 /* LOTLayerView.m in Sources */ = {isa = PBXBuildFile; fileRef = E3BD836A13C7315F253E1C974C81DDEC /* LOTLayerView.m */; }; + A972C8D4B5D0BFF794338049A47FBE1A /* CAAnimationGroup+LOTAnimatableGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = 7699768EF0DC404BD8D6AF609213BE75 /* CAAnimationGroup+LOTAnimatableGroup.h */; settings = {ATTRIBUTES = (Project, ); }; }; + AAB4BB60CC3237D11259AD486F2DDF0F /* NSValue+Compat.m in Sources */ = {isa = PBXBuildFile; fileRef = EF40B23B5398192F058B81F3891F1957 /* NSValue+Compat.m */; }; + ABC03D51A315BA0C16F2F08FB91E69C8 /* LOTAnimationView.h in Headers */ = {isa = PBXBuildFile; fileRef = 5BA2CC85F3E7C7289C79486D58E26E38 /* LOTAnimationView.h */; settings = {ATTRIBUTES = (Public, ); }; }; + AC23444263ED001DBFF7925905AD0186 /* LOTShapeLayerView.h in Headers */ = {isa = PBXBuildFile; fileRef = 16A063CC12991C8327B36E9D8C92CDC0 /* LOTShapeLayerView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + AE75578071B2423A9D351AF5476BE36F /* lottie-ios-OSX-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 143FBAE486947C2718AE48A507426B54 /* lottie-ios-OSX-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B040874C4D502AA92A4EE177EAD8A089 /* LOTAnimatableNumberValue.m in Sources */ = {isa = PBXBuildFile; fileRef = FE69BE134ECE00AF6BB1D925BA98D2B4 /* LOTAnimatableNumberValue.m */; }; + B0A242969AF80AB853FA7DB346A17489 /* LOTAnimationTransitionController.m in Sources */ = {isa = PBXBuildFile; fileRef = AD20C5D921D9FA9DB42FDEAAD80BD9B9 /* LOTAnimationTransitionController.m */; }; + B102C7FD4DB4F585DF33D0675A52C51E /* UIColor+Expanded.m in Sources */ = {isa = PBXBuildFile; fileRef = 9E30A18DA5453C1650631505E0326941 /* UIColor+Expanded.m */; }; + B249EF1D935C4AEC5838808CBE3496F1 /* LOTAnimationView_Compat.h in Headers */ = {isa = PBXBuildFile; fileRef = 241491BFBA2D90C0006294AE273D8916 /* LOTAnimationView_Compat.h */; settings = {ATTRIBUTES = (Public, ); }; }; B3CFE17627AD96132E88A45FBD85C4E4 /* Pods-Lottie-Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 4A9928BB42BD4378E9784E817BB6524C /* Pods-Lottie-Example-dummy.m */; }; - B40CDE0CDDFB42EEBD0B9EC4D7BD3DAC /* CADisplayLink.h in Headers */ = {isa = PBXBuildFile; fileRef = CF537C5754336A24E122FAD406DF6A14 /* CADisplayLink.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B565AA421C11BF16A273AA27F4ED8237 /* LAEllipseShapeLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = F789F9D12C8F82EB39D074280B707B74 /* LAEllipseShapeLayer.m */; }; + B6A5941F7E8B53F1E4926FD7716A00DE /* CALayer+Compat.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A6381396C315D89301561EC79224990 /* CALayer+Compat.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B6C5A67F95DB839A26C652F10A6F1BD1 /* LOTShapeFill.h in Headers */ = {isa = PBXBuildFile; fileRef = 22A9A522868796567DA90E0AF6891CB1 /* LOTShapeFill.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B829760989B99EBED6656CBC4ABF862F /* UIColor.h in Headers */ = {isa = PBXBuildFile; fileRef = DC3B1FA61F43E8C516B69F77E9CAF1D6 /* UIColor.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B8AAC78704A2F0877F35D54A5F44AEC2 /* UIBezierPath.h in Headers */ = {isa = PBXBuildFile; fileRef = CD4871E5F454687DB33E18C960BF502C /* UIBezierPath.h */; settings = {ATTRIBUTES = (Project, ); }; }; B8BCA47B1A77DF95917998D9085EFAA9 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7B84DD8BA444B84A5807EA458734DA5D /* Foundation.framework */; }; - BA0FE612718C7F44679024E93A67C969 /* LAShapeGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = AEE071F9D9D4F8785E5CCD0A5D9BD629 /* LAShapeGroup.m */; }; + BAF2A478D8415FFAD0C6AFEAD2F5C65E /* lottie-ios-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = FF09253EB0B902C0017CD74BABB9FF52 /* lottie-ios-iOS-dummy.m */; }; + BD0CE52E57F950D3E084CF4C5F8A8B2F /* LOTHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = 8E06AC3CC982685463EB8FB1A8A00077 /* LOTHelpers.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BE06083511248DC47F0AACFFE3FEFA4E /* NSValue+Compat.h in Headers */ = {isa = PBXBuildFile; fileRef = 8C0CF199DBDA2FF0021F5C2B8A011177 /* NSValue+Compat.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BF134B98B1B9D10C25342E2C29FB8765 /* LOTRectShapeLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 75C5259E6388E805DC9766C0042CD512 /* LOTRectShapeLayer.m */; }; BF2364687323F0302DB1E58FF63F27E1 /* CoreVideo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DFB9B48CA5FB64F65C9333F75A778DD2 /* CoreVideo.framework */; }; - C089E72FBF3005BCA10AC6E24E740701 /* LAMask.m in Sources */ = {isa = PBXBuildFile; fileRef = 42BAC24CC7B64A975739199B90652674 /* LAMask.m */; }; - C18CF98FF70FF9A3AA0176CC9828FCA5 /* CGGeometryAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = DA2328E5015A67E2D0EAFB8760405834 /* CGGeometryAdditions.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C1A8F54AFC9F46F238A13FBDA4CC915E /* LALayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D5B7866C927C7D0D2B0DF0511F536C1 /* LALayer.m */; }; - C287C27189A86CCAF27BE06889DF79E8 /* LAAnimatableShapeValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 8FE177F774CA086984F5F1E5216287C9 /* LAAnimatableShapeValue.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C3B7D2E745193CB6EF2C08B2D06E7CAC /* LAShapeFill.h in Headers */ = {isa = PBXBuildFile; fileRef = D202F619E99C2B98D97CCBFF025649EC /* LAShapeFill.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C46DD16EEE08DCD5C56578E8665BE212 /* LAAnimationTransitionController.h in Headers */ = {isa = PBXBuildFile; fileRef = D472A02BCE43AFFAA8ECC4D294DE5B8D /* LAAnimationTransitionController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C48AED9F7375F11616CE49703F2B18B7 /* UIColor+Expanded.m in Sources */ = {isa = PBXBuildFile; fileRef = CA84826E02421A5C6D358C85DB620A93 /* UIColor+Expanded.m */; }; - C5F8F35D23221887C19F5265C9C47D70 /* LAEllipseShapeLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 2DD06BD0A3F3D5F00FE848AF8A4A6F4E /* LAEllipseShapeLayer.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C61817FDC77BD6EF22B45F0C75CEE1D7 /* LAShapeFill.h in Headers */ = {isa = PBXBuildFile; fileRef = D202F619E99C2B98D97CCBFF025649EC /* LAShapeFill.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C8BBCFD0EE112B9731A5B5826032F757 /* LAMask.h in Headers */ = {isa = PBXBuildFile; fileRef = F0E0B35A67C266BEB014D3B254858A3E /* LAMask.h */; settings = {ATTRIBUTES = (Project, ); }; }; - CAE9757CEA166B6B09F91E90A0D750ED /* LAShapeTransform.m in Sources */ = {isa = PBXBuildFile; fileRef = FBAB0EAEF9C80B3C56E229F09B61B76B /* LAShapeTransform.m */; }; - D01F81BF32DD8A142446F9DE6C6B3077 /* CAAnimationGroup+LAAnimatableGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = 04A9AE61EDF30010E78A9645050B7E8E /* CAAnimationGroup+LAAnimatableGroup.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D533FAA1FCADD0D8720646EA565A158B /* LAAnimatableBoundsValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 82274F4DE9ADE4590DEE9890CB0843A6 /* LAAnimatableBoundsValue.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D6D8EAD297B6C115A19E8251F00F9E7D /* LAAnimationView.m in Sources */ = {isa = PBXBuildFile; fileRef = 946B6F0660E2C46FCE0CA21C57441C6A /* LAAnimationView.m */; }; - DB1FBA3AFD439B4A6944453681AF4C08 /* LAShapeTrimPath.m in Sources */ = {isa = PBXBuildFile; fileRef = E833FF4589EA36FB7F1188E3BACBAB62 /* LAShapeTrimPath.m */; }; - DBB15F6C50CFDC2E3C950367815AAE15 /* lottie-ios-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B7EB62E6422B6FC6089CDCDC79BAC8B /* lottie-ios-iOS-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - DE7561B4787AA37B40CFA87ACF925E66 /* LAShapePath.m in Sources */ = {isa = PBXBuildFile; fileRef = A76174ED58C64052E2CDD5DEDB3A5B78 /* LAShapePath.m */; }; - E2AF5D9B24315449F368CEA49CC3A767 /* LAShapeLayerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 420760288C7276D65879243F90148E30 /* LAShapeLayerView.m */; }; - E30F0801C5DACEE2BC835E590C967A1F /* LAAnimatableLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 0966AD065F5C14181484ECADAA8C907F /* LAAnimatableLayer.m */; }; - E57657E9977D0C5F02042320AC67B7E0 /* LAShapeStroke.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A0E3B6953C086AE38D2B02446542316 /* LAShapeStroke.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E6664D49454DEFEA0783ED54D0283F01 /* LAShapeGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = 9AE7674DA30DA22174CCC932F6FAF349 /* LAShapeGroup.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E7B3A01402ED6D125258032A01A07882 /* LAAnimatableColorValue.m in Sources */ = {isa = PBXBuildFile; fileRef = 57A403C734BF487BD347F49865BBFD9B /* LAAnimatableColorValue.m */; }; - E86C86F73BC730215BF32546403F7DEE /* LAAnimatableNumberValue.m in Sources */ = {isa = PBXBuildFile; fileRef = 8299ABA2556197A96AE752A320808B54 /* LAAnimatableNumberValue.m */; }; + BF7CF85D9D53A2325472C9CB84D401A4 /* LOTAnimatableLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 4C2A251B58207A63E0E49CDB3483F584 /* LOTAnimatableLayer.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BF971A24FED3B68FE4D1FD776BC47303 /* LOTAnimationTransitionController.m in Sources */ = {isa = PBXBuildFile; fileRef = AD20C5D921D9FA9DB42FDEAAD80BD9B9 /* LOTAnimationTransitionController.m */; }; + C11C61F03C917D78AFA0838A8E4412F6 /* LOTAnimatablePointValue.m in Sources */ = {isa = PBXBuildFile; fileRef = CC3C589944F8D998A78749A1AF85D8DE /* LOTAnimatablePointValue.m */; }; + C2F8ACA3161511701D310AD830AB73DA /* LOTShapeStroke.m in Sources */ = {isa = PBXBuildFile; fileRef = 16C8676DB5D0B04ECB624FF8744D0C1D /* LOTShapeStroke.m */; }; + C78083529E6F254FA5A439BB838361A5 /* CGGeometryAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 82F6132D0F382F569E146FA58E4DAA27 /* CGGeometryAdditions.m */; }; + C92D0AA32EE280340C0766FBA3C4F5B6 /* LOTAnimatableLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 6A356195F8E422F04DDBE0277E4B285C /* LOTAnimatableLayer.m */; }; + CED532CCB58213D9CC1B20F9E02358A0 /* LOTShapeGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = 08E2BE6E6F4E09DCAE63E77FA45E8D2F /* LOTShapeGroup.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CF2E359C8482BF80B812CA755D379321 /* LOTAnimatableScaleValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 3C037597573E9C79DE2ABBB5DEB7F38A /* LOTAnimatableScaleValue.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D04A90D3685A3B053D77E1F1A03EE84F /* LOTAnimationCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 262826A76F079A347BA24ABF06CDB0FE /* LOTAnimationCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D372F29803CAD25698550A30681CED5F /* LOTAnimationView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8A157E1D06CC3E8A458366614657D561 /* LOTAnimationView.m */; }; + D7441019D83407B7975F2CD33EE1E55E /* LOTAnimatableBoundsValue.m in Sources */ = {isa = PBXBuildFile; fileRef = EDFE7F79A4FF48FA8ECE09662E91458C /* LOTAnimatableBoundsValue.m */; }; + D7BA59A4D0507D575473765CF02F0233 /* LOTAnimatableLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 4C2A251B58207A63E0E49CDB3483F584 /* LOTAnimatableLayer.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D99E5F130A06004B71F0CCB62F2213AB /* LOTShapeTransform.m in Sources */ = {isa = PBXBuildFile; fileRef = 38B2CE628EFB134AA0142EB0242E07F8 /* LOTShapeTransform.m */; }; + DA138E1AC245BB30E51CE90933818034 /* LOTShapeCircle.m in Sources */ = {isa = PBXBuildFile; fileRef = D1421B31FDB7002847C13A501D089F59 /* LOTShapeCircle.m */; }; + DBD9A18F3667D4871E60D8460D206F6C /* LOTMaskLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 8592EA877C1B4E06F2DFBFDF38C1CBA7 /* LOTMaskLayer.m */; }; + DE18DEF2F477C19F7307C7690BEA554C /* LOTAnimationCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 5B28A1060F4CA73B2C8DECA596DC1415 /* LOTAnimationCache.m */; }; + E1E7AB1C22FF3517808A0F359915D1DE /* LOTLayerView.m in Sources */ = {isa = PBXBuildFile; fileRef = E3BD836A13C7315F253E1C974C81DDEC /* LOTLayerView.m */; }; + E2D5868DEC6CBB929B419FB3285731B1 /* LOTModels.h in Headers */ = {isa = PBXBuildFile; fileRef = B223A2DAC7F5B2F8C91EB3FD243FEDAC /* LOTModels.h */; settings = {ATTRIBUTES = (Project, ); }; }; E9EC2EEDB9D1F159DF490A5FE1BF26AE /* Pods-Lottie-Example-MacOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 906B715060F9EA341552EDB58A78F404 /* Pods-Lottie-Example-MacOS-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - EA95283A17BC694A59592BBF83F801AE /* NSValue+Compat.m in Sources */ = {isa = PBXBuildFile; fileRef = 627947A4AAEFFE8332FB1275E0022008 /* NSValue+Compat.m */; }; - EAAE79FBE06117F38602AAED294B8F4F /* LAAnimatableLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B3D997B28D82CB280938BE7921E75CF /* LAAnimatableLayer.h */; settings = {ATTRIBUTES = (Project, ); }; }; - EAEBA1A31881FE6BAC7428111CA85149 /* LAAnimationCache.h in Headers */ = {isa = PBXBuildFile; fileRef = DA6CF136ED58AE59DAB8D59065D07FCA /* LAAnimationCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; EBC245AB0E25EF6538049E8B6BB6D66A /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8F9FC62FF143AB6667CDD8163FCFDE1C /* Cocoa.framework */; }; - EC659D2D8F105BEBD6181A18AD390B6D /* LAAnimatableScaleValue.m in Sources */ = {isa = PBXBuildFile; fileRef = 2FEA58AEF5DCB8E826E345A247DEF800 /* LAAnimatableScaleValue.m */; }; - ED422F0A358E96D224813DDB82FBC15A /* LAAnimatableLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B3D997B28D82CB280938BE7921E75CF /* LAAnimatableLayer.h */; settings = {ATTRIBUTES = (Project, ); }; }; - EE12ED21C0878638B746B623801A657E /* LAShapeFill.m in Sources */ = {isa = PBXBuildFile; fileRef = 1C6F9DD05867FBA24AF55DE30C9C9CE2 /* LAShapeFill.m */; }; - F56D173D068AC20AE2FFB18021E51371 /* LAShapeRectangle.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FBD977212B8B998E67B22B73AE0ACEC /* LAShapeRectangle.m */; }; - F577303925D6D5E45D22F65C044F1EFC /* CALayer+Compat.h in Headers */ = {isa = PBXBuildFile; fileRef = CCC8915579E003A7E0CDA7B90202769D /* CALayer+Compat.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F57B3EAB2BD69D6E66F261718D10FBEE /* LAShapeCircle.m in Sources */ = {isa = PBXBuildFile; fileRef = A729DC4B15922CBF6596364C9C7DF0C5 /* LAShapeCircle.m */; }; - F88681F7B86A898FB57B6EC9C562C266 /* LAAnimatablePointValue.m in Sources */ = {isa = PBXBuildFile; fileRef = 0A1D575039F11F3C1C3D8FF041B809D1 /* LAAnimatablePointValue.m */; }; - F946DBDC74C4C2764660CD5C37AF87FB /* LAAnimatableNumberValue.m in Sources */ = {isa = PBXBuildFile; fileRef = 8299ABA2556197A96AE752A320808B54 /* LAAnimatableNumberValue.m */; }; - FC723022FAA4BDE3DDE41852430FB775 /* LAAnimatableColorValue.m in Sources */ = {isa = PBXBuildFile; fileRef = 57A403C734BF487BD347F49865BBFD9B /* LAAnimatableColorValue.m */; }; - FD40D7585B8D297306469CA28E055AAB /* LAHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = 1590619B0841C73302F209B4B6659645 /* LAHelpers.h */; settings = {ATTRIBUTES = (Project, ); }; }; + ECDD3CCBD0D77875471422D2558A9E71 /* LOTShapePath.h in Headers */ = {isa = PBXBuildFile; fileRef = CB61F2BE80BD7187C6BE417477BCE686 /* LOTShapePath.h */; settings = {ATTRIBUTES = (Project, ); }; }; + ECFF0DF0D7D8168BC81B98D4FFE56BAE /* LOTRectShapeLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 75C5259E6388E805DC9766C0042CD512 /* LOTRectShapeLayer.m */; }; + ED8BD061B14A26E55DA40C65C1FA9E45 /* LOTLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 0D575B6A057045C18575B20F98F4D18A /* LOTLayer.m */; }; + F40CEB5C21B543AA2F37258B9142B6FD /* LOTMask.m in Sources */ = {isa = PBXBuildFile; fileRef = AC40650D6C520AF8C62993627178E8B1 /* LOTMask.m */; }; + F796DAA7DD4E7F271892DC980D1FFE24 /* CADisplayLink.h in Headers */ = {isa = PBXBuildFile; fileRef = 32108CC0D27D536D0F888B4F25F6AA2C /* CADisplayLink.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F8B11FDB64FE7F3F5C70EE47BCA256A4 /* LOTAnimatableNumberValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 01413D3409AE058AF83BD2D62F93DD70 /* LOTAnimatableNumberValue.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F9110ACEA94C006A2B303F7A5D300341 /* LOTAnimatablePointValue.m in Sources */ = {isa = PBXBuildFile; fileRef = CC3C589944F8D998A78749A1AF85D8DE /* LOTAnimatablePointValue.m */; }; + F9FC80D505B823B40B2B00D5D3D070C6 /* LOTShapeCircle.h in Headers */ = {isa = PBXBuildFile; fileRef = 67A217DEE8582AD940BEAF7BA905E0BE /* LOTShapeCircle.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FB9D8FF758399BF0DDE29DF9D14FD18C /* LOTRectShapeLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = DC58AEDA92475F81D0AB0F7DFFE756B8 /* LOTRectShapeLayer.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FC2DFB5A3D8CA54CB00264F7DF5DBCA7 /* LOTShapeCircle.m in Sources */ = {isa = PBXBuildFile; fileRef = D1421B31FDB7002847C13A501D089F59 /* LOTShapeCircle.m */; }; + FCF6945890A6ECE3E662EAD107349713 /* LOTShapeGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = D2A37C29AA31036ACF0E3F7FB465FE25 /* LOTShapeGroup.m */; }; + FE2DC32922485C4B50CCBE025B7F219C /* LOTAnimatablePointValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 253B264574F52915783E6B9A79E1B0D7 /* LOTAnimatablePointValue.h */; settings = {ATTRIBUTES = (Project, ); }; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -199,134 +199,134 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 00BB4AA5C82A74418D3509F0748CF7E1 /* LAAnimatableShapeValue.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LAAnimatableShapeValue.m; sourceTree = ""; }; - 03BC13CD9C6A6035CB36680D0A10AA3E /* LAAnimationCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LAAnimationCache.m; sourceTree = ""; }; - 04A9AE61EDF30010E78A9645050B7E8E /* CAAnimationGroup+LAAnimatableGroup.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CAAnimationGroup+LAAnimatableGroup.h"; sourceTree = ""; }; - 057EB7B5AB0891C515A48F53B0D68C13 /* LAShapeCircle.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LAShapeCircle.h; sourceTree = ""; }; + 00D983F9220AE1924E72BFFEDBA59D4B /* LOTShapeRectangle.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTShapeRectangle.m; sourceTree = ""; }; + 01413D3409AE058AF83BD2D62F93DD70 /* LOTAnimatableNumberValue.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTAnimatableNumberValue.h; sourceTree = ""; }; + 05E770FF8A8E7B0E14EB69C241E457F8 /* LOTEllipseShapeLayer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTEllipseShapeLayer.m; sourceTree = ""; }; 066BD868B309BB71008F48B50699E933 /* Pods-lottie-ios_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-lottie-ios_Tests.release.xcconfig"; sourceTree = ""; }; - 0846A5585A87C560BED9F3D2AB283289 /* CAAnimationGroup+LAAnimatableGroup.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "CAAnimationGroup+LAAnimatableGroup.m"; sourceTree = ""; }; - 0966AD065F5C14181484ECADAA8C907F /* LAAnimatableLayer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LAAnimatableLayer.m; sourceTree = ""; }; - 09C9342D002179901B4854A44519F73D /* UIColor+Expanded.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIColor+Expanded.h"; sourceTree = ""; }; - 0A1D575039F11F3C1C3D8FF041B809D1 /* LAAnimatablePointValue.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LAAnimatablePointValue.m; sourceTree = ""; }; + 08E2BE6E6F4E09DCAE63E77FA45E8D2F /* LOTShapeGroup.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTShapeGroup.h; sourceTree = ""; }; 0A96091EB00499090690B5654D9CCF82 /* Pods_lottie_ios_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_lottie_ios_Tests.framework; path = "Pods-lottie-ios_Tests.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; + 0D575B6A057045C18575B20F98F4D18A /* LOTLayer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTLayer.m; sourceTree = ""; }; 143FBAE486947C2718AE48A507426B54 /* lottie-ios-OSX-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "lottie-ios-OSX-umbrella.h"; sourceTree = ""; }; 14ADE27E32C54F0871A81FF10F12F0B2 /* Pods-Lottie-Example-MacOS-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Lottie-Example-MacOS-resources.sh"; sourceTree = ""; }; - 150D33E3EF90BE45A866631A59509D3C /* CGGeometryAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CGGeometryAdditions.m; sourceTree = ""; }; - 1590619B0841C73302F209B4B6659645 /* LAHelpers.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LAHelpers.h; sourceTree = ""; }; - 15F0CFD52C7EEDA262166745EEDDA4FC /* LAAnimationView_Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LAAnimationView_Internal.h; sourceTree = ""; }; - 161E8724384284CEB2AEDB8A6029DD24 /* LAShapeLayerView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LAShapeLayerView.h; sourceTree = ""; }; + 16A063CC12991C8327B36E9D8C92CDC0 /* LOTShapeLayerView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTShapeLayerView.h; sourceTree = ""; }; + 16C8676DB5D0B04ECB624FF8744D0C1D /* LOTShapeStroke.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTShapeStroke.m; sourceTree = ""; }; 186BC3637E1E79D94ACCDCC95E358139 /* Pods-Lottie-Example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Lottie-Example-frameworks.sh"; sourceTree = ""; }; - 1C6F9DD05867FBA24AF55DE30C9C9CE2 /* LAShapeFill.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LAShapeFill.m; sourceTree = ""; }; + 199792E3A60E47FA2A14B052B41C0E33 /* LOTAnimationTransitionController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTAnimationTransitionController.h; sourceTree = ""; }; 1CFEB0E1C0C1055A3411B98D51161788 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 1D026EFE442CC845F08509D94D1DC02D /* Pods-lottie-ios_Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-lottie-ios_Tests-dummy.m"; sourceTree = ""; }; - 1D5B7866C927C7D0D2B0DF0511F536C1 /* LALayer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LALayer.m; sourceTree = ""; }; + 2221C72141CA0F9E4A74F081D3487A50 /* CALayer+Compat.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "CALayer+Compat.m"; sourceTree = ""; }; 2245129E598EB9DC78D8E5E981507C52 /* lottie-ios-iOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "lottie-ios-iOS.xcconfig"; path = "../lottie-ios-iOS/lottie-ios-iOS.xcconfig"; sourceTree = ""; }; + 22A9A522868796567DA90E0AF6891CB1 /* LOTShapeFill.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTShapeFill.h; sourceTree = ""; }; + 2402E6969E0AFB8E46A9C0BDDA843894 /* LOTShapeTrimPath.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTShapeTrimPath.h; sourceTree = ""; }; + 241491BFBA2D90C0006294AE273D8916 /* LOTAnimationView_Compat.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTAnimationView_Compat.h; sourceTree = ""; }; 24787644A116CDE813D8A8BA713028BE /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; name = Info.plist; path = "../lottie-ios-iOS/Info.plist"; sourceTree = ""; }; - 258741D3F54E11EC0A573728DC09BA0D /* LAAnimatableScaleValue.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LAAnimatableScaleValue.h; sourceTree = ""; }; - 263BD953EED2E6F8429D8D97CB2F4AF1 /* LAAnimatablePointValue.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LAAnimatablePointValue.h; sourceTree = ""; }; + 253B264574F52915783E6B9A79E1B0D7 /* LOTAnimatablePointValue.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTAnimatablePointValue.h; sourceTree = ""; }; + 262826A76F079A347BA24ABF06CDB0FE /* LOTAnimationCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTAnimationCache.h; sourceTree = ""; }; 26C7DE5BE1E84A1527B5D5FFB1789349 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 283CCF83DE08CC09D1A75FFDC1E80AC2 /* lottie-ios-OSX.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "lottie-ios-OSX.xcconfig"; sourceTree = ""; }; 2A0CC55D11A791A4361B86F63BE68CB7 /* Pods-lottie-ios_Tests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-lottie-ios_Tests-umbrella.h"; sourceTree = ""; }; - 2DD06BD0A3F3D5F00FE848AF8A4A6F4E /* LAEllipseShapeLayer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LAEllipseShapeLayer.h; sourceTree = ""; }; + 2B4F91019A41754A4617A095209FAEFB /* LOTShapeLayerView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTShapeLayerView.m; sourceTree = ""; }; 2E7978B0FE4ABEF65AB16645DB333515 /* Pods-Lottie-Example-MacOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Lottie-Example-MacOS.debug.xcconfig"; sourceTree = ""; }; - 2FEA58AEF5DCB8E826E345A247DEF800 /* LAAnimatableScaleValue.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LAAnimatableScaleValue.m; sourceTree = ""; }; - 32479591B8F19BD0CBE9F774D15389D8 /* LAShapeStroke.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LAShapeStroke.m; sourceTree = ""; }; - 345C024753303F2F5BD3228052384331 /* LAShapeTrimPath.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LAShapeTrimPath.h; sourceTree = ""; }; + 32108CC0D27D536D0F888B4F25F6AA2C /* CADisplayLink.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CADisplayLink.h; sourceTree = ""; }; + 38381CAF32A9CDF031A158D9B0972F9F /* LOTAnimatableScaleValue.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTAnimatableScaleValue.m; sourceTree = ""; }; 38B1EFB75C34BAD5A5CA0B1864428B42 /* Pods_Lottie_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_Lottie_Example.framework; path = "Pods-Lottie-Example.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; + 38B2CE628EFB134AA0142EB0242E07F8 /* LOTShapeTransform.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTShapeTransform.m; sourceTree = ""; }; 39945EB608BBD749FA4F5C044342CFE7 /* lottie-ios-OSX.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = "lottie-ios-OSX.modulemap"; sourceTree = ""; }; - 39B58225E651D481B640659502D58F65 /* LAShapeTransform.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LAShapeTransform.h; sourceTree = ""; }; + 39E7B78BCCA33785D07745351D00BCBF /* LOTShapeTransform.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTShapeTransform.h; sourceTree = ""; }; + 3AEBDBAF944DA2750D70B10BA38CDC3C /* LOTEllipseShapeLayer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTEllipseShapeLayer.h; sourceTree = ""; }; + 3C037597573E9C79DE2ABBB5DEB7F38A /* LOTAnimatableScaleValue.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTAnimatableScaleValue.h; sourceTree = ""; }; 3ED39BAEA78A76BB031647F4E01D9689 /* Pods-Lottie-Example-MacOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = "Pods-Lottie-Example-MacOS.modulemap"; sourceTree = ""; }; 3FC6C122778B882931A442F9B6AAE024 /* lottie-ios-OSX-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "lottie-ios-OSX-prefix.pch"; sourceTree = ""; }; - 420760288C7276D65879243F90148E30 /* LAShapeLayerView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LAShapeLayerView.m; sourceTree = ""; }; - 42BAC24CC7B64A975739199B90652674 /* LAMask.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LAMask.m; sourceTree = ""; }; - 435B68E5D2D868147AF17A75E1F57DB7 /* LARectShapeLayer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LARectShapeLayer.m; sourceTree = ""; }; - 47C06138CD8F1D8AF8C690C81CF1F3CD /* LALayerView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LALayerView.m; sourceTree = ""; }; + 4897935C31F44A855C225490165F579E /* CAAnimationGroup+LOTAnimatableGroup.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "CAAnimationGroup+LOTAnimatableGroup.m"; sourceTree = ""; }; 4A9928BB42BD4378E9784E817BB6524C /* Pods-Lottie-Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-Lottie-Example-dummy.m"; sourceTree = ""; }; - 4B3D997B28D82CB280938BE7921E75CF /* LAAnimatableLayer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LAAnimatableLayer.h; sourceTree = ""; }; + 4B9ACDB072FB0C36A0AA901C2AB0A7F4 /* LOTMaskLayer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTMaskLayer.h; sourceTree = ""; }; + 4C2A251B58207A63E0E49CDB3483F584 /* LOTAnimatableLayer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTAnimatableLayer.h; sourceTree = ""; }; 4EB1C51ABEB93789541905240DF926E8 /* Pods-Lottie-Example-MacOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-Lottie-Example-MacOS-dummy.m"; sourceTree = ""; }; - 52261001EAFC60D9CB90F856BF509706 /* Lottie.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = Lottie.h; sourceTree = ""; }; - 57A403C734BF487BD347F49865BBFD9B /* LAAnimatableColorValue.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LAAnimatableColorValue.m; sourceTree = ""; }; + 526AC75B26148609F730E814A6E6F8CE /* LOTShapeFill.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTShapeFill.m; sourceTree = ""; }; 5A1DB1E8BAD6E7AFD306C8D64417AA00 /* Pods-lottie-ios_Tests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = "Pods-lottie-ios_Tests.modulemap"; sourceTree = ""; }; - 5AF587B1E1C5510378FE74675F04A389 /* LAPlatformCompat.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LAPlatformCompat.h; sourceTree = ""; }; - 5EB078A3C908F5AC8D41C6691DB53EEA /* LAAnimatableValue.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LAAnimatableValue.h; sourceTree = ""; }; - 627947A4AAEFFE8332FB1275E0022008 /* NSValue+Compat.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSValue+Compat.m"; sourceTree = ""; }; + 5B28A1060F4CA73B2C8DECA596DC1415 /* LOTAnimationCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTAnimationCache.m; sourceTree = ""; }; + 5BA2CC85F3E7C7289C79486D58E26E38 /* LOTAnimationView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTAnimationView.h; sourceTree = ""; }; + 5FBF1CDED2D52DF6430B4E8BB3F0B650 /* UIBezierPath.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = UIBezierPath.m; sourceTree = ""; }; + 604821344D6182F76D74EAFC3DC8A31B /* LOTLayerView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTLayerView.h; sourceTree = ""; }; 62E0D5D410342ABD17CE0F0D9D02C05A /* Pods-Lottie-Example-MacOS-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Lottie-Example-MacOS-frameworks.sh"; sourceTree = ""; }; 63E8A32304416366E7C4FC7A2D6C3A08 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/AppKit.framework; sourceTree = DEVELOPER_DIR; }; + 67A217DEE8582AD940BEAF7BA905E0BE /* LOTShapeCircle.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTShapeCircle.h; sourceTree = ""; }; 691E5DA7E296E61F6161698A496BC899 /* Pods-Lottie-Example-MacOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Lottie-Example-MacOS.release.xcconfig"; sourceTree = ""; }; - 6B2AFB7FED0BCB96137645BEF578B074 /* LAMaskLayer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LAMaskLayer.h; sourceTree = ""; }; + 6A356195F8E422F04DDBE0277E4B285C /* LOTAnimatableLayer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTAnimatableLayer.m; sourceTree = ""; }; 6B5F9B4E3DAA22F8E999F14F7223385F /* Pods-lottie-ios_Tests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-lottie-ios_Tests-resources.sh"; sourceTree = ""; }; 7421CFD687F17710731C740FFE50CF08 /* Pods-Lottie-Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Lottie-Example.release.xcconfig"; sourceTree = ""; }; - 7A0E3B6953C086AE38D2B02446542316 /* LAShapeStroke.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LAShapeStroke.h; sourceTree = ""; }; - 7B256F4A01324853F3D536D9BD97CCBA /* LAShapePath.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LAShapePath.h; sourceTree = ""; }; + 75C5259E6388E805DC9766C0042CD512 /* LOTRectShapeLayer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTRectShapeLayer.m; sourceTree = ""; }; + 7699768EF0DC404BD8D6AF609213BE75 /* CAAnimationGroup+LOTAnimatableGroup.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CAAnimationGroup+LOTAnimatableGroup.h"; sourceTree = ""; }; + 7725F4F35EFB1A561204B8B714BF14FA /* UIColor+Expanded.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIColor+Expanded.h"; sourceTree = ""; }; + 7A6381396C315D89301561EC79224990 /* CALayer+Compat.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CALayer+Compat.h"; sourceTree = ""; }; 7B84DD8BA444B84A5807EA458734DA5D /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; - 82274F4DE9ADE4590DEE9890CB0843A6 /* LAAnimatableBoundsValue.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LAAnimatableBoundsValue.h; sourceTree = ""; }; - 8299ABA2556197A96AE752A320808B54 /* LAAnimatableNumberValue.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LAAnimatableNumberValue.m; sourceTree = ""; }; + 82F6132D0F382F569E146FA58E4DAA27 /* CGGeometryAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CGGeometryAdditions.m; sourceTree = ""; }; + 83C8E46C27F65CF9753008BA18A44A91 /* LOTGroupLayerView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTGroupLayerView.h; sourceTree = ""; }; + 84A82B58FA427565C666E5DA0D725093 /* LOTAnimatableBoundsValue.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTAnimatableBoundsValue.h; sourceTree = ""; }; + 853ADCB5AF0B129F0F8521140BB3F6B8 /* CGGeometryAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CGGeometryAdditions.h; sourceTree = ""; }; + 8592EA877C1B4E06F2DFBFDF38C1CBA7 /* LOTMaskLayer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTMaskLayer.m; sourceTree = ""; }; 882BD1ABCEEB35BB434E09E1341BED91 /* Lottie.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Lottie.framework; path = "lottie-ios-OSX.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; - 89C1EE73ADB8B76F7F0D7227A3DA0053 /* UIBezierPath.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = UIBezierPath.h; sourceTree = ""; }; + 8A157E1D06CC3E8A458366614657D561 /* LOTAnimationView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTAnimationView.m; sourceTree = ""; }; 8A2B53D7CFE2D3FE84ABAC705C3CF685 /* Lottie.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Lottie.framework; path = "lottie-ios-iOS.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; + 8C0B1F1C5402C9CDAE8C6283236DF261 /* LOTAnimatableShapeValue.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTAnimatableShapeValue.m; sourceTree = ""; }; + 8C0CF199DBDA2FF0021F5C2B8A011177 /* NSValue+Compat.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSValue+Compat.h"; sourceTree = ""; }; + 8D27B4F779C6777D529D7ECF8C2F7818 /* UIColor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = UIColor.m; sourceTree = ""; }; + 8E06AC3CC982685463EB8FB1A8A00077 /* LOTHelpers.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTHelpers.h; sourceTree = ""; }; 8F9FC62FF143AB6667CDD8163FCFDE1C /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/Cocoa.framework; sourceTree = DEVELOPER_DIR; }; - 8FBD977212B8B998E67B22B73AE0ACEC /* LAShapeRectangle.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LAShapeRectangle.m; sourceTree = ""; }; - 8FE177F774CA086984F5F1E5216287C9 /* LAAnimatableShapeValue.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LAAnimatableShapeValue.h; sourceTree = ""; }; 906B715060F9EA341552EDB58A78F404 /* Pods-Lottie-Example-MacOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-Lottie-Example-MacOS-umbrella.h"; sourceTree = ""; }; + 91320FA54A945B0D6F0DA1360E66F4EA /* LOTLayer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTLayer.h; sourceTree = ""; }; + 914E38365E034D0D2874EAB4410B0ED0 /* LOTComposition.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTComposition.m; sourceTree = ""; }; 9305388DE27FE56411AAA529995B63B3 /* Pods-lottie-ios_Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-lottie-ios_Tests-acknowledgements.markdown"; sourceTree = ""; }; 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 946B6F0660E2C46FCE0CA21C57441C6A /* LAAnimationView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LAAnimationView.m; sourceTree = ""; }; - 9643758EE0880EA5E1E7A3B8FA0B5C4F /* LAMaskLayer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LAMaskLayer.m; sourceTree = ""; }; 96B69884AAD3903EDA2E34D16F0BA362 /* lottie-ios-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; name = "lottie-ios-iOS.modulemap"; path = "../lottie-ios-iOS/lottie-ios-iOS.modulemap"; sourceTree = ""; }; - 9729EB695B9B3CB45539738BC477E081 /* LAComposition.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LAComposition.h; sourceTree = ""; }; 98C88FF85E1094A3128BC98CB154A777 /* Pods-Lottie-Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = "Pods-Lottie-Example.modulemap"; sourceTree = ""; }; 99D3B5659E588C8AEE2472D2DE00DCC0 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 9AE7674DA30DA22174CCC932F6FAF349 /* LAShapeGroup.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LAShapeGroup.h; sourceTree = ""; }; 9B7EB62E6422B6FC6089CDCDC79BAC8B /* lottie-ios-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "lottie-ios-iOS-umbrella.h"; path = "../lottie-ios-iOS/lottie-ios-iOS-umbrella.h"; sourceTree = ""; }; - 9D6996FEA90472D5190E82B5BD837AAD /* LAAnimationView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LAAnimationView.h; sourceTree = ""; }; - A2BEDD9079C2E7963A26DD51EFD98710 /* LAAnimatableColorValue.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LAAnimatableColorValue.h; sourceTree = ""; }; - A4C4F62FA0BF2C9BF8269A4F6E79E80F /* LAComposition.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LAComposition.m; sourceTree = ""; }; - A6FC9892A39A424B3BF2E4E3375B341F /* CALayer+Compat.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "CALayer+Compat.m"; sourceTree = ""; }; - A729DC4B15922CBF6596364C9C7DF0C5 /* LAShapeCircle.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LAShapeCircle.m; sourceTree = ""; }; - A76174ED58C64052E2CDD5DEDB3A5B78 /* LAShapePath.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LAShapePath.m; sourceTree = ""; }; + 9E30A18DA5453C1650631505E0326941 /* UIColor+Expanded.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIColor+Expanded.m"; sourceTree = ""; }; + A0ECC7A860BB0872BA8C550EC14492D8 /* LOTAnimatableColorValue.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTAnimatableColorValue.m; sourceTree = ""; }; A7DF8965603F9BCC1A858825A49A011C /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; A8B7943757B6273E76BA0133FF4C7DCD /* Pods_Lottie_Example_MacOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_Lottie_Example_MacOS.framework; path = "Pods-Lottie-Example-MacOS.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; A9D277A9571B164AC05DE2592DD336D8 /* Pods-Lottie-Example-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Lottie-Example-resources.sh"; sourceTree = ""; }; - AD6374C4150B9A720B0BCA0CFAAA28C9 /* LAGroupLayerView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LAGroupLayerView.m; sourceTree = ""; }; - AEE071F9D9D4F8785E5CCD0A5D9BD629 /* LAShapeGroup.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LAShapeGroup.m; sourceTree = ""; }; + AA3D46A24675B28BBB71E39E7D1548DF /* LOTAnimatableValue.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTAnimatableValue.h; sourceTree = ""; }; + AC40650D6C520AF8C62993627178E8B1 /* LOTMask.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTMask.m; sourceTree = ""; }; + AD20C5D921D9FA9DB42FDEAAD80BD9B9 /* LOTAnimationTransitionController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTAnimationTransitionController.m; sourceTree = ""; }; + AD68BCD99A3BAB6952BFFA509F44354F /* LOTShapeRectangle.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTShapeRectangle.h; sourceTree = ""; }; + B223A2DAC7F5B2F8C91EB3FD243FEDAC /* LOTModels.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTModels.h; sourceTree = ""; }; B39824F0377E4F493390169F20C1E3FC /* Pods-lottie-ios_Tests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-lottie-ios_Tests-frameworks.sh"; sourceTree = ""; }; - B55829B0C67F90AD7BA07A190AC460CC /* LAAnimationTransitionController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LAAnimationTransitionController.m; sourceTree = ""; }; - B6180C84735EBE49AFAE3B70D4E19F35 /* LAAnimatableNumberValue.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LAAnimatableNumberValue.h; sourceTree = ""; }; - B7C33198914C3009934260E1B16040BF /* LARectShapeLayer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LARectShapeLayer.h; sourceTree = ""; }; + B758F16C1930B57D432706DF7B9D2107 /* LOTComposition.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTComposition.h; sourceTree = ""; }; B9C926B498D73B1C3824C2B9732454E3 /* lottie-ios-OSX-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "lottie-ios-OSX-dummy.m"; sourceTree = ""; }; - BA7661FFFABA02A2ED5F73C725A372C3 /* LALayer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LALayer.h; sourceTree = ""; }; - BA8FCEB16DBF22BE687E93B629705410 /* LALayerView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LALayerView.h; sourceTree = ""; }; BC4C4DE410D328A09496CEFDB2143DD1 /* Pods-Lottie-Example-MacOS-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-Lottie-Example-MacOS-acknowledgements.markdown"; sourceTree = ""; }; - BE50F8CE9CCF76F0B6B8654C81CEDBB8 /* UIColor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = UIColor.m; sourceTree = ""; }; + BF3B26BFAA29E7FB2EE8E343D0152E8F /* LOTGroupLayerView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTGroupLayerView.m; sourceTree = ""; }; C1D12FF588125789C1846CB81A2CFDD1 /* Pods-Lottie-Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Lottie-Example-acknowledgements.plist"; sourceTree = ""; }; C3B4255105642AC73947FB028D69B973 /* Pods-lottie-ios_Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-lottie-ios_Tests-acknowledgements.plist"; sourceTree = ""; }; + C9287847F55C9BB5ACDCC93EF8CFB756 /* CADisplayLink.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CADisplayLink.m; sourceTree = ""; }; + C92C075B346BCA3EC4B839F609409328 /* LOTAnimationView_Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTAnimationView_Internal.h; sourceTree = ""; }; C9A0BB696DAB4D23402E4F92E8A879B0 /* Pods-Lottie-Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Lottie-Example.debug.xcconfig"; sourceTree = ""; }; CA13E2F72B2A84E8D774F18DD936CA54 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; }; - CA84826E02421A5C6D358C85DB620A93 /* UIColor+Expanded.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIColor+Expanded.m"; sourceTree = ""; }; - CCC8915579E003A7E0CDA7B90202769D /* CALayer+Compat.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CALayer+Compat.h"; sourceTree = ""; }; - CF537C5754336A24E122FAD406DF6A14 /* CADisplayLink.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CADisplayLink.h; sourceTree = ""; }; + CB61F2BE80BD7187C6BE417477BCE686 /* LOTShapePath.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTShapePath.h; sourceTree = ""; }; + CC3C589944F8D998A78749A1AF85D8DE /* LOTAnimatablePointValue.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTAnimatablePointValue.m; sourceTree = ""; }; + CC95B50AA209CF058AC6E93A5F6CE158 /* LOTShapeStroke.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTShapeStroke.h; sourceTree = ""; }; + CCFB05FD8351F6DF6D9DB1678426591E /* LOTMask.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTMask.h; sourceTree = ""; }; + CD4871E5F454687DB33E18C960BF502C /* UIBezierPath.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = UIBezierPath.h; sourceTree = ""; }; + CE4B9FCDC54EC85224D22196A7A41ED6 /* Lottie.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = Lottie.h; sourceTree = ""; }; + CE52B7DFC45D9FAE2D726F19A4E3F16C /* LOTAnimatableColorValue.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTAnimatableColorValue.h; sourceTree = ""; }; D01C3D077402D16057DAEA57E91EFD7D /* Pods-lottie-ios_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-lottie-ios_Tests.debug.xcconfig"; sourceTree = ""; }; D10298087CCB7A83FB5C9FA172072C11 /* lottie-ios-iOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "lottie-ios-iOS-prefix.pch"; path = "../lottie-ios-iOS/lottie-ios-iOS-prefix.pch"; sourceTree = ""; }; - D202F619E99C2B98D97CCBFF025649EC /* LAShapeFill.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LAShapeFill.h; sourceTree = ""; }; - D472A02BCE43AFFAA8ECC4D294DE5B8D /* LAAnimationTransitionController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LAAnimationTransitionController.h; sourceTree = ""; }; - D5746E9272F05894B0DFBF3385B3D054 /* UIColor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = UIColor.h; sourceTree = ""; }; - D9DB96AFA9547620017B0B3D93D0AFDB /* UIBezierPath.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = UIBezierPath.m; sourceTree = ""; }; - DA2328E5015A67E2D0EAFB8760405834 /* CGGeometryAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CGGeometryAdditions.h; sourceTree = ""; }; - DA6CF136ED58AE59DAB8D59065D07FCA /* LAAnimationCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LAAnimationCache.h; sourceTree = ""; }; + D1421B31FDB7002847C13A501D089F59 /* LOTShapeCircle.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTShapeCircle.m; sourceTree = ""; }; + D1D24446F8E73757845407CAE1469E94 /* LOTShapePath.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTShapePath.m; sourceTree = ""; }; + D2A37C29AA31036ACF0E3F7FB465FE25 /* LOTShapeGroup.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTShapeGroup.m; sourceTree = ""; }; + D305577967DED96293EC6C38345DC9A4 /* LOTAnimatableShapeValue.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTAnimatableShapeValue.h; sourceTree = ""; }; DC35AF8DD0BA3955397A629F2DAB90CE /* Pods-Lottie-Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-Lottie-Example-acknowledgements.markdown"; sourceTree = ""; }; + DC3B1FA61F43E8C516B69F77E9CAF1D6 /* UIColor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = UIColor.h; sourceTree = ""; }; + DC58AEDA92475F81D0AB0F7DFFE756B8 /* LOTRectShapeLayer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTRectShapeLayer.h; sourceTree = ""; }; DFB9B48CA5FB64F65C9333F75A778DD2 /* CoreVideo.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreVideo.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/CoreVideo.framework; sourceTree = DEVELOPER_DIR; }; - E0E9E52D362EFDD9AD546B0C35F8955B /* NSValue+Compat.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSValue+Compat.h"; sourceTree = ""; }; - E28FE9DD11EF37DFC9FFB74C2D6AB9E9 /* CADisplayLink.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CADisplayLink.m; sourceTree = ""; }; - E50E712403469BBBEC9770ABFC5F518A /* LAGroupLayerView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LAGroupLayerView.h; sourceTree = ""; }; - E833FF4589EA36FB7F1188E3BACBAB62 /* LAShapeTrimPath.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LAShapeTrimPath.m; sourceTree = ""; }; - E9D93897CED27201D99C74890A61D2E7 /* LAAnimationView_Compat.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LAAnimationView_Compat.h; sourceTree = ""; }; - ECB0AD90A3501C2ABC05788EEB5B5A44 /* LAAnimatableBoundsValue.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LAAnimatableBoundsValue.m; sourceTree = ""; }; + E3BD836A13C7315F253E1C974C81DDEC /* LOTLayerView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTLayerView.m; sourceTree = ""; }; + EDFE7F79A4FF48FA8ECE09662E91458C /* LOTAnimatableBoundsValue.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTAnimatableBoundsValue.m; sourceTree = ""; }; EF3671BEFBC2DE55C261520886C5AFC4 /* Pods-Lottie-Example-MacOS-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Lottie-Example-MacOS-acknowledgements.plist"; sourceTree = ""; }; - F0E0B35A67C266BEB014D3B254858A3E /* LAMask.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LAMask.h; sourceTree = ""; }; - F289321165E81FC6F4B2E4C06C3AB4D8 /* LAModels.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LAModels.h; sourceTree = ""; }; - F789F9D12C8F82EB39D074280B707B74 /* LAEllipseShapeLayer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LAEllipseShapeLayer.m; sourceTree = ""; }; - F7D66821AA5EE5BB26108ED46C391E19 /* LAShapeRectangle.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LAShapeRectangle.h; sourceTree = ""; }; - FBAB0EAEF9C80B3C56E229F09B61B76B /* LAShapeTransform.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LAShapeTransform.m; sourceTree = ""; }; + EF40B23B5398192F058B81F3891F1957 /* NSValue+Compat.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSValue+Compat.m"; sourceTree = ""; }; + F24E0C925C4270DDE18CBB23F53F913E /* LOTPlatformCompat.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LOTPlatformCompat.h; sourceTree = ""; }; + FB91CE9C7E1A07615CAC506178729716 /* LOTShapeTrimPath.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTShapeTrimPath.m; sourceTree = ""; }; + FE69BE134ECE00AF6BB1D925BA98D2B4 /* LOTAnimatableNumberValue.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LOTAnimatableNumberValue.m; sourceTree = ""; }; FF09253EB0B902C0017CD74BABB9FF52 /* lottie-ios-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "lottie-ios-iOS-dummy.m"; path = "../lottie-ios-iOS/lottie-ios-iOS-dummy.m"; sourceTree = ""; }; FF91F9344AF5B9FAEB941DAFB89A1A43 /* Pods-Lottie-Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-Lottie-Example-umbrella.h"; sourceTree = ""; }; /* End PBXFileReference section */ @@ -378,6 +378,27 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + 1BFB6AF8269497D6F4AC1B8DE971055A /* AnimatableProperties */ = { + isa = PBXGroup; + children = ( + 84A82B58FA427565C666E5DA0D725093 /* LOTAnimatableBoundsValue.h */, + EDFE7F79A4FF48FA8ECE09662E91458C /* LOTAnimatableBoundsValue.m */, + CE52B7DFC45D9FAE2D726F19A4E3F16C /* LOTAnimatableColorValue.h */, + A0ECC7A860BB0872BA8C550EC14492D8 /* LOTAnimatableColorValue.m */, + 01413D3409AE058AF83BD2D62F93DD70 /* LOTAnimatableNumberValue.h */, + FE69BE134ECE00AF6BB1D925BA98D2B4 /* LOTAnimatableNumberValue.m */, + 253B264574F52915783E6B9A79E1B0D7 /* LOTAnimatablePointValue.h */, + CC3C589944F8D998A78749A1AF85D8DE /* LOTAnimatablePointValue.m */, + 3C037597573E9C79DE2ABBB5DEB7F38A /* LOTAnimatableScaleValue.h */, + 38381CAF32A9CDF031A158D9B0972F9F /* LOTAnimatableScaleValue.m */, + D305577967DED96293EC6C38345DC9A4 /* LOTAnimatableShapeValue.h */, + 8C0B1F1C5402C9CDAE8C6283236DF261 /* LOTAnimatableShapeValue.m */, + AA3D46A24675B28BBB71E39E7D1548DF /* LOTAnimatableValue.h */, + ); + name = AnimatableProperties; + path = AnimatableProperties; + sourceTree = ""; + }; 26342C9887425AAD969E2A28B5DBF666 /* iOS */ = { isa = PBXGroup; children = ( @@ -387,88 +408,6 @@ name = iOS; sourceTree = ""; }; - 35A1688F1BC6D227C7EE82DBE8260052 /* Classes */ = { - isa = PBXGroup; - children = ( - 04A9AE61EDF30010E78A9645050B7E8E /* CAAnimationGroup+LAAnimatableGroup.h */, - 0846A5585A87C560BED9F3D2AB283289 /* CAAnimationGroup+LAAnimatableGroup.m */, - CF537C5754336A24E122FAD406DF6A14 /* CADisplayLink.h */, - E28FE9DD11EF37DFC9FFB74C2D6AB9E9 /* CADisplayLink.m */, - CCC8915579E003A7E0CDA7B90202769D /* CALayer+Compat.h */, - A6FC9892A39A424B3BF2E4E3375B341F /* CALayer+Compat.m */, - DA2328E5015A67E2D0EAFB8760405834 /* CGGeometryAdditions.h */, - 150D33E3EF90BE45A866631A59509D3C /* CGGeometryAdditions.m */, - 82274F4DE9ADE4590DEE9890CB0843A6 /* LAAnimatableBoundsValue.h */, - ECB0AD90A3501C2ABC05788EEB5B5A44 /* LAAnimatableBoundsValue.m */, - A2BEDD9079C2E7963A26DD51EFD98710 /* LAAnimatableColorValue.h */, - 57A403C734BF487BD347F49865BBFD9B /* LAAnimatableColorValue.m */, - 4B3D997B28D82CB280938BE7921E75CF /* LAAnimatableLayer.h */, - 0966AD065F5C14181484ECADAA8C907F /* LAAnimatableLayer.m */, - B6180C84735EBE49AFAE3B70D4E19F35 /* LAAnimatableNumberValue.h */, - 8299ABA2556197A96AE752A320808B54 /* LAAnimatableNumberValue.m */, - 263BD953EED2E6F8429D8D97CB2F4AF1 /* LAAnimatablePointValue.h */, - 0A1D575039F11F3C1C3D8FF041B809D1 /* LAAnimatablePointValue.m */, - 258741D3F54E11EC0A573728DC09BA0D /* LAAnimatableScaleValue.h */, - 2FEA58AEF5DCB8E826E345A247DEF800 /* LAAnimatableScaleValue.m */, - 8FE177F774CA086984F5F1E5216287C9 /* LAAnimatableShapeValue.h */, - 00BB4AA5C82A74418D3509F0748CF7E1 /* LAAnimatableShapeValue.m */, - 5EB078A3C908F5AC8D41C6691DB53EEA /* LAAnimatableValue.h */, - DA6CF136ED58AE59DAB8D59065D07FCA /* LAAnimationCache.h */, - 03BC13CD9C6A6035CB36680D0A10AA3E /* LAAnimationCache.m */, - B55829B0C67F90AD7BA07A190AC460CC /* LAAnimationTransitionController.m */, - 946B6F0660E2C46FCE0CA21C57441C6A /* LAAnimationView.m */, - 15F0CFD52C7EEDA262166745EEDDA4FC /* LAAnimationView_Internal.h */, - 9729EB695B9B3CB45539738BC477E081 /* LAComposition.h */, - A4C4F62FA0BF2C9BF8269A4F6E79E80F /* LAComposition.m */, - 2DD06BD0A3F3D5F00FE848AF8A4A6F4E /* LAEllipseShapeLayer.h */, - F789F9D12C8F82EB39D074280B707B74 /* LAEllipseShapeLayer.m */, - E50E712403469BBBEC9770ABFC5F518A /* LAGroupLayerView.h */, - AD6374C4150B9A720B0BCA0CFAAA28C9 /* LAGroupLayerView.m */, - 1590619B0841C73302F209B4B6659645 /* LAHelpers.h */, - BA7661FFFABA02A2ED5F73C725A372C3 /* LALayer.h */, - 1D5B7866C927C7D0D2B0DF0511F536C1 /* LALayer.m */, - BA8FCEB16DBF22BE687E93B629705410 /* LALayerView.h */, - 47C06138CD8F1D8AF8C690C81CF1F3CD /* LALayerView.m */, - F0E0B35A67C266BEB014D3B254858A3E /* LAMask.h */, - 42BAC24CC7B64A975739199B90652674 /* LAMask.m */, - 6B2AFB7FED0BCB96137645BEF578B074 /* LAMaskLayer.h */, - 9643758EE0880EA5E1E7A3B8FA0B5C4F /* LAMaskLayer.m */, - F289321165E81FC6F4B2E4C06C3AB4D8 /* LAModels.h */, - 5AF587B1E1C5510378FE74675F04A389 /* LAPlatformCompat.h */, - B7C33198914C3009934260E1B16040BF /* LARectShapeLayer.h */, - 435B68E5D2D868147AF17A75E1F57DB7 /* LARectShapeLayer.m */, - 057EB7B5AB0891C515A48F53B0D68C13 /* LAShapeCircle.h */, - A729DC4B15922CBF6596364C9C7DF0C5 /* LAShapeCircle.m */, - D202F619E99C2B98D97CCBFF025649EC /* LAShapeFill.h */, - 1C6F9DD05867FBA24AF55DE30C9C9CE2 /* LAShapeFill.m */, - 9AE7674DA30DA22174CCC932F6FAF349 /* LAShapeGroup.h */, - AEE071F9D9D4F8785E5CCD0A5D9BD629 /* LAShapeGroup.m */, - 161E8724384284CEB2AEDB8A6029DD24 /* LAShapeLayerView.h */, - 420760288C7276D65879243F90148E30 /* LAShapeLayerView.m */, - 7B256F4A01324853F3D536D9BD97CCBA /* LAShapePath.h */, - A76174ED58C64052E2CDD5DEDB3A5B78 /* LAShapePath.m */, - F7D66821AA5EE5BB26108ED46C391E19 /* LAShapeRectangle.h */, - 8FBD977212B8B998E67B22B73AE0ACEC /* LAShapeRectangle.m */, - 7A0E3B6953C086AE38D2B02446542316 /* LAShapeStroke.h */, - 32479591B8F19BD0CBE9F774D15389D8 /* LAShapeStroke.m */, - 39B58225E651D481B640659502D58F65 /* LAShapeTransform.h */, - FBAB0EAEF9C80B3C56E229F09B61B76B /* LAShapeTransform.m */, - 345C024753303F2F5BD3228052384331 /* LAShapeTrimPath.h */, - E833FF4589EA36FB7F1188E3BACBAB62 /* LAShapeTrimPath.m */, - E0E9E52D362EFDD9AD546B0C35F8955B /* NSValue+Compat.h */, - 627947A4AAEFFE8332FB1275E0022008 /* NSValue+Compat.m */, - 89C1EE73ADB8B76F7F0D7227A3DA0053 /* UIBezierPath.h */, - D9DB96AFA9547620017B0B3D93D0AFDB /* UIBezierPath.m */, - D5746E9272F05894B0DFBF3385B3D054 /* UIColor.h */, - BE50F8CE9CCF76F0B6B8654C81CEDBB8 /* UIColor.m */, - 09C9342D002179901B4854A44519F73D /* UIColor+Expanded.h */, - CA84826E02421A5C6D358C85DB620A93 /* UIColor+Expanded.m */, - E365717E4DB2854523858350BB6E0F31 /* PublicHeaders */, - ); - name = Classes; - path = Classes; - sourceTree = ""; - }; 417A991C6B1629905D86CF923D58402E /* Pods-Lottie-Example */ = { isa = PBXGroup; children = ( @@ -487,13 +426,48 @@ path = "Target Support Files/Pods-Lottie-Example"; sourceTree = ""; }; - 482DB792FB2C1DF256A1FF81F0877A48 /* lottie-ios */ = { + 5B2D50411C4B78B88E2AB8A386A1C1D6 /* OSX Compatability */ = { isa = PBXGroup; children = ( - 35A1688F1BC6D227C7EE82DBE8260052 /* Classes */, + 32108CC0D27D536D0F888B4F25F6AA2C /* CADisplayLink.h */, + C9287847F55C9BB5ACDCC93EF8CFB756 /* CADisplayLink.m */, + 7A6381396C315D89301561EC79224990 /* CALayer+Compat.h */, + 2221C72141CA0F9E4A74F081D3487A50 /* CALayer+Compat.m */, + F24E0C925C4270DDE18CBB23F53F913E /* LOTPlatformCompat.h */, + 8C0CF199DBDA2FF0021F5C2B8A011177 /* NSValue+Compat.h */, + EF40B23B5398192F058B81F3891F1957 /* NSValue+Compat.m */, + CD4871E5F454687DB33E18C960BF502C /* UIBezierPath.h */, + 5FBF1CDED2D52DF6430B4E8BB3F0B650 /* UIBezierPath.m */, + DC3B1FA61F43E8C516B69F77E9CAF1D6 /* UIColor.h */, + 8D27B4F779C6777D529D7ECF8C2F7818 /* UIColor.m */, ); - name = "lottie-ios"; - path = "lottie-ios"; + name = "OSX Compatability"; + path = "OSX Compatability"; + sourceTree = ""; + }; + 5C2E5B3228F4A33353B6DC6C3E4ACDA5 /* Animation Cache */ = { + isa = PBXGroup; + children = ( + 262826A76F079A347BA24ABF06CDB0FE /* LOTAnimationCache.h */, + 5B28A1060F4CA73B2C8DECA596DC1415 /* LOTAnimationCache.m */, + ); + name = "Animation Cache"; + path = "Animation Cache"; + sourceTree = ""; + }; + 679D0DF302A7EBDDA0D3C6B2BA14DC8A /* Extensions */ = { + isa = PBXGroup; + children = ( + 7699768EF0DC404BD8D6AF609213BE75 /* CAAnimationGroup+LOTAnimatableGroup.h */, + 4897935C31F44A855C225490165F579E /* CAAnimationGroup+LOTAnimatableGroup.m */, + 853ADCB5AF0B129F0F8521140BB3F6B8 /* CGGeometryAdditions.h */, + 82F6132D0F382F569E146FA58E4DAA27 /* CGGeometryAdditions.m */, + 8E06AC3CC982685463EB8FB1A8A00077 /* LOTHelpers.h */, + 7725F4F35EFB1A561204B8B714BF14FA /* UIColor+Expanded.h */, + 9E30A18DA5453C1650631505E0326941 /* UIColor+Expanded.m */, + ); + name = Extensions; + path = Extensions; sourceTree = ""; }; 6AE6986C594A999FC82761A98637F1F4 /* Support Files */ = { @@ -516,6 +490,40 @@ path = "Example/Pods/Target Support Files/lottie-ios-OSX"; sourceTree = ""; }; + 713A592333FD491CE143F3A998347C77 /* Animatable Layers */ = { + isa = PBXGroup; + children = ( + 4C2A251B58207A63E0E49CDB3483F584 /* LOTAnimatableLayer.h */, + 6A356195F8E422F04DDBE0277E4B285C /* LOTAnimatableLayer.m */, + 3AEBDBAF944DA2750D70B10BA38CDC3C /* LOTEllipseShapeLayer.h */, + 05E770FF8A8E7B0E14EB69C241E457F8 /* LOTEllipseShapeLayer.m */, + 83C8E46C27F65CF9753008BA18A44A91 /* LOTGroupLayerView.h */, + BF3B26BFAA29E7FB2EE8E343D0152E8F /* LOTGroupLayerView.m */, + 604821344D6182F76D74EAFC3DC8A31B /* LOTLayerView.h */, + E3BD836A13C7315F253E1C974C81DDEC /* LOTLayerView.m */, + 4B9ACDB072FB0C36A0AA901C2AB0A7F4 /* LOTMaskLayer.h */, + 8592EA877C1B4E06F2DFBFDF38C1CBA7 /* LOTMaskLayer.m */, + DC58AEDA92475F81D0AB0F7DFFE756B8 /* LOTRectShapeLayer.h */, + 75C5259E6388E805DC9766C0042CD512 /* LOTRectShapeLayer.m */, + 16A063CC12991C8327B36E9D8C92CDC0 /* LOTShapeLayerView.h */, + 2B4F91019A41754A4617A095209FAEFB /* LOTShapeLayerView.m */, + ); + name = "Animatable Layers"; + path = "Animatable Layers"; + sourceTree = ""; + }; + 717A3D55F0A42F0DD366468F205B030C /* PublicHeaders */ = { + isa = PBXGroup; + children = ( + 199792E3A60E47FA2A14B052B41C0E33 /* LOTAnimationTransitionController.h */, + 5BA2CC85F3E7C7289C79486D58E26E38 /* LOTAnimationView.h */, + 241491BFBA2D90C0006294AE273D8916 /* LOTAnimationView_Compat.h */, + CE4B9FCDC54EC85224D22196A7A41ED6 /* Lottie.h */, + ); + name = PublicHeaders; + path = PublicHeaders; + sourceTree = ""; + }; 74014EA21B36D4548E21AE83073A4697 /* Pods-lottie-ios_Tests */ = { isa = PBXGroup; children = ( @@ -545,6 +553,22 @@ ); sourceTree = ""; }; + 825CA7019F8FAE956DE05D48AA09297B /* Classes */ = { + isa = PBXGroup; + children = ( + 713A592333FD491CE143F3A998347C77 /* Animatable Layers */, + 1BFB6AF8269497D6F4AC1B8DE971055A /* AnimatableProperties */, + 5C2E5B3228F4A33353B6DC6C3E4ACDA5 /* Animation Cache */, + 679D0DF302A7EBDDA0D3C6B2BA14DC8A /* Extensions */, + 996B107E895A51B21737FACB8230EEB0 /* Models */, + 5B2D50411C4B78B88E2AB8A386A1C1D6 /* OSX Compatability */, + D7095B4283071294364E7C0F32B848A8 /* Private */, + 717A3D55F0A42F0DD366468F205B030C /* PublicHeaders */, + ); + name = Classes; + path = Classes; + sourceTree = ""; + }; 918E7489C38217348EA01153B8226E60 /* Targets Support Files */ = { isa = PBXGroup; children = ( @@ -563,6 +587,37 @@ name = "Development Pods"; sourceTree = ""; }; + 996B107E895A51B21737FACB8230EEB0 /* Models */ = { + isa = PBXGroup; + children = ( + B758F16C1930B57D432706DF7B9D2107 /* LOTComposition.h */, + 914E38365E034D0D2874EAB4410B0ED0 /* LOTComposition.m */, + 91320FA54A945B0D6F0DA1360E66F4EA /* LOTLayer.h */, + 0D575B6A057045C18575B20F98F4D18A /* LOTLayer.m */, + CCFB05FD8351F6DF6D9DB1678426591E /* LOTMask.h */, + AC40650D6C520AF8C62993627178E8B1 /* LOTMask.m */, + B223A2DAC7F5B2F8C91EB3FD243FEDAC /* LOTModels.h */, + 67A217DEE8582AD940BEAF7BA905E0BE /* LOTShapeCircle.h */, + D1421B31FDB7002847C13A501D089F59 /* LOTShapeCircle.m */, + 22A9A522868796567DA90E0AF6891CB1 /* LOTShapeFill.h */, + 526AC75B26148609F730E814A6E6F8CE /* LOTShapeFill.m */, + 08E2BE6E6F4E09DCAE63E77FA45E8D2F /* LOTShapeGroup.h */, + D2A37C29AA31036ACF0E3F7FB465FE25 /* LOTShapeGroup.m */, + CB61F2BE80BD7187C6BE417477BCE686 /* LOTShapePath.h */, + D1D24446F8E73757845407CAE1469E94 /* LOTShapePath.m */, + AD68BCD99A3BAB6952BFFA509F44354F /* LOTShapeRectangle.h */, + 00D983F9220AE1924E72BFFEDBA59D4B /* LOTShapeRectangle.m */, + CC95B50AA209CF058AC6E93A5F6CE158 /* LOTShapeStroke.h */, + 16C8676DB5D0B04ECB624FF8744D0C1D /* LOTShapeStroke.m */, + 39E7B78BCCA33785D07745351D00BCBF /* LOTShapeTransform.h */, + 38B2CE628EFB134AA0142EB0242E07F8 /* LOTShapeTransform.m */, + 2402E6969E0AFB8E46A9C0BDDA843894 /* LOTShapeTrimPath.h */, + FB91CE9C7E1A07615CAC506178729716 /* LOTShapeTrimPath.m */, + ); + name = Models; + path = Models; + sourceTree = ""; + }; A548659F165EEAABADBF152D8985886E /* OS X */ = { isa = PBXGroup; children = ( @@ -573,6 +628,15 @@ name = "OS X"; sourceTree = ""; }; + A619B21630D8FBCCD05871350496FD40 /* lottie-ios */ = { + isa = PBXGroup; + children = ( + 825CA7019F8FAE956DE05D48AA09297B /* Classes */, + ); + name = "lottie-ios"; + path = "lottie-ios"; + sourceTree = ""; + }; D2431C38CE75E5F9371ACA56742FA10D /* Products */ = { isa = PBXGroup; children = ( @@ -585,6 +649,17 @@ name = Products; sourceTree = ""; }; + D7095B4283071294364E7C0F32B848A8 /* Private */ = { + isa = PBXGroup; + children = ( + AD20C5D921D9FA9DB42FDEAAD80BD9B9 /* LOTAnimationTransitionController.m */, + 8A157E1D06CC3E8A458366614657D561 /* LOTAnimationView.m */, + C92C075B346BCA3EC4B839F609409328 /* LOTAnimationView_Internal.h */, + ); + name = Private; + path = Private; + sourceTree = ""; + }; D91BDFF373A27B65CB13548AB5E3977B /* Pods-Lottie-Example-MacOS */ = { isa = PBXGroup; children = ( @@ -612,22 +687,10 @@ name = Frameworks; sourceTree = ""; }; - E365717E4DB2854523858350BB6E0F31 /* PublicHeaders */ = { - isa = PBXGroup; - children = ( - D472A02BCE43AFFAA8ECC4D294DE5B8D /* LAAnimationTransitionController.h */, - 9D6996FEA90472D5190E82B5BD837AAD /* LAAnimationView.h */, - E9D93897CED27201D99C74890A61D2E7 /* LAAnimationView_Compat.h */, - 52261001EAFC60D9CB90F856BF509706 /* Lottie.h */, - ); - name = PublicHeaders; - path = PublicHeaders; - sourceTree = ""; - }; F13189DB0902F98D525915FBB3DAB361 /* lottie-ios */ = { isa = PBXGroup; children = ( - 482DB792FB2C1DF256A1FF81F0877A48 /* lottie-ios */, + A619B21630D8FBCCD05871350496FD40 /* lottie-ios */, 6AE6986C594A999FC82761A98637F1F4 /* Support Files */, ); name = "lottie-ios"; @@ -637,6 +700,106 @@ /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ + 06E218D2D82815983872F14FAA790F71 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + A972C8D4B5D0BFF794338049A47FBE1A /* CAAnimationGroup+LOTAnimatableGroup.h in Headers */, + 5F18978641DA29CD188FBA1D8EB501D5 /* CADisplayLink.h in Headers */, + 95F662708D1A26121B6D4E602187AAE6 /* CALayer+Compat.h in Headers */, + 0CABCE1BA137EC951B04F8765A3ECD2E /* CGGeometryAdditions.h in Headers */, + 17C42E0EED16415A9EDD363DEEBCABDD /* LOTAnimatableBoundsValue.h in Headers */, + 810EB908A3535240BDE4C77147744300 /* LOTAnimatableColorValue.h in Headers */, + BF7CF85D9D53A2325472C9CB84D401A4 /* LOTAnimatableLayer.h in Headers */, + F8B11FDB64FE7F3F5C70EE47BCA256A4 /* LOTAnimatableNumberValue.h in Headers */, + 2E8B54E6D3C436614572A1331766E9C2 /* LOTAnimatablePointValue.h in Headers */, + 97FE8CC08B3661D9C12F3C2666A9FC49 /* LOTAnimatableScaleValue.h in Headers */, + 147E431F78C3563F36C0697D71DB562F /* LOTAnimatableShapeValue.h in Headers */, + 32D0A6870FA6569B8C751F792E3DBA4B /* LOTAnimatableValue.h in Headers */, + D04A90D3685A3B053D77E1F1A03EE84F /* LOTAnimationCache.h in Headers */, + 381DE86C0D48DA6EB48C96B2EC366E00 /* LOTAnimationTransitionController.h in Headers */, + ABC03D51A315BA0C16F2F08FB91E69C8 /* LOTAnimationView.h in Headers */, + B249EF1D935C4AEC5838808CBE3496F1 /* LOTAnimationView_Compat.h in Headers */, + 8D42FDFD4099ECF1BC991702087FC19B /* LOTAnimationView_Internal.h in Headers */, + 92788FAF42B0683996401CDF51DE75C2 /* LOTComposition.h in Headers */, + 4D0C60F8C4A252367B7C4875F9B0BDB0 /* LOTEllipseShapeLayer.h in Headers */, + 29CA4EE59B08D1ED8109B415457D3CDC /* LOTGroupLayerView.h in Headers */, + 3A31C00DAD5EE96060356B8229A0F880 /* LOTHelpers.h in Headers */, + 759E46CB49AAE25993A70A2DE97D266E /* LOTLayer.h in Headers */, + 87A26BF6CC45ADCB0FBC7D764C5A3947 /* LOTLayerView.h in Headers */, + 23FF5E1FEC9F357DEEC6BFE5563C10F1 /* LOTMask.h in Headers */, + 7299688E73D2B61F3361281ACBB4660E /* LOTMaskLayer.h in Headers */, + 579F11312EA02E2DCFF81BE25F51DB39 /* LOTModels.h in Headers */, + 1B7AD1DB3B240B3F6075DAC7A2C60327 /* LOTPlatformCompat.h in Headers */, + 9393029CAB8D0DCFBD598DCA8F9652CB /* LOTRectShapeLayer.h in Headers */, + 43525BF925E577FA5BC55FA8722D3C95 /* LOTShapeCircle.h in Headers */, + B6C5A67F95DB839A26C652F10A6F1BD1 /* LOTShapeFill.h in Headers */, + CED532CCB58213D9CC1B20F9E02358A0 /* LOTShapeGroup.h in Headers */, + AC23444263ED001DBFF7925905AD0186 /* LOTShapeLayerView.h in Headers */, + ECDD3CCBD0D77875471422D2558A9E71 /* LOTShapePath.h in Headers */, + 81B8CB55716B288E5371EB779ABB5773 /* LOTShapeRectangle.h in Headers */, + 68387F2C38E559EAD686DD20223002EE /* LOTShapeStroke.h in Headers */, + 6B2ABF7E642685F16C252E87DA68F7DE /* LOTShapeTransform.h in Headers */, + 4F61ACDC0546979632BA2987F7CFDDF8 /* LOTShapeTrimPath.h in Headers */, + AE75578071B2423A9D351AF5476BE36F /* lottie-ios-OSX-umbrella.h in Headers */, + 9437D8E88E19B8C10B22E443F0645FD8 /* Lottie.h in Headers */, + 9F735427FD0D40F2520C70EDEF2BB74C /* NSValue+Compat.h in Headers */, + B8AAC78704A2F0877F35D54A5F44AEC2 /* UIBezierPath.h in Headers */, + 6B4364C81FA0A03F1D73C6BAB6ADB899 /* UIColor+Expanded.h in Headers */, + 8DDD521FF46659B2439F859CD8E6D9A7 /* UIColor.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 323A932616D26EEA90B3289A19A1C2BF /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 68F736D1CD2598FFA36E68D13D886E38 /* CAAnimationGroup+LOTAnimatableGroup.h in Headers */, + F796DAA7DD4E7F271892DC980D1FFE24 /* CADisplayLink.h in Headers */, + B6A5941F7E8B53F1E4926FD7716A00DE /* CALayer+Compat.h in Headers */, + 308BAC9046FD2B69BB7CCDA6F24FE59D /* CGGeometryAdditions.h in Headers */, + 1D1543E455046617A8F412994A6B8713 /* LOTAnimatableBoundsValue.h in Headers */, + 96142EF4F16B59D098BD648927183FFA /* LOTAnimatableColorValue.h in Headers */, + D7BA59A4D0507D575473765CF02F0233 /* LOTAnimatableLayer.h in Headers */, + 151319C75262670E0BC1FE4C4D1B62DA /* LOTAnimatableNumberValue.h in Headers */, + FE2DC32922485C4B50CCBE025B7F219C /* LOTAnimatablePointValue.h in Headers */, + CF2E359C8482BF80B812CA755D379321 /* LOTAnimatableScaleValue.h in Headers */, + A54E6418675D4CA3123E62B4FD93192D /* LOTAnimatableShapeValue.h in Headers */, + 204B15A3A04FF0F15CA4AA8D6E3F3E71 /* LOTAnimatableValue.h in Headers */, + 7798B76D66EBB7AD51E11F2729410A04 /* LOTAnimationCache.h in Headers */, + 5DF8393A3083229BA328CC2E478DC84A /* LOTAnimationTransitionController.h in Headers */, + 796CBF218A55546045B8016E15AFBA87 /* LOTAnimationView.h in Headers */, + 647DA444AEE8AC3CB29EE5B8FFB425B2 /* LOTAnimationView_Compat.h in Headers */, + 8822546C2B97546B166E6DA879B88AC2 /* LOTAnimationView_Internal.h in Headers */, + 4833D2BD0666884F509A85C031D7CBCE /* LOTComposition.h in Headers */, + 838D6155DE51A16593725CE970CA6C90 /* LOTEllipseShapeLayer.h in Headers */, + 573C01EC3D0F512491BCF3DEB5AAB748 /* LOTGroupLayerView.h in Headers */, + BD0CE52E57F950D3E084CF4C5F8A8B2F /* LOTHelpers.h in Headers */, + 20DEFD8C1B7E76272B928C15B18B68B0 /* LOTLayer.h in Headers */, + 46F17145DD61E422E878E2625D0588FA /* LOTLayerView.h in Headers */, + 2CDB9C2783AEFB59BD0E027E2E0F88A7 /* LOTMask.h in Headers */, + 7EDB7B9FA909F0E056D34EEEFD73D9EF /* LOTMaskLayer.h in Headers */, + E2D5868DEC6CBB929B419FB3285731B1 /* LOTModels.h in Headers */, + 019EB390040200530FBD33CFCE1C6C0C /* LOTPlatformCompat.h in Headers */, + FB9D8FF758399BF0DDE29DF9D14FD18C /* LOTRectShapeLayer.h in Headers */, + F9FC80D505B823B40B2B00D5D3D070C6 /* LOTShapeCircle.h in Headers */, + 71260F5EC2FB27E95FA8C1F5E18335EA /* LOTShapeFill.h in Headers */, + 17E6CB11A15CEF17D116EADF1BE32940 /* LOTShapeGroup.h in Headers */, + 0FE6D67AC31B34E5650ABE9F9DD2F12C /* LOTShapeLayerView.h in Headers */, + 8590C7A15D3AB45D8FF75787305E1947 /* LOTShapePath.h in Headers */, + 17638479F5A33CF21BFA3AC8DB8C0AD6 /* LOTShapeRectangle.h in Headers */, + 5EAC48C16B7573B63E96B20FDF50AA97 /* LOTShapeStroke.h in Headers */, + 92264D5AAD923EF3470B7E41C765591A /* LOTShapeTransform.h in Headers */, + 014264BCB7DDB49EF6C5822A6250492A /* LOTShapeTrimPath.h in Headers */, + 9EDDC3717F5EFF07B3A74D89F11A1403 /* lottie-ios-iOS-umbrella.h in Headers */, + 9E9C212361C5F24F013B425FE9258F83 /* Lottie.h in Headers */, + BE06083511248DC47F0AACFFE3FEFA4E /* NSValue+Compat.h in Headers */, + 7FC1C9069B6D070F426975EC516B17D0 /* UIBezierPath.h in Headers */, + 3DCCF6A2ABFED5F218907AD6D484948E /* UIColor+Expanded.h in Headers */, + B829760989B99EBED6656CBC4ABF862F /* UIColor.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 3789888596B9F477052ABFBA23EE9E26 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; @@ -661,106 +824,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 6F50B7D0C7005623296B9E211B96F8EE /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 5B4BA30857E1208B23DE23458CBBDA6F /* CAAnimationGroup+LAAnimatableGroup.h in Headers */, - B40CDE0CDDFB42EEBD0B9EC4D7BD3DAC /* CADisplayLink.h in Headers */, - 6A2D62F341445F165D41C3AFD36CC6BE /* CALayer+Compat.h in Headers */, - C18CF98FF70FF9A3AA0176CC9828FCA5 /* CGGeometryAdditions.h in Headers */, - D533FAA1FCADD0D8720646EA565A158B /* LAAnimatableBoundsValue.h in Headers */, - B2167362579A81312BD36EE1A9F512C3 /* LAAnimatableColorValue.h in Headers */, - EAAE79FBE06117F38602AAED294B8F4F /* LAAnimatableLayer.h in Headers */, - 14A2143A62CE0E49B37DF91E9BF0A5D8 /* LAAnimatableNumberValue.h in Headers */, - 1F5F6906C5F06859201D8DC205258A9E /* LAAnimatablePointValue.h in Headers */, - A841736F91767D6A73C6061DAE99A017 /* LAAnimatableScaleValue.h in Headers */, - 7853E06B1245D9674B7E9981BAF81C26 /* LAAnimatableShapeValue.h in Headers */, - 996E29770EB6AE15E2D90BE2F792EBFF /* LAAnimatableValue.h in Headers */, - 17BC02DCEA347D064F43F42456D79B41 /* LAAnimationCache.h in Headers */, - 1A8DDED27875D75BE5EBE2462CAE5944 /* LAAnimationTransitionController.h in Headers */, - 4C33608C0429FD80134C64AF5989AA1C /* LAAnimationView.h in Headers */, - 91BB1910FFAED4BFCA7354ACCDA7DF15 /* LAAnimationView_Compat.h in Headers */, - 9DF81CA4B372C14CC4F48392AF6563ED /* LAAnimationView_Internal.h in Headers */, - 61D81DCADCC07569E046AB22ED3B226C /* LAComposition.h in Headers */, - C5F8F35D23221887C19F5265C9C47D70 /* LAEllipseShapeLayer.h in Headers */, - 534AF43ECBFBB4CCBF65F9173652E19B /* LAGroupLayerView.h in Headers */, - FD40D7585B8D297306469CA28E055AAB /* LAHelpers.h in Headers */, - 2FF63FE0A344562D194B5B2AA8D1699C /* LALayer.h in Headers */, - 519E715BCC2CC3171AC0ACB7BAD25A52 /* LALayerView.h in Headers */, - AE72BCA9F2C4C281D2AF91D9508560BD /* LAMask.h in Headers */, - 64D095B955394A9DCABA0BB338DABFC4 /* LAMaskLayer.h in Headers */, - 9B6CEEA4245BB72DB2B55047B17DF0F8 /* LAModels.h in Headers */, - 9B6860D8A382975806394BA2994E7F3E /* LAPlatformCompat.h in Headers */, - 02545E2F6F37C9F00668866976133DAB /* LARectShapeLayer.h in Headers */, - 9A0EACA5274EFE20D775F6ED570E6384 /* LAShapeCircle.h in Headers */, - C61817FDC77BD6EF22B45F0C75CEE1D7 /* LAShapeFill.h in Headers */, - 498F675602A7489A1E5DF8ADD939966F /* LAShapeGroup.h in Headers */, - A606E7F4F94DB70577116CB661651065 /* LAShapeLayerView.h in Headers */, - 9DE79EAE9763DE05CA50112928C99A2D /* LAShapePath.h in Headers */, - 0F47A120DEFEB7E9A68A6F737AA56B9C /* LAShapeRectangle.h in Headers */, - E57657E9977D0C5F02042320AC67B7E0 /* LAShapeStroke.h in Headers */, - 2AB39793190F7EA1E812C56E2A32A669 /* LAShapeTransform.h in Headers */, - 69BF8D967FFC55CECA6F48E6654BE98D /* LAShapeTrimPath.h in Headers */, - 13E3EA46BFDEE92AD7783A4EDF09BD43 /* lottie-ios-OSX-umbrella.h in Headers */, - 34D8B8958139C90E12DC858EFEF3DB0A /* Lottie.h in Headers */, - 8E4456D9AEEACB889B115D1C4F7C4814 /* NSValue+Compat.h in Headers */, - 0EAF2FEEF852DC9C0396FAD04A22CE6F /* UIBezierPath.h in Headers */, - 5F56204A907EBDCD91C9DFBF394E9431 /* UIColor+Expanded.h in Headers */, - 5035DDB29247100BD2E42525639FE1F5 /* UIColor.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - D7D82184E7C446E83BEC1345557C61A5 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - D01F81BF32DD8A142446F9DE6C6B3077 /* CAAnimationGroup+LAAnimatableGroup.h in Headers */, - 3B37FDE53EFAF5F786B5118EF1477C65 /* CADisplayLink.h in Headers */, - F577303925D6D5E45D22F65C044F1EFC /* CALayer+Compat.h in Headers */, - 460D50B1042E376F3A5397E915583244 /* CGGeometryAdditions.h in Headers */, - 7D1531553AA89E9CC94EEC7F501CD776 /* LAAnimatableBoundsValue.h in Headers */, - A371EBF6B626124786AEE54C05F1E1F0 /* LAAnimatableColorValue.h in Headers */, - ED422F0A358E96D224813DDB82FBC15A /* LAAnimatableLayer.h in Headers */, - 1D1BFE3375DE9776BA1B2E04CDA7B8CD /* LAAnimatableNumberValue.h in Headers */, - 3256AC7CF60340E592DCC1C1E5D4D4AA /* LAAnimatablePointValue.h in Headers */, - 9781F0D9202D3A1C0F27D07D29A17A97 /* LAAnimatableScaleValue.h in Headers */, - C287C27189A86CCAF27BE06889DF79E8 /* LAAnimatableShapeValue.h in Headers */, - 00A925928D6055E43C8C32A255C27F71 /* LAAnimatableValue.h in Headers */, - EAEBA1A31881FE6BAC7428111CA85149 /* LAAnimationCache.h in Headers */, - C46DD16EEE08DCD5C56578E8665BE212 /* LAAnimationTransitionController.h in Headers */, - 5C696C798CB839E4C8E55AD1B3509CFB /* LAAnimationView.h in Headers */, - 5F720B7DF92E483239D975BBE29E3BEB /* LAAnimationView_Compat.h in Headers */, - 69DBD28ABB74A49A1D02DAD98D2FFCFB /* LAAnimationView_Internal.h in Headers */, - 66F660E4862504D2D58EA326D189B685 /* LAComposition.h in Headers */, - 98A4A4EFBAC643F8F45B149EBAE9332C /* LAEllipseShapeLayer.h in Headers */, - 6818B258E3DB5289FF14AE27D0A0369C /* LAGroupLayerView.h in Headers */, - 024CCD2038FADCB0FA1AE864DBAE4292 /* LAHelpers.h in Headers */, - 1A2C0BE880C6C26BF5A3930F2C5944F0 /* LALayer.h in Headers */, - 4C29D833A3D574AAE6D9D430FCD5315A /* LALayerView.h in Headers */, - C8BBCFD0EE112B9731A5B5826032F757 /* LAMask.h in Headers */, - 0195241BA273C0F113978563739634A2 /* LAMaskLayer.h in Headers */, - 96B591C65BA1057928FD13B41F7CF860 /* LAModels.h in Headers */, - 10903E97980CA1E2E4F25C4D84C9D8B3 /* LAPlatformCompat.h in Headers */, - 6ABFA01C27BF5E3262AA2FD08EAA5E4A /* LARectShapeLayer.h in Headers */, - 95D02816C8F9A026360169923CED114D /* LAShapeCircle.h in Headers */, - C3B7D2E745193CB6EF2C08B2D06E7CAC /* LAShapeFill.h in Headers */, - E6664D49454DEFEA0783ED54D0283F01 /* LAShapeGroup.h in Headers */, - 7324B1E8126073A564A8902056781EF1 /* LAShapeLayerView.h in Headers */, - 0523E22F23A4E990CEF9A0B22056A0FC /* LAShapePath.h in Headers */, - 84C23CBD62FA989F35EC0D5171465D11 /* LAShapeRectangle.h in Headers */, - A09256CABD4990BCD0B6B8A121D3347E /* LAShapeStroke.h in Headers */, - 8682CF6AA8BC40BEC26B5E63D4D29FB3 /* LAShapeTransform.h in Headers */, - 4C62210B2B052BE54DCE036C4F0E4162 /* LAShapeTrimPath.h in Headers */, - DBB15F6C50CFDC2E3C950367815AAE15 /* lottie-ios-iOS-umbrella.h in Headers */, - 28F6A4769188334DA98AD1C80DABECED /* Lottie.h in Headers */, - 5E22489FE0C514A8E165511960207FA3 /* NSValue+Compat.h in Headers */, - 20F82EB6F6DE8E43C0344406A293A2A2 /* UIBezierPath.h in Headers */, - 976270E2D39BD6FB429440E0EC673878 /* UIColor+Expanded.h in Headers */, - 11F3BE42CC4A1DD7F00945E52DA343D1 /* UIColor.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ @@ -768,9 +831,9 @@ isa = PBXNativeTarget; buildConfigurationList = 6C614B6592A6A65C565FD5C1B9D94C9E /* Build configuration list for PBXNativeTarget "lottie-ios-iOS" */; buildPhases = ( - AEAAE8C1485451ECC05490019F70830E /* Sources */, + 0D9276DA0B11EA15AE7B4B9E67EFA8A1 /* Sources */, 6EEF5B566DC7D7E0179AD5229FDDA4FE /* Frameworks */, - D7D82184E7C446E83BEC1345557C61A5 /* Headers */, + 323A932616D26EEA90B3289A19A1C2BF /* Headers */, ); buildRules = ( ); @@ -838,9 +901,9 @@ isa = PBXNativeTarget; buildConfigurationList = C3782E487CF2AEE3CD3ED0EC825DC75F /* Build configuration list for PBXNativeTarget "lottie-ios-OSX" */; buildPhases = ( - ED072D29753AFCF70FB03A7726413485 /* Sources */, + 69E17157659F311789404D0E07D6451C /* Sources */, 7B5F29BA59D19C79F757EB6EE29DD1F9 /* Frameworks */, - 6F50B7D0C7005623296B9E211B96F8EE /* Headers */, + 06E218D2D82815983872F14FAA790F71 /* Headers */, ); buildRules = ( ); @@ -882,6 +945,49 @@ /* End PBXProject section */ /* Begin PBXSourcesBuildPhase section */ + 0D9276DA0B11EA15AE7B4B9E67EFA8A1 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 1AF05E6A1ED488D8A4590E451D16DB25 /* CAAnimationGroup+LOTAnimatableGroup.m in Sources */, + 38724389F4AF391B9BC43CD50AA3EDD8 /* CADisplayLink.m in Sources */, + 0F981EA0F990063F90AB32883A53CE20 /* CALayer+Compat.m in Sources */, + C78083529E6F254FA5A439BB838361A5 /* CGGeometryAdditions.m in Sources */, + 125FD7A203E94B904350E4DCF69758F0 /* LOTAnimatableBoundsValue.m in Sources */, + 9B3E6A02A045DF4A5F215401E3334912 /* LOTAnimatableColorValue.m in Sources */, + C92D0AA32EE280340C0766FBA3C4F5B6 /* LOTAnimatableLayer.m in Sources */, + 198C847CA44EC3E8F5F58A999FD4C512 /* LOTAnimatableNumberValue.m in Sources */, + F9110ACEA94C006A2B303F7A5D300341 /* LOTAnimatablePointValue.m in Sources */, + 612802CB932AF4B6ABB90A0EB35EC985 /* LOTAnimatableScaleValue.m in Sources */, + A35FBBB9C71A453A260B6C819AA00D8A /* LOTAnimatableShapeValue.m in Sources */, + 59F2510D426A2ECE606B3E85A8F11F3D /* LOTAnimationCache.m in Sources */, + BF971A24FED3B68FE4D1FD776BC47303 /* LOTAnimationTransitionController.m in Sources */, + 9FF49B1C6829CB16BD5DB8882A29B60A /* LOTAnimationView.m in Sources */, + 4732ECB066C837C3484D9DB2F226773D /* LOTComposition.m in Sources */, + 4EFC87278E4E7401727B49678BD95620 /* LOTEllipseShapeLayer.m in Sources */, + 6AECE84D2606A6EB774D90B68BF02FBE /* LOTGroupLayerView.m in Sources */, + ED8BD061B14A26E55DA40C65C1FA9E45 /* LOTLayer.m in Sources */, + E1E7AB1C22FF3517808A0F359915D1DE /* LOTLayerView.m in Sources */, + 299366D900574C96A4B7D499D394AE95 /* LOTMask.m in Sources */, + DBD9A18F3667D4871E60D8460D206F6C /* LOTMaskLayer.m in Sources */, + BF134B98B1B9D10C25342E2C29FB8765 /* LOTRectShapeLayer.m in Sources */, + FC2DFB5A3D8CA54CB00264F7DF5DBCA7 /* LOTShapeCircle.m in Sources */, + 7979D3A6E47E7449AC865C57DD35F839 /* LOTShapeFill.m in Sources */, + 1C1FD4859F03CD5975789890C67FDE5B /* LOTShapeGroup.m in Sources */, + 4F0B2D6C49741327F6B439F355B73E51 /* LOTShapeLayerView.m in Sources */, + 808420BFE0C3F5865B8CDCA8B15737FF /* LOTShapePath.m in Sources */, + 4150F7FE75D91BD4F9ADA9EA12CB85D3 /* LOTShapeRectangle.m in Sources */, + C2F8ACA3161511701D310AD830AB73DA /* LOTShapeStroke.m in Sources */, + D99E5F130A06004B71F0CCB62F2213AB /* LOTShapeTransform.m in Sources */, + 0224DD121FC30CF8D8EA84DEEDE9E5EF /* LOTShapeTrimPath.m in Sources */, + BAF2A478D8415FFAD0C6AFEAD2F5C65E /* lottie-ios-iOS-dummy.m in Sources */, + 81A41631E43E19BA7747CFC447660357 /* NSValue+Compat.m in Sources */, + 23B582AC94E91248DAA79577B7D6B895 /* UIBezierPath.m in Sources */, + B102C7FD4DB4F585DF33D0675A52C51E /* UIColor+Expanded.m in Sources */, + 24C80BA76AA31DF083ED0AED7ECF75AF /* UIColor.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 2D9FCDC01EDAD6CF532E19DE48A7A879 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -898,6 +1004,49 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 69E17157659F311789404D0E07D6451C /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 07DF80DAF9334BF948557F2B6E25CA41 /* CAAnimationGroup+LOTAnimatableGroup.m in Sources */, + 03667BC5DD6C96DC5FA10669D8D1169C /* CADisplayLink.m in Sources */, + 7EB6832366B45B6EA7B484FC55BD065C /* CALayer+Compat.m in Sources */, + 1C636B64825FE9F560CDFD9315069210 /* CGGeometryAdditions.m in Sources */, + D7441019D83407B7975F2CD33EE1E55E /* LOTAnimatableBoundsValue.m in Sources */, + 7AFD15F6190F7EADEA3CF258FF21D8D5 /* LOTAnimatableColorValue.m in Sources */, + 15AC80C6C96763DFEEC790A9791E51E9 /* LOTAnimatableLayer.m in Sources */, + B040874C4D502AA92A4EE177EAD8A089 /* LOTAnimatableNumberValue.m in Sources */, + C11C61F03C917D78AFA0838A8E4412F6 /* LOTAnimatablePointValue.m in Sources */, + 8F66422C252281F16D74463C07627265 /* LOTAnimatableScaleValue.m in Sources */, + 2782CD6A1D8A343B53759A994D9F6C31 /* LOTAnimatableShapeValue.m in Sources */, + DE18DEF2F477C19F7307C7690BEA554C /* LOTAnimationCache.m in Sources */, + B0A242969AF80AB853FA7DB346A17489 /* LOTAnimationTransitionController.m in Sources */, + D372F29803CAD25698550A30681CED5F /* LOTAnimationView.m in Sources */, + 951641D26236D9DD1D8497D421AB0F99 /* LOTComposition.m in Sources */, + 362836E5A94EEC788130DAB3D72E04E8 /* LOTEllipseShapeLayer.m in Sources */, + 0075B6488FF197D8668F10AF357C0521 /* LOTGroupLayerView.m in Sources */, + A0FAA7BFF3B0DDAA8533821938A60B22 /* LOTLayer.m in Sources */, + A79AFADC19D70226BACF2E8ED2CBB9D3 /* LOTLayerView.m in Sources */, + F40CEB5C21B543AA2F37258B9142B6FD /* LOTMask.m in Sources */, + 8BCEE8B56B5888414B337285A8A8A07C /* LOTMaskLayer.m in Sources */, + ECFF0DF0D7D8168BC81B98D4FFE56BAE /* LOTRectShapeLayer.m in Sources */, + DA138E1AC245BB30E51CE90933818034 /* LOTShapeCircle.m in Sources */, + 15EF53F42565FBC7BBF78E742576D83E /* LOTShapeFill.m in Sources */, + FCF6945890A6ECE3E662EAD107349713 /* LOTShapeGroup.m in Sources */, + 0B29280A9ADDDD0EE1FA1575967AC5BD /* LOTShapeLayerView.m in Sources */, + 07FB91D48001A282FF560AF9FC9293E5 /* LOTShapePath.m in Sources */, + 1E1DE2EBC07D431A387942FCD8EA724B /* LOTShapeRectangle.m in Sources */, + 099861D88F2BD9EEFDAF48C506F7E759 /* LOTShapeStroke.m in Sources */, + 28E9535414CE1BEC591C89E7A06EAEF0 /* LOTShapeTransform.m in Sources */, + 9BA1D5723FE30B61B46BFAE9EEB219A2 /* LOTShapeTrimPath.m in Sources */, + 49DEF831442B05BED78E24E963AFC601 /* lottie-ios-OSX-dummy.m in Sources */, + AAB4BB60CC3237D11259AD486F2DDF0F /* NSValue+Compat.m in Sources */, + 08EEF536571B1944EEE24963FE47D796 /* UIBezierPath.m in Sources */, + 60F557164C8A0B6A6EFA915E1FB08911 /* UIColor+Expanded.m in Sources */, + 3E2DAA0BFF3BED561D8425EE6BE290F3 /* UIColor.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 7EF0A56B7F1C81CBD6014D75342B084B /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -906,92 +1055,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - AEAAE8C1485451ECC05490019F70830E /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 25603E5AF4994E286029429B4E6980DD /* CAAnimationGroup+LAAnimatableGroup.m in Sources */, - 7A1622B4EB96752F23AC477C9E53E6FC /* CADisplayLink.m in Sources */, - 9BF582DDD29D52C4556C827FF3D4EBC6 /* CALayer+Compat.m in Sources */, - 7B8A0A2C0FDFAC1566035A68377C5A15 /* CGGeometryAdditions.m in Sources */, - 5EF3F37C35243A3CA444557CC74DA8D7 /* LAAnimatableBoundsValue.m in Sources */, - E7B3A01402ED6D125258032A01A07882 /* LAAnimatableColorValue.m in Sources */, - 7364DF0D48A6E0A5D8BC8D19FD7C0184 /* LAAnimatableLayer.m in Sources */, - E86C86F73BC730215BF32546403F7DEE /* LAAnimatableNumberValue.m in Sources */, - F88681F7B86A898FB57B6EC9C562C266 /* LAAnimatablePointValue.m in Sources */, - EC659D2D8F105BEBD6181A18AD390B6D /* LAAnimatableScaleValue.m in Sources */, - 9CD4F251778605216B4B9E3CE2FAF13D /* LAAnimatableShapeValue.m in Sources */, - 113F3F232DBF9618FDAE36E6F52D34B7 /* LAAnimationCache.m in Sources */, - 187789225E635DC13432112CA0D037EE /* LAAnimationTransitionController.m in Sources */, - 750F81ED62446D1CAB4D51AC82E33CD2 /* LAAnimationView.m in Sources */, - 1CB67028DDE579663B04CEBC59E29E8B /* LAComposition.m in Sources */, - 1A987AB7515757F549FC486AE0C0E32F /* LAEllipseShapeLayer.m in Sources */, - 82BD8C7B71A74D529E9A49A6CCEF854F /* LAGroupLayerView.m in Sources */, - C1A8F54AFC9F46F238A13FBDA4CC915E /* LALayer.m in Sources */, - 5096A3ADBA44CF6F98BA8201D53A3C2B /* LALayerView.m in Sources */, - C089E72FBF3005BCA10AC6E24E740701 /* LAMask.m in Sources */, - 0425B37A59700AE9930DA97FCB40AEE9 /* LAMaskLayer.m in Sources */, - 4150BDB43DBE730F8FFD2E77046723EC /* LARectShapeLayer.m in Sources */, - F57B3EAB2BD69D6E66F261718D10FBEE /* LAShapeCircle.m in Sources */, - EE12ED21C0878638B746B623801A657E /* LAShapeFill.m in Sources */, - BA0FE612718C7F44679024E93A67C969 /* LAShapeGroup.m in Sources */, - 728B3E0C21471D2A1AC547585ACA01E2 /* LAShapeLayerView.m in Sources */, - A38F49864C3A60DCE3EBDF9A07E779C9 /* LAShapePath.m in Sources */, - F56D173D068AC20AE2FFB18021E51371 /* LAShapeRectangle.m in Sources */, - 4D7FC0602A9BB89E8C07FE3BDF04E52F /* LAShapeStroke.m in Sources */, - 3A438D6CBC5862925FEBCAAA046BC0D4 /* LAShapeTransform.m in Sources */, - DB1FBA3AFD439B4A6944453681AF4C08 /* LAShapeTrimPath.m in Sources */, - 140F0F5D7ADDCBD6455113B8108002E5 /* lottie-ios-iOS-dummy.m in Sources */, - 08A16D83BEAC85D9A0A98718297500B4 /* NSValue+Compat.m in Sources */, - 944960A27D9DD38E3C5D16245FD0E40C /* UIBezierPath.m in Sources */, - C48AED9F7375F11616CE49703F2B18B7 /* UIColor+Expanded.m in Sources */, - 57110107A9975DC0F3B2D5793298DF1F /* UIColor.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - ED072D29753AFCF70FB03A7726413485 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 252D8834D7C8DF6351815843284AD302 /* CAAnimationGroup+LAAnimatableGroup.m in Sources */, - 45A543ACCF50AF12ACBC4038BEC545C5 /* CADisplayLink.m in Sources */, - 6121AA8DB00BD883320CBB3030A24D35 /* CALayer+Compat.m in Sources */, - 75FA085770CBED209E352EB35F9E844C /* CGGeometryAdditions.m in Sources */, - 3C0E8DB08385F6E98CEB66C870CAA21A /* LAAnimatableBoundsValue.m in Sources */, - FC723022FAA4BDE3DDE41852430FB775 /* LAAnimatableColorValue.m in Sources */, - E30F0801C5DACEE2BC835E590C967A1F /* LAAnimatableLayer.m in Sources */, - F946DBDC74C4C2764660CD5C37AF87FB /* LAAnimatableNumberValue.m in Sources */, - 569876359FD1E2274392B61185B9AD1C /* LAAnimatablePointValue.m in Sources */, - 6DAE4C1769B861ADB750426DEBE9D6F2 /* LAAnimatableScaleValue.m in Sources */, - 83BD096F12141F9D4BB9575EF918A04A /* LAAnimatableShapeValue.m in Sources */, - 3C53BD239ED5223881EB4C3CF9252A1C /* LAAnimationCache.m in Sources */, - 3C4F35E8E69E15FECBFF0AFC70062BB0 /* LAAnimationTransitionController.m in Sources */, - D6D8EAD297B6C115A19E8251F00F9E7D /* LAAnimationView.m in Sources */, - 6C17ECD85959810B21FCEF4F78FA2643 /* LAComposition.m in Sources */, - B565AA421C11BF16A273AA27F4ED8237 /* LAEllipseShapeLayer.m in Sources */, - AA2158FD288228A01611FC4F0135F3DF /* LAGroupLayerView.m in Sources */, - 3A30E971159FEF8ED69AA78FD3CA45A3 /* LALayer.m in Sources */, - 7835F96E54413047E2A20C5808DF9A8E /* LALayerView.m in Sources */, - 32AF9707720B3585B56A8337C9A21E41 /* LAMask.m in Sources */, - 696BDBCE159A25C73F04465AB29186AF /* LAMaskLayer.m in Sources */, - 5BC98275A642523238FEBBFC78B00834 /* LARectShapeLayer.m in Sources */, - 09EAD205EB6052485F7F9394E2806DCC /* LAShapeCircle.m in Sources */, - 2BF9A551EFCA34C91E27358CAED96206 /* LAShapeFill.m in Sources */, - 54A10C4FF51980AE914A169404A5C60C /* LAShapeGroup.m in Sources */, - E2AF5D9B24315449F368CEA49CC3A767 /* LAShapeLayerView.m in Sources */, - DE7561B4787AA37B40CFA87ACF925E66 /* LAShapePath.m in Sources */, - 7116A3A0D5A58E139F5195ED7B031866 /* LAShapeRectangle.m in Sources */, - 81E3B0D93F5FF6147C1C5EE789FD7536 /* LAShapeStroke.m in Sources */, - CAE9757CEA166B6B09F91E90A0D750ED /* LAShapeTransform.m in Sources */, - 8267EC70394C0A17F093F8E38A45E9B0 /* LAShapeTrimPath.m in Sources */, - 79A1C71B78351D0AC84677DA917FF268 /* lottie-ios-OSX-dummy.m in Sources */, - EA95283A17BC694A59592BBF83F801AE /* NSValue+Compat.m in Sources */, - 46B2B4E99B5149934CCC55E7CFCFC3AC /* UIBezierPath.m in Sources */, - 39DE9593C6FA16D84C8E034C05F2E719 /* UIColor+Expanded.m in Sources */, - A5498F431E46CD29CB2BFB2EE7F9A19F /* UIColor.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ diff --git a/Example/Pods/Target Support Files/lottie-ios-OSX/lottie-ios-OSX-umbrella.h b/Example/Pods/Target Support Files/lottie-ios-OSX/lottie-ios-OSX-umbrella.h index de136fff56..d355e7a9bd 100644 --- a/Example/Pods/Target Support Files/lottie-ios-OSX/lottie-ios-OSX-umbrella.h +++ b/Example/Pods/Target Support Files/lottie-ios-OSX/lottie-ios-OSX-umbrella.h @@ -10,9 +10,9 @@ #endif #endif -#import "LAAnimationTransitionController.h" -#import "LAAnimationView.h" -#import "LAAnimationView_Compat.h" +#import "LOTAnimationTransitionController.h" +#import "LOTAnimationView.h" +#import "LOTAnimationView_Compat.h" #import "Lottie.h" FOUNDATION_EXPORT double LottieVersionNumber; diff --git a/Example/Pods/Target Support Files/lottie-ios-iOS/lottie-ios-iOS-umbrella.h b/Example/Pods/Target Support Files/lottie-ios-iOS/lottie-ios-iOS-umbrella.h index 2211c82993..c0d8de6fbd 100644 --- a/Example/Pods/Target Support Files/lottie-ios-iOS/lottie-ios-iOS-umbrella.h +++ b/Example/Pods/Target Support Files/lottie-ios-iOS/lottie-ios-iOS-umbrella.h @@ -10,9 +10,9 @@ #endif #endif -#import "LAAnimationTransitionController.h" -#import "LAAnimationView.h" -#import "LAAnimationView_Compat.h" +#import "LOTAnimationTransitionController.h" +#import "LOTAnimationView.h" +#import "LOTAnimationView_Compat.h" #import "Lottie.h" FOUNDATION_EXPORT double LottieVersionNumber; diff --git a/Example/lottie-ios.xcodeproj/xcuserdata/brandonwithrow.xcuserdatad/xcschemes/xcschememanagement.plist b/Example/lottie-ios.xcodeproj/xcuserdata/brandonwithrow.xcuserdatad/xcschemes/xcschememanagement.plist deleted file mode 100644 index 46fd0c1067..0000000000 --- a/Example/lottie-ios.xcodeproj/xcuserdata/brandonwithrow.xcuserdatad/xcschemes/xcschememanagement.plist +++ /dev/null @@ -1,27 +0,0 @@ - - - - - SchemeUserState - - lottie-ios-Example.xcscheme_^#shared#^_ - - orderHint - 0 - - - SuppressBuildableAutocreation - - 6003F589195388D20070C39A - - primary - - - 6003F5AD195388D20070C39A - - primary - - - - - diff --git a/Example/lottie-ios/AnimatedTextField.m b/Example/lottie-ios/AnimatedTextField.m index 369e4517f1..300ac99ab5 100644 --- a/Example/lottie-ios/AnimatedTextField.m +++ b/Example/lottie-ios/AnimatedTextField.m @@ -18,7 +18,7 @@ @end @implementation LACharacterCell { - LAAnimationView *animationView_; + LOTAnimationView *animationView_; NSString *character_; } @@ -74,7 +74,7 @@ return; } character_ = sanitizedCharacter; - LAAnimationView *animationView = [LAAnimationView animationNamed:sanitizedCharacter]; + LOTAnimationView *animationView = [LOTAnimationView animationNamed:sanitizedCharacter]; animationView_ = animationView; animationView_.contentMode = UIViewContentModeScaleAspectFit; [self.contentView addSubview:animationView_]; diff --git a/Example/lottie-ios/AnimationExplorerViewController.m b/Example/lottie-ios/AnimationExplorerViewController.m index eed65a9f51..bc923b8686 100644 --- a/Example/lottie-ios/AnimationExplorerViewController.m +++ b/Example/lottie-ios/AnimationExplorerViewController.m @@ -22,7 +22,7 @@ typedef enum : NSUInteger { @property (nonatomic, assign) ViewBackgroundColor currentBGColor; @property (nonatomic, strong) UIToolbar *toolbar; @property (nonatomic, strong) UISlider *slider; -@property (nonatomic, strong) LAAnimationView *laAnimation; +@property (nonatomic, strong) LOTAnimationView *laAnimation; @end @@ -186,7 +186,7 @@ typedef enum : NSUInteger { self.laAnimation = nil; [self resetAllButtons]; - self.laAnimation = [[LAAnimationView alloc] initWithContentsOfURL:[NSURL URLWithString:URL]]; + self.laAnimation = [[LOTAnimationView alloc] initWithContentsOfURL:[NSURL URLWithString:URL]]; self.laAnimation.contentMode = UIViewContentModeScaleAspectFit; [self.view addSubview:self.laAnimation]; [self.view setNeedsLayout]; @@ -197,7 +197,7 @@ typedef enum : NSUInteger { self.laAnimation = nil; [self resetAllButtons]; - self.laAnimation = [LAAnimationView animationNamed:named]; + self.laAnimation = [LOTAnimationView animationNamed:named]; self.laAnimation.contentMode = UIViewContentModeScaleAspectFit; [self.view addSubview:self.laAnimation]; [self.view setNeedsLayout]; diff --git a/Example/lottie-ios/AnimationTransitionViewController.m b/Example/lottie-ios/AnimationTransitionViewController.m index 22ac38c837..30d8a51a91 100644 --- a/Example/lottie-ios/AnimationTransitionViewController.m +++ b/Example/lottie-ios/AnimationTransitionViewController.m @@ -129,14 +129,14 @@ - (id)animationControllerForPresentedController:(UIViewController *)presented presentingController:(UIViewController *)presenting sourceController:(UIViewController *)source { - LAAnimationTransitionController *animationController = [[LAAnimationTransitionController alloc] initWithAnimationNamed:@"vcTransition1" + LOTAnimationTransitionController *animationController = [[LOTAnimationTransitionController alloc] initWithAnimationNamed:@"vcTransition1" fromLayerNamed:@"outLayer" toLayerNamed:@"inLayer"]; return animationController; } - (id)animationControllerForDismissedController:(UIViewController *)dismissed { - LAAnimationTransitionController *animationController = [[LAAnimationTransitionController alloc] initWithAnimationNamed:@"vcTransition2" + LOTAnimationTransitionController *animationController = [[LOTAnimationTransitionController alloc] initWithAnimationNamed:@"vcTransition2" fromLayerNamed:@"outLayer" toLayerNamed:@"inLayer"]; return animationController; diff --git a/Example/lottie-ios/LottieRootViewController.m b/Example/lottie-ios/LottieRootViewController.m index a1855af72c..21344e7861 100644 --- a/Example/lottie-ios/LottieRootViewController.m +++ b/Example/lottie-ios/LottieRootViewController.m @@ -11,7 +11,7 @@ @interface LottieRootViewController () -@property (nonatomic, strong) LAAnimationView *lottieLogo; +@property (nonatomic, strong) LOTAnimationView *lottieLogo; @property (nonatomic, strong) UIButton *lottieButton; @property (nonatomic, strong) UITableView *tableView; @property (nonatomic, strong) NSArray *tableViewItems; @@ -23,7 +23,7 @@ - (void)viewDidLoad { [super viewDidLoad]; [self _buildDataSource]; - self.lottieLogo = [LAAnimationView animationNamed:@"LottieLogo1"]; + self.lottieLogo = [LOTAnimationView animationNamed:@"LottieLogo1"]; self.lottieLogo.contentMode = UIViewContentModeScaleAspectFill; [self.view addSubview:self.lottieLogo]; diff --git a/Lottie.xcodeproj/project.pbxproj b/Lottie.xcodeproj/project.pbxproj index 079aa222b4..4ca60822a9 100644 --- a/Lottie.xcodeproj/project.pbxproj +++ b/Lottie.xcodeproj/project.pbxproj @@ -7,233 +7,233 @@ objects = { /* Begin PBXBuildFile section */ - 2DBA19324CDD83B5F0F115B8 /* LAAnimationView_Compat.h in Headers */ = {isa = PBXBuildFile; fileRef = 2DBA16351B4FA408937A16CE /* LAAnimationView_Compat.h */; }; - 2DBA1C5A8098705F35AF3C1D /* LAPlatformCompat.h in Headers */ = {isa = PBXBuildFile; fileRef = 2DBA1CAF95F14074593D133F /* LAPlatformCompat.h */; }; + 2DBA19324CDD83B5F0F115B8 /* LOTAnimationView_Compat.h in Headers */ = {isa = PBXBuildFile; fileRef = 2DBA16351B4FA408937A16CE /* LOTAnimationView_Compat.h */; }; + 481A4A5B1E4A7885003CF62B /* LOTAnimatableLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4A181E4A7885003CF62B /* LOTAnimatableLayer.h */; }; + 481A4A5C1E4A7885003CF62B /* LOTAnimatableLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4A181E4A7885003CF62B /* LOTAnimatableLayer.h */; }; + 481A4A5D1E4A7885003CF62B /* LOTAnimatableLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4A191E4A7885003CF62B /* LOTAnimatableLayer.m */; }; + 481A4A5E1E4A7885003CF62B /* LOTAnimatableLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4A191E4A7885003CF62B /* LOTAnimatableLayer.m */; }; + 481A4A5F1E4A7885003CF62B /* LOTEllipseShapeLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4A1A1E4A7885003CF62B /* LOTEllipseShapeLayer.h */; }; + 481A4A601E4A7885003CF62B /* LOTEllipseShapeLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4A1A1E4A7885003CF62B /* LOTEllipseShapeLayer.h */; }; + 481A4A611E4A7885003CF62B /* LOTEllipseShapeLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4A1B1E4A7885003CF62B /* LOTEllipseShapeLayer.m */; }; + 481A4A621E4A7885003CF62B /* LOTEllipseShapeLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4A1B1E4A7885003CF62B /* LOTEllipseShapeLayer.m */; }; + 481A4A631E4A7885003CF62B /* LOTGroupLayerView.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4A1C1E4A7885003CF62B /* LOTGroupLayerView.h */; }; + 481A4A641E4A7885003CF62B /* LOTGroupLayerView.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4A1C1E4A7885003CF62B /* LOTGroupLayerView.h */; }; + 481A4A651E4A7885003CF62B /* LOTGroupLayerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4A1D1E4A7885003CF62B /* LOTGroupLayerView.m */; }; + 481A4A661E4A7885003CF62B /* LOTGroupLayerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4A1D1E4A7885003CF62B /* LOTGroupLayerView.m */; }; + 481A4A671E4A7885003CF62B /* LOTLayerView.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4A1E1E4A7885003CF62B /* LOTLayerView.h */; }; + 481A4A681E4A7885003CF62B /* LOTLayerView.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4A1E1E4A7885003CF62B /* LOTLayerView.h */; }; + 481A4A691E4A7885003CF62B /* LOTLayerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4A1F1E4A7885003CF62B /* LOTLayerView.m */; }; + 481A4A6A1E4A7885003CF62B /* LOTLayerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4A1F1E4A7885003CF62B /* LOTLayerView.m */; }; + 481A4A6B1E4A7885003CF62B /* LOTMaskLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4A201E4A7885003CF62B /* LOTMaskLayer.h */; }; + 481A4A6C1E4A7885003CF62B /* LOTMaskLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4A201E4A7885003CF62B /* LOTMaskLayer.h */; }; + 481A4A6D1E4A7885003CF62B /* LOTMaskLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4A211E4A7885003CF62B /* LOTMaskLayer.m */; }; + 481A4A6E1E4A7885003CF62B /* LOTMaskLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4A211E4A7885003CF62B /* LOTMaskLayer.m */; }; + 481A4A6F1E4A7885003CF62B /* LOTRectShapeLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4A221E4A7885003CF62B /* LOTRectShapeLayer.h */; }; + 481A4A701E4A7885003CF62B /* LOTRectShapeLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4A221E4A7885003CF62B /* LOTRectShapeLayer.h */; }; + 481A4A711E4A7885003CF62B /* LOTRectShapeLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4A231E4A7885003CF62B /* LOTRectShapeLayer.m */; }; + 481A4A721E4A7885003CF62B /* LOTRectShapeLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4A231E4A7885003CF62B /* LOTRectShapeLayer.m */; }; + 481A4A731E4A7885003CF62B /* LOTShapeLayerView.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4A241E4A7885003CF62B /* LOTShapeLayerView.h */; }; + 481A4A741E4A7885003CF62B /* LOTShapeLayerView.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4A241E4A7885003CF62B /* LOTShapeLayerView.h */; }; + 481A4A751E4A7885003CF62B /* LOTShapeLayerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4A251E4A7885003CF62B /* LOTShapeLayerView.m */; }; + 481A4A761E4A7885003CF62B /* LOTShapeLayerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4A251E4A7885003CF62B /* LOTShapeLayerView.m */; }; + 481A4A771E4A7885003CF62B /* LOTAnimatableBoundsValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4A271E4A7885003CF62B /* LOTAnimatableBoundsValue.h */; }; + 481A4A781E4A7885003CF62B /* LOTAnimatableBoundsValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4A271E4A7885003CF62B /* LOTAnimatableBoundsValue.h */; }; + 481A4A791E4A7885003CF62B /* LOTAnimatableBoundsValue.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4A281E4A7885003CF62B /* LOTAnimatableBoundsValue.m */; }; + 481A4A7A1E4A7885003CF62B /* LOTAnimatableBoundsValue.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4A281E4A7885003CF62B /* LOTAnimatableBoundsValue.m */; }; + 481A4A7B1E4A7885003CF62B /* LOTAnimatableColorValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4A291E4A7885003CF62B /* LOTAnimatableColorValue.h */; }; + 481A4A7C1E4A7885003CF62B /* LOTAnimatableColorValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4A291E4A7885003CF62B /* LOTAnimatableColorValue.h */; }; + 481A4A7D1E4A7885003CF62B /* LOTAnimatableColorValue.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4A2A1E4A7885003CF62B /* LOTAnimatableColorValue.m */; }; + 481A4A7E1E4A7885003CF62B /* LOTAnimatableColorValue.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4A2A1E4A7885003CF62B /* LOTAnimatableColorValue.m */; }; + 481A4A7F1E4A7885003CF62B /* LOTAnimatableNumberValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4A2B1E4A7885003CF62B /* LOTAnimatableNumberValue.h */; }; + 481A4A801E4A7885003CF62B /* LOTAnimatableNumberValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4A2B1E4A7885003CF62B /* LOTAnimatableNumberValue.h */; }; + 481A4A811E4A7885003CF62B /* LOTAnimatableNumberValue.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4A2C1E4A7885003CF62B /* LOTAnimatableNumberValue.m */; }; + 481A4A821E4A7885003CF62B /* LOTAnimatableNumberValue.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4A2C1E4A7885003CF62B /* LOTAnimatableNumberValue.m */; }; + 481A4A831E4A7885003CF62B /* LOTAnimatablePointValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4A2D1E4A7885003CF62B /* LOTAnimatablePointValue.h */; }; + 481A4A841E4A7885003CF62B /* LOTAnimatablePointValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4A2D1E4A7885003CF62B /* LOTAnimatablePointValue.h */; }; + 481A4A851E4A7885003CF62B /* LOTAnimatablePointValue.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4A2E1E4A7885003CF62B /* LOTAnimatablePointValue.m */; }; + 481A4A861E4A7885003CF62B /* LOTAnimatablePointValue.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4A2E1E4A7885003CF62B /* LOTAnimatablePointValue.m */; }; + 481A4A871E4A7885003CF62B /* LOTAnimatableScaleValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4A2F1E4A7885003CF62B /* LOTAnimatableScaleValue.h */; }; + 481A4A881E4A7885003CF62B /* LOTAnimatableScaleValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4A2F1E4A7885003CF62B /* LOTAnimatableScaleValue.h */; }; + 481A4A891E4A7885003CF62B /* LOTAnimatableScaleValue.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4A301E4A7885003CF62B /* LOTAnimatableScaleValue.m */; }; + 481A4A8A1E4A7885003CF62B /* LOTAnimatableScaleValue.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4A301E4A7885003CF62B /* LOTAnimatableScaleValue.m */; }; + 481A4A8B1E4A7885003CF62B /* LOTAnimatableShapeValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4A311E4A7885003CF62B /* LOTAnimatableShapeValue.h */; }; + 481A4A8C1E4A7885003CF62B /* LOTAnimatableShapeValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4A311E4A7885003CF62B /* LOTAnimatableShapeValue.h */; }; + 481A4A8D1E4A7885003CF62B /* LOTAnimatableShapeValue.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4A321E4A7885003CF62B /* LOTAnimatableShapeValue.m */; }; + 481A4A8E1E4A7885003CF62B /* LOTAnimatableShapeValue.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4A321E4A7885003CF62B /* LOTAnimatableShapeValue.m */; }; + 481A4A8F1E4A7885003CF62B /* LOTAnimatableValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4A331E4A7885003CF62B /* LOTAnimatableValue.h */; }; + 481A4A901E4A7885003CF62B /* LOTAnimatableValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4A331E4A7885003CF62B /* LOTAnimatableValue.h */; }; + 481A4A911E4A7885003CF62B /* LOTAnimationCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4A351E4A7885003CF62B /* LOTAnimationCache.h */; }; + 481A4A921E4A7885003CF62B /* LOTAnimationCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4A351E4A7885003CF62B /* LOTAnimationCache.h */; }; + 481A4A931E4A7885003CF62B /* LOTAnimationCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4A361E4A7885003CF62B /* LOTAnimationCache.m */; }; + 481A4A941E4A7885003CF62B /* LOTAnimationCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4A361E4A7885003CF62B /* LOTAnimationCache.m */; }; + 481A4A951E4A7885003CF62B /* CAAnimationGroup+LOTAnimatableGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4A381E4A7885003CF62B /* CAAnimationGroup+LOTAnimatableGroup.h */; }; + 481A4A961E4A7885003CF62B /* CAAnimationGroup+LOTAnimatableGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4A381E4A7885003CF62B /* CAAnimationGroup+LOTAnimatableGroup.h */; }; + 481A4A971E4A7885003CF62B /* CAAnimationGroup+LOTAnimatableGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4A391E4A7885003CF62B /* CAAnimationGroup+LOTAnimatableGroup.m */; }; + 481A4A981E4A7885003CF62B /* CAAnimationGroup+LOTAnimatableGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4A391E4A7885003CF62B /* CAAnimationGroup+LOTAnimatableGroup.m */; }; + 481A4A991E4A7885003CF62B /* CGGeometryAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4A3A1E4A7885003CF62B /* CGGeometryAdditions.h */; }; + 481A4A9A1E4A7885003CF62B /* CGGeometryAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4A3A1E4A7885003CF62B /* CGGeometryAdditions.h */; }; + 481A4A9B1E4A7885003CF62B /* CGGeometryAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4A3B1E4A7885003CF62B /* CGGeometryAdditions.m */; }; + 481A4A9C1E4A7885003CF62B /* CGGeometryAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4A3B1E4A7885003CF62B /* CGGeometryAdditions.m */; }; + 481A4A9D1E4A7885003CF62B /* LOTHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4A3C1E4A7885003CF62B /* LOTHelpers.h */; }; + 481A4A9E1E4A7885003CF62B /* LOTHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4A3C1E4A7885003CF62B /* LOTHelpers.h */; }; + 481A4A9F1E4A7885003CF62B /* UIColor+Expanded.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4A3D1E4A7885003CF62B /* UIColor+Expanded.h */; }; + 481A4AA01E4A7885003CF62B /* UIColor+Expanded.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4A3D1E4A7885003CF62B /* UIColor+Expanded.h */; }; + 481A4AA11E4A7885003CF62B /* UIColor+Expanded.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4A3E1E4A7885003CF62B /* UIColor+Expanded.m */; }; + 481A4AA21E4A7885003CF62B /* UIColor+Expanded.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4A3E1E4A7885003CF62B /* UIColor+Expanded.m */; }; + 481A4AA31E4A7885003CF62B /* LOTComposition.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4A401E4A7885003CF62B /* LOTComposition.h */; }; + 481A4AA41E4A7885003CF62B /* LOTComposition.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4A401E4A7885003CF62B /* LOTComposition.h */; }; + 481A4AA51E4A7885003CF62B /* LOTComposition.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4A411E4A7885003CF62B /* LOTComposition.m */; }; + 481A4AA61E4A7885003CF62B /* LOTComposition.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4A411E4A7885003CF62B /* LOTComposition.m */; }; + 481A4AA71E4A7885003CF62B /* LOTLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4A421E4A7885003CF62B /* LOTLayer.h */; }; + 481A4AA81E4A7885003CF62B /* LOTLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4A421E4A7885003CF62B /* LOTLayer.h */; }; + 481A4AA91E4A7885003CF62B /* LOTLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4A431E4A7885003CF62B /* LOTLayer.m */; }; + 481A4AAA1E4A7885003CF62B /* LOTLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4A431E4A7885003CF62B /* LOTLayer.m */; }; + 481A4AAB1E4A7885003CF62B /* LOTMask.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4A441E4A7885003CF62B /* LOTMask.h */; }; + 481A4AAC1E4A7885003CF62B /* LOTMask.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4A441E4A7885003CF62B /* LOTMask.h */; }; + 481A4AAD1E4A7885003CF62B /* LOTMask.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4A451E4A7885003CF62B /* LOTMask.m */; }; + 481A4AAE1E4A7885003CF62B /* LOTMask.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4A451E4A7885003CF62B /* LOTMask.m */; }; + 481A4AAF1E4A7885003CF62B /* LOTModels.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4A461E4A7885003CF62B /* LOTModels.h */; }; + 481A4AB01E4A7885003CF62B /* LOTModels.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4A461E4A7885003CF62B /* LOTModels.h */; }; + 481A4AB11E4A7885003CF62B /* LOTShapeCircle.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4A471E4A7885003CF62B /* LOTShapeCircle.h */; }; + 481A4AB21E4A7885003CF62B /* LOTShapeCircle.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4A471E4A7885003CF62B /* LOTShapeCircle.h */; }; + 481A4AB31E4A7885003CF62B /* LOTShapeCircle.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4A481E4A7885003CF62B /* LOTShapeCircle.m */; }; + 481A4AB41E4A7885003CF62B /* LOTShapeCircle.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4A481E4A7885003CF62B /* LOTShapeCircle.m */; }; + 481A4AB51E4A7885003CF62B /* LOTShapeFill.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4A491E4A7885003CF62B /* LOTShapeFill.h */; }; + 481A4AB61E4A7885003CF62B /* LOTShapeFill.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4A491E4A7885003CF62B /* LOTShapeFill.h */; }; + 481A4AB71E4A7885003CF62B /* LOTShapeFill.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4A4A1E4A7885003CF62B /* LOTShapeFill.m */; }; + 481A4AB81E4A7885003CF62B /* LOTShapeFill.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4A4A1E4A7885003CF62B /* LOTShapeFill.m */; }; + 481A4AB91E4A7885003CF62B /* LOTShapeGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4A4B1E4A7885003CF62B /* LOTShapeGroup.h */; }; + 481A4ABA1E4A7885003CF62B /* LOTShapeGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4A4B1E4A7885003CF62B /* LOTShapeGroup.h */; }; + 481A4ABB1E4A7885003CF62B /* LOTShapeGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4A4C1E4A7885003CF62B /* LOTShapeGroup.m */; }; + 481A4ABC1E4A7885003CF62B /* LOTShapeGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4A4C1E4A7885003CF62B /* LOTShapeGroup.m */; }; + 481A4ABD1E4A7885003CF62B /* LOTShapePath.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4A4D1E4A7885003CF62B /* LOTShapePath.h */; }; + 481A4ABE1E4A7885003CF62B /* LOTShapePath.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4A4D1E4A7885003CF62B /* LOTShapePath.h */; }; + 481A4ABF1E4A7885003CF62B /* LOTShapePath.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4A4E1E4A7885003CF62B /* LOTShapePath.m */; }; + 481A4AC01E4A7885003CF62B /* LOTShapePath.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4A4E1E4A7885003CF62B /* LOTShapePath.m */; }; + 481A4AC11E4A7885003CF62B /* LOTShapeRectangle.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4A4F1E4A7885003CF62B /* LOTShapeRectangle.h */; }; + 481A4AC21E4A7885003CF62B /* LOTShapeRectangle.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4A4F1E4A7885003CF62B /* LOTShapeRectangle.h */; }; + 481A4AC31E4A7885003CF62B /* LOTShapeRectangle.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4A501E4A7885003CF62B /* LOTShapeRectangle.m */; }; + 481A4AC41E4A7885003CF62B /* LOTShapeRectangle.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4A501E4A7885003CF62B /* LOTShapeRectangle.m */; }; + 481A4AC51E4A7885003CF62B /* LOTShapeStroke.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4A511E4A7885003CF62B /* LOTShapeStroke.h */; }; + 481A4AC61E4A7885003CF62B /* LOTShapeStroke.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4A511E4A7885003CF62B /* LOTShapeStroke.h */; }; + 481A4AC71E4A7885003CF62B /* LOTShapeStroke.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4A521E4A7885003CF62B /* LOTShapeStroke.m */; }; + 481A4AC81E4A7885003CF62B /* LOTShapeStroke.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4A521E4A7885003CF62B /* LOTShapeStroke.m */; }; + 481A4AC91E4A7885003CF62B /* LOTShapeTransform.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4A531E4A7885003CF62B /* LOTShapeTransform.h */; }; + 481A4ACA1E4A7885003CF62B /* LOTShapeTransform.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4A531E4A7885003CF62B /* LOTShapeTransform.h */; }; + 481A4ACB1E4A7885003CF62B /* LOTShapeTransform.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4A541E4A7885003CF62B /* LOTShapeTransform.m */; }; + 481A4ACC1E4A7885003CF62B /* LOTShapeTransform.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4A541E4A7885003CF62B /* LOTShapeTransform.m */; }; + 481A4ACD1E4A7885003CF62B /* LOTShapeTrimPath.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4A551E4A7885003CF62B /* LOTShapeTrimPath.h */; }; + 481A4ACE1E4A7885003CF62B /* LOTShapeTrimPath.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4A551E4A7885003CF62B /* LOTShapeTrimPath.h */; }; + 481A4ACF1E4A7885003CF62B /* LOTShapeTrimPath.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4A561E4A7885003CF62B /* LOTShapeTrimPath.m */; }; + 481A4AD01E4A7885003CF62B /* LOTShapeTrimPath.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4A561E4A7885003CF62B /* LOTShapeTrimPath.m */; }; + 481A4AD11E4A7885003CF62B /* LOTAnimationTransitionController.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4A581E4A7885003CF62B /* LOTAnimationTransitionController.m */; }; + 481A4AD21E4A7885003CF62B /* LOTAnimationTransitionController.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4A581E4A7885003CF62B /* LOTAnimationTransitionController.m */; }; + 481A4AD31E4A7885003CF62B /* LOTAnimationView.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4A591E4A7885003CF62B /* LOTAnimationView.m */; }; + 481A4AD41E4A7885003CF62B /* LOTAnimationView.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4A591E4A7885003CF62B /* LOTAnimationView.m */; }; + 481A4AD51E4A7885003CF62B /* LOTAnimationView_Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4A5A1E4A7885003CF62B /* LOTAnimationView_Internal.h */; }; + 481A4AD61E4A7885003CF62B /* LOTAnimationView_Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4A5A1E4A7885003CF62B /* LOTAnimationView_Internal.h */; }; + 481A4AE31E4A78A0003CF62B /* CADisplayLink.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4AD81E4A78A0003CF62B /* CADisplayLink.h */; }; + 481A4AE41E4A78A0003CF62B /* CADisplayLink.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4AD91E4A78A0003CF62B /* CADisplayLink.m */; }; + 481A4AE51E4A78A0003CF62B /* CALayer+Compat.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4ADA1E4A78A0003CF62B /* CALayer+Compat.h */; }; + 481A4AE61E4A78A0003CF62B /* CALayer+Compat.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4ADB1E4A78A0003CF62B /* CALayer+Compat.m */; }; + 481A4AE81E4A78A0003CF62B /* NSValue+Compat.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4ADD1E4A78A0003CF62B /* NSValue+Compat.h */; }; + 481A4AE91E4A78A0003CF62B /* NSValue+Compat.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4ADE1E4A78A0003CF62B /* NSValue+Compat.m */; }; + 481A4AEA1E4A78A0003CF62B /* UIBezierPath.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4ADF1E4A78A0003CF62B /* UIBezierPath.h */; }; + 481A4AEB1E4A78A0003CF62B /* UIBezierPath.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4AE01E4A78A0003CF62B /* UIBezierPath.m */; }; + 481A4AEC1E4A78A0003CF62B /* UIColor.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4AE11E4A78A0003CF62B /* UIColor.h */; }; + 481A4AED1E4A78A0003CF62B /* UIColor.m in Sources */ = {isa = PBXBuildFile; fileRef = 481A4AE21E4A78A0003CF62B /* UIColor.m */; }; + 481A4AEE1E4A78A5003CF62B /* LOTPlatformCompat.h in Headers */ = {isa = PBXBuildFile; fileRef = 481A4ADC1E4A78A0003CF62B /* LOTPlatformCompat.h */; }; 62CA59BD1E3C173B002D7188 /* Lottie-iOS.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59BB1E3C173B002D7188 /* Lottie-iOS.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 62CA5A051E3C179F002D7188 /* LAAnimationTransitionController.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59C41E3C179F002D7188 /* LAAnimationTransitionController.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 62CA5A051E3C179F002D7188 /* LOTAnimationTransitionController.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59C41E3C179F002D7188 /* LOTAnimationTransitionController.h */; settings = {ATTRIBUTES = (Public, ); }; }; 62CA5A071E3C179F002D7188 /* Lottie.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59C61E3C179F002D7188 /* Lottie.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 62CA5A081E3C179F002D7188 /* CAAnimationGroup+LAAnimatableGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59C71E3C179F002D7188 /* CAAnimationGroup+LAAnimatableGroup.h */; }; - 62CA5A091E3C179F002D7188 /* CAAnimationGroup+LAAnimatableGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59C81E3C179F002D7188 /* CAAnimationGroup+LAAnimatableGroup.m */; }; - 62CA5A0A1E3C179F002D7188 /* CGGeometryAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59C91E3C179F002D7188 /* CGGeometryAdditions.h */; }; - 62CA5A0B1E3C179F002D7188 /* CGGeometryAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59CA1E3C179F002D7188 /* CGGeometryAdditions.m */; }; - 62CA5A0C1E3C179F002D7188 /* LAAnimatableBoundsValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59CB1E3C179F002D7188 /* LAAnimatableBoundsValue.h */; }; - 62CA5A0D1E3C179F002D7188 /* LAAnimatableBoundsValue.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59CC1E3C179F002D7188 /* LAAnimatableBoundsValue.m */; }; - 62CA5A0E1E3C179F002D7188 /* LAAnimatableColorValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59CD1E3C179F002D7188 /* LAAnimatableColorValue.h */; }; - 62CA5A0F1E3C179F002D7188 /* LAAnimatableColorValue.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59CE1E3C179F002D7188 /* LAAnimatableColorValue.m */; }; - 62CA5A101E3C179F002D7188 /* LAAnimatableLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59CF1E3C179F002D7188 /* LAAnimatableLayer.h */; }; - 62CA5A111E3C179F002D7188 /* LAAnimatableLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59D01E3C179F002D7188 /* LAAnimatableLayer.m */; }; - 62CA5A121E3C179F002D7188 /* LAAnimatableNumberValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59D11E3C179F002D7188 /* LAAnimatableNumberValue.h */; }; - 62CA5A131E3C179F002D7188 /* LAAnimatableNumberValue.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59D21E3C179F002D7188 /* LAAnimatableNumberValue.m */; }; - 62CA5A141E3C179F002D7188 /* LAAnimatablePointValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59D31E3C179F002D7188 /* LAAnimatablePointValue.h */; }; - 62CA5A151E3C179F002D7188 /* LAAnimatablePointValue.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59D41E3C179F002D7188 /* LAAnimatablePointValue.m */; }; - 62CA5A161E3C179F002D7188 /* LAAnimatableScaleValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59D51E3C179F002D7188 /* LAAnimatableScaleValue.h */; }; - 62CA5A171E3C179F002D7188 /* LAAnimatableScaleValue.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59D61E3C179F002D7188 /* LAAnimatableScaleValue.m */; }; - 62CA5A181E3C179F002D7188 /* LAAnimatableShapeValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59D71E3C179F002D7188 /* LAAnimatableShapeValue.h */; }; - 62CA5A191E3C179F002D7188 /* LAAnimatableShapeValue.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59D81E3C179F002D7188 /* LAAnimatableShapeValue.m */; }; - 62CA5A1A1E3C179F002D7188 /* LAAnimatableValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59D91E3C179F002D7188 /* LAAnimatableValue.h */; }; - 62CA5A1B1E3C179F002D7188 /* LAAnimationCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59DA1E3C179F002D7188 /* LAAnimationCache.h */; }; - 62CA5A1C1E3C179F002D7188 /* LAAnimationCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59DB1E3C179F002D7188 /* LAAnimationCache.m */; }; - 62CA5A1D1E3C179F002D7188 /* LAAnimationTransitionController.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59DC1E3C179F002D7188 /* LAAnimationTransitionController.m */; }; - 62CA5A1E1E3C179F002D7188 /* LAAnimationView_Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59DD1E3C179F002D7188 /* LAAnimationView_Internal.h */; }; - 62CA5A1F1E3C179F002D7188 /* LAAnimationView.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59DE1E3C179F002D7188 /* LAAnimationView.m */; }; - 62CA5A201E3C179F002D7188 /* LAComposition.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59DF1E3C179F002D7188 /* LAComposition.h */; }; - 62CA5A211E3C179F002D7188 /* LAComposition.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59E01E3C179F002D7188 /* LAComposition.m */; }; - 62CA5A221E3C179F002D7188 /* LAEllipseShapeLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59E11E3C179F002D7188 /* LAEllipseShapeLayer.h */; }; - 62CA5A231E3C179F002D7188 /* LAEllipseShapeLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59E21E3C179F002D7188 /* LAEllipseShapeLayer.m */; }; - 62CA5A241E3C179F002D7188 /* LAGroupLayerView.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59E31E3C179F002D7188 /* LAGroupLayerView.h */; }; - 62CA5A251E3C179F002D7188 /* LAGroupLayerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59E41E3C179F002D7188 /* LAGroupLayerView.m */; }; - 62CA5A261E3C179F002D7188 /* LAHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59E51E3C179F002D7188 /* LAHelpers.h */; }; - 62CA5A271E3C179F002D7188 /* LALayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59E61E3C179F002D7188 /* LALayer.h */; }; - 62CA5A281E3C179F002D7188 /* LALayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59E71E3C179F002D7188 /* LALayer.m */; }; - 62CA5A291E3C179F002D7188 /* LALayerView.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59E81E3C179F002D7188 /* LALayerView.h */; }; - 62CA5A2A1E3C179F002D7188 /* LALayerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59E91E3C179F002D7188 /* LALayerView.m */; }; - 62CA5A2B1E3C179F002D7188 /* LAMask.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59EA1E3C179F002D7188 /* LAMask.h */; }; - 62CA5A2C1E3C179F002D7188 /* LAMask.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59EB1E3C179F002D7188 /* LAMask.m */; }; - 62CA5A2D1E3C179F002D7188 /* LAMaskLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59EC1E3C179F002D7188 /* LAMaskLayer.h */; }; - 62CA5A2E1E3C179F002D7188 /* LAMaskLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59ED1E3C179F002D7188 /* LAMaskLayer.m */; }; - 62CA5A2F1E3C179F002D7188 /* LAModels.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59EE1E3C179F002D7188 /* LAModels.h */; }; - 62CA5A301E3C179F002D7188 /* LARectShapeLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59EF1E3C179F002D7188 /* LARectShapeLayer.h */; }; - 62CA5A311E3C179F002D7188 /* LARectShapeLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59F01E3C179F002D7188 /* LARectShapeLayer.m */; }; - 62CA5A321E3C179F002D7188 /* LAShapeCircle.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59F11E3C179F002D7188 /* LAShapeCircle.h */; }; - 62CA5A331E3C179F002D7188 /* LAShapeCircle.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59F21E3C179F002D7188 /* LAShapeCircle.m */; }; - 62CA5A341E3C179F002D7188 /* LAShapeFill.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59F31E3C179F002D7188 /* LAShapeFill.h */; }; - 62CA5A351E3C179F002D7188 /* LAShapeFill.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59F41E3C179F002D7188 /* LAShapeFill.m */; }; - 62CA5A361E3C179F002D7188 /* LAShapeGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59F51E3C179F002D7188 /* LAShapeGroup.h */; }; - 62CA5A371E3C179F002D7188 /* LAShapeGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59F61E3C179F002D7188 /* LAShapeGroup.m */; }; - 62CA5A381E3C179F002D7188 /* LAShapeLayerView.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59F71E3C179F002D7188 /* LAShapeLayerView.h */; }; - 62CA5A391E3C179F002D7188 /* LAShapeLayerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59F81E3C179F002D7188 /* LAShapeLayerView.m */; }; - 62CA5A3A1E3C179F002D7188 /* LAShapePath.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59F91E3C179F002D7188 /* LAShapePath.h */; }; - 62CA5A3B1E3C179F002D7188 /* LAShapePath.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59FA1E3C179F002D7188 /* LAShapePath.m */; }; - 62CA5A3C1E3C179F002D7188 /* LAShapeRectangle.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59FB1E3C179F002D7188 /* LAShapeRectangle.h */; }; - 62CA5A3D1E3C179F002D7188 /* LAShapeRectangle.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59FC1E3C179F002D7188 /* LAShapeRectangle.m */; }; - 62CA5A3E1E3C179F002D7188 /* LAShapeStroke.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59FD1E3C179F002D7188 /* LAShapeStroke.h */; }; - 62CA5A3F1E3C179F002D7188 /* LAShapeStroke.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59FE1E3C179F002D7188 /* LAShapeStroke.m */; }; - 62CA5A401E3C179F002D7188 /* LAShapeTransform.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59FF1E3C179F002D7188 /* LAShapeTransform.h */; }; - 62CA5A411E3C179F002D7188 /* LAShapeTransform.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA5A001E3C179F002D7188 /* LAShapeTransform.m */; }; - 62CA5A421E3C179F002D7188 /* LAShapeTrimPath.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA5A011E3C179F002D7188 /* LAShapeTrimPath.h */; }; - 62CA5A431E3C179F002D7188 /* LAShapeTrimPath.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA5A021E3C179F002D7188 /* LAShapeTrimPath.m */; }; - 62CA5A441E3C179F002D7188 /* UIColor+Expanded.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA5A031E3C179F002D7188 /* UIColor+Expanded.h */; }; - 62CA5A451E3C179F002D7188 /* UIColor+Expanded.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA5A041E3C179F002D7188 /* UIColor+Expanded.m */; }; - FA1F5A821E42B1D200FF36BF /* CADisplayLink.m in Sources */ = {isa = PBXBuildFile; fileRef = FA1F5A6F1E42B1C400FF36BF /* CADisplayLink.m */; }; - FA1F5A831E42B1D200FF36BF /* CALayer+Compat.m in Sources */ = {isa = PBXBuildFile; fileRef = FA1F5A711E42B1C400FF36BF /* CALayer+Compat.m */; }; - FA1F5A841E42B1D200FF36BF /* NSValue+Compat.m in Sources */ = {isa = PBXBuildFile; fileRef = FA1F5A731E42B1C400FF36BF /* NSValue+Compat.m */; }; - FA1F5A851E42B1D200FF36BF /* UIBezierPath.m in Sources */ = {isa = PBXBuildFile; fileRef = FA1F5A751E42B1C400FF36BF /* UIBezierPath.m */; }; - FA1F5A861E42B1D200FF36BF /* UIColor.m in Sources */ = {isa = PBXBuildFile; fileRef = FA1F5A771E42B1C400FF36BF /* UIColor.m */; }; - FA1F5AA01E42B52800FF36BF /* LAAnimationView.h in Headers */ = {isa = PBXBuildFile; fileRef = FA1F5A9F1E42B52800FF36BF /* LAAnimationView.h */; }; - FA1F5AA11E42B52800FF36BF /* LAAnimationView.h in Headers */ = {isa = PBXBuildFile; fileRef = FA1F5A9F1E42B52800FF36BF /* LAAnimationView.h */; }; - FA1F5AA71E42B54400FF36BF /* CADisplayLink.h in Headers */ = {isa = PBXBuildFile; fileRef = FA1F5A6E1E42B1C400FF36BF /* CADisplayLink.h */; }; - FA1F5AA81E42B54400FF36BF /* CALayer+Compat.h in Headers */ = {isa = PBXBuildFile; fileRef = FA1F5A701E42B1C400FF36BF /* CALayer+Compat.h */; }; - FA1F5AA91E42B54400FF36BF /* NSValue+Compat.h in Headers */ = {isa = PBXBuildFile; fileRef = FA1F5A721E42B1C400FF36BF /* NSValue+Compat.h */; }; - FA1F5AAA1E42B54400FF36BF /* UIBezierPath.h in Headers */ = {isa = PBXBuildFile; fileRef = FA1F5A741E42B1C400FF36BF /* UIBezierPath.h */; }; - FA1F5AAB1E42B54400FF36BF /* UIColor.h in Headers */ = {isa = PBXBuildFile; fileRef = FA1F5A761E42B1C400FF36BF /* UIColor.h */; }; + FA1F5AA01E42B52800FF36BF /* LOTAnimationView.h in Headers */ = {isa = PBXBuildFile; fileRef = FA1F5A9F1E42B52800FF36BF /* LOTAnimationView.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FA1F5AA11E42B52800FF36BF /* LOTAnimationView.h in Headers */ = {isa = PBXBuildFile; fileRef = FA1F5A9F1E42B52800FF36BF /* LOTAnimationView.h */; settings = {ATTRIBUTES = (Public, ); }; }; FA1F5AB01E42C11F00FF36BF /* Lottie-macOS.h in Headers */ = {isa = PBXBuildFile; fileRef = FA1F5AAE1E42C11F00FF36BF /* Lottie-macOS.h */; }; - FAE1F79E1E428CBE002E0974 /* CAAnimationGroup+LAAnimatableGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59C81E3C179F002D7188 /* CAAnimationGroup+LAAnimatableGroup.m */; }; - FAE1F79F1E428CBE002E0974 /* CGGeometryAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59CA1E3C179F002D7188 /* CGGeometryAdditions.m */; }; - FAE1F7A01E428CBE002E0974 /* LAMaskLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59ED1E3C179F002D7188 /* LAMaskLayer.m */; }; - FAE1F7A11E428CBE002E0974 /* LAShapeStroke.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59FE1E3C179F002D7188 /* LAShapeStroke.m */; }; - FAE1F7A21E428CBE002E0974 /* LAShapeTrimPath.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA5A021E3C179F002D7188 /* LAShapeTrimPath.m */; }; - FAE1F7A31E428CBE002E0974 /* LAAnimatablePointValue.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59D41E3C179F002D7188 /* LAAnimatablePointValue.m */; }; - FAE1F7A41E428CBE002E0974 /* LAEllipseShapeLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59E21E3C179F002D7188 /* LAEllipseShapeLayer.m */; }; - FAE1F7A51E428CBE002E0974 /* LAAnimatableScaleValue.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59D61E3C179F002D7188 /* LAAnimatableScaleValue.m */; }; - FAE1F7A61E428CBE002E0974 /* LARectShapeLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59F01E3C179F002D7188 /* LARectShapeLayer.m */; }; - FAE1F7A71E428CBE002E0974 /* LAAnimationView.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59DE1E3C179F002D7188 /* LAAnimationView.m */; }; - FAE1F7A81E428CBE002E0974 /* LAGroupLayerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59E41E3C179F002D7188 /* LAGroupLayerView.m */; }; - FAE1F7A91E428CBE002E0974 /* LAShapeFill.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59F41E3C179F002D7188 /* LAShapeFill.m */; }; - FAE1F7AA1E428CBE002E0974 /* LAShapeTransform.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA5A001E3C179F002D7188 /* LAShapeTransform.m */; }; - FAE1F7AB1E428CBE002E0974 /* LAShapeRectangle.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59FC1E3C179F002D7188 /* LAShapeRectangle.m */; }; - FAE1F7AC1E428CBE002E0974 /* LAAnimatableShapeValue.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59D81E3C179F002D7188 /* LAAnimatableShapeValue.m */; }; - FAE1F7AD1E428CBE002E0974 /* LAAnimatableColorValue.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59CE1E3C179F002D7188 /* LAAnimatableColorValue.m */; }; - FAE1F7AE1E428CBE002E0974 /* LAAnimationCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59DB1E3C179F002D7188 /* LAAnimationCache.m */; }; - FAE1F7AF1E428CBE002E0974 /* LAShapePath.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59FA1E3C179F002D7188 /* LAShapePath.m */; }; - FAE1F7B01E428CBE002E0974 /* LAShapeGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59F61E3C179F002D7188 /* LAShapeGroup.m */; }; - FAE1F7B11E428CBE002E0974 /* LAAnimatableNumberValue.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59D21E3C179F002D7188 /* LAAnimatableNumberValue.m */; }; - FAE1F7B21E428CBE002E0974 /* LAAnimatableBoundsValue.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59CC1E3C179F002D7188 /* LAAnimatableBoundsValue.m */; }; - FAE1F7B31E428CBE002E0974 /* LAShapeCircle.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59F21E3C179F002D7188 /* LAShapeCircle.m */; }; - FAE1F7B41E428CBE002E0974 /* LAComposition.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59E01E3C179F002D7188 /* LAComposition.m */; }; - FAE1F7B51E428CBE002E0974 /* LAAnimatableLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59D01E3C179F002D7188 /* LAAnimatableLayer.m */; }; - FAE1F7B61E428CBE002E0974 /* UIColor+Expanded.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA5A041E3C179F002D7188 /* UIColor+Expanded.m */; }; - FAE1F7B71E428CBE002E0974 /* LAShapeLayerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59F81E3C179F002D7188 /* LAShapeLayerView.m */; }; - FAE1F7B81E428CBE002E0974 /* LALayerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59E91E3C179F002D7188 /* LALayerView.m */; }; - FAE1F7B91E428CBE002E0974 /* LALayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59E71E3C179F002D7188 /* LALayer.m */; }; - FAE1F7BA1E428CBE002E0974 /* LAMask.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59EB1E3C179F002D7188 /* LAMask.m */; }; - FAE1F7BB1E428CBE002E0974 /* LAAnimationTransitionController.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59DC1E3C179F002D7188 /* LAAnimationTransitionController.m */; }; - FAE1F7BE1E428CBE002E0974 /* LAModels.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59EE1E3C179F002D7188 /* LAModels.h */; }; - FAE1F7BF1E428CBE002E0974 /* LAEllipseShapeLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59E11E3C179F002D7188 /* LAEllipseShapeLayer.h */; }; - FAE1F7C01E428CBE002E0974 /* LAHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59E51E3C179F002D7188 /* LAHelpers.h */; }; - FAE1F7C11E428CBE002E0974 /* LAShapeGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59F51E3C179F002D7188 /* LAShapeGroup.h */; }; - FAE1F7C31E428CBE002E0974 /* LAAnimationCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59DA1E3C179F002D7188 /* LAAnimationCache.h */; }; - FAE1F7C41E428CBE002E0974 /* LAShapeLayerView.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59F71E3C179F002D7188 /* LAShapeLayerView.h */; }; - FAE1F7C51E428CBE002E0974 /* LAAnimatablePointValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59D31E3C179F002D7188 /* LAAnimatablePointValue.h */; }; - FAE1F7C61E428CBE002E0974 /* LAShapeTransform.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59FF1E3C179F002D7188 /* LAShapeTransform.h */; }; - FAE1F7C71E428CBE002E0974 /* CAAnimationGroup+LAAnimatableGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59C71E3C179F002D7188 /* CAAnimationGroup+LAAnimatableGroup.h */; }; - FAE1F7C81E428CBE002E0974 /* LAAnimationView_Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59DD1E3C179F002D7188 /* LAAnimationView_Internal.h */; }; - FAE1F7C91E428CBE002E0974 /* LAMask.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59EA1E3C179F002D7188 /* LAMask.h */; }; - FAE1F7CA1E428CBE002E0974 /* CGGeometryAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59C91E3C179F002D7188 /* CGGeometryAdditions.h */; }; - FAE1F7CB1E428CBE002E0974 /* LAMaskLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59EC1E3C179F002D7188 /* LAMaskLayer.h */; }; - FAE1F7CD1E428CBE002E0974 /* LAShapeFill.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59F31E3C179F002D7188 /* LAShapeFill.h */; }; - FAE1F7CE1E428CBE002E0974 /* LAAnimationTransitionController.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59C41E3C179F002D7188 /* LAAnimationTransitionController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - FAE1F7CF1E428CBE002E0974 /* UIColor+Expanded.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA5A031E3C179F002D7188 /* UIColor+Expanded.h */; }; - FAE1F7D01E428CBE002E0974 /* LAAnimatableColorValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59CD1E3C179F002D7188 /* LAAnimatableColorValue.h */; }; - FAE1F7D11E428CBE002E0974 /* LAAnimatableNumberValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59D11E3C179F002D7188 /* LAAnimatableNumberValue.h */; }; - FAE1F7D21E428CBE002E0974 /* LAShapeStroke.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59FD1E3C179F002D7188 /* LAShapeStroke.h */; }; - FAE1F7D31E428CBE002E0974 /* LAAnimatableBoundsValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59CB1E3C179F002D7188 /* LAAnimatableBoundsValue.h */; }; - FAE1F7D41E428CBE002E0974 /* LALayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59E61E3C179F002D7188 /* LALayer.h */; }; - FAE1F7D51E428CBE002E0974 /* LARectShapeLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59EF1E3C179F002D7188 /* LARectShapeLayer.h */; }; - FAE1F7D61E428CBE002E0974 /* LAAnimatableShapeValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59D71E3C179F002D7188 /* LAAnimatableShapeValue.h */; }; + FAE1F7CE1E428CBE002E0974 /* LOTAnimationTransitionController.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59C41E3C179F002D7188 /* LOTAnimationTransitionController.h */; settings = {ATTRIBUTES = (Public, ); }; }; FAE1F7D71E428CBE002E0974 /* Lottie.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59C61E3C179F002D7188 /* Lottie.h */; settings = {ATTRIBUTES = (Public, ); }; }; - FAE1F7D81E428CBE002E0974 /* LAShapeTrimPath.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA5A011E3C179F002D7188 /* LAShapeTrimPath.h */; }; - FAE1F7D91E428CBE002E0974 /* LALayerView.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59E81E3C179F002D7188 /* LALayerView.h */; }; - FAE1F7DA1E428CBE002E0974 /* LAAnimatableValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59D91E3C179F002D7188 /* LAAnimatableValue.h */; }; - FAE1F7DB1E428CBE002E0974 /* LAAnimatableScaleValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59D51E3C179F002D7188 /* LAAnimatableScaleValue.h */; }; - FAE1F7DC1E428CBE002E0974 /* LAComposition.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59DF1E3C179F002D7188 /* LAComposition.h */; }; - FAE1F7DD1E428CBE002E0974 /* LAShapeRectangle.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59FB1E3C179F002D7188 /* LAShapeRectangle.h */; }; - FAE1F7DE1E428CBE002E0974 /* LAAnimatableLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59CF1E3C179F002D7188 /* LAAnimatableLayer.h */; }; - FAE1F7DF1E428CBE002E0974 /* LAGroupLayerView.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59E31E3C179F002D7188 /* LAGroupLayerView.h */; }; - FAE1F7E01E428CBE002E0974 /* LAShapePath.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59F91E3C179F002D7188 /* LAShapePath.h */; }; - FAE1F7E11E428CBE002E0974 /* LAShapeCircle.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59F11E3C179F002D7188 /* LAShapeCircle.h */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ - 2DBA16351B4FA408937A16CE /* LAAnimationView_Compat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LAAnimationView_Compat.h; sourceTree = ""; }; - 2DBA1CAF95F14074593D133F /* LAPlatformCompat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LAPlatformCompat.h; path = "../lottie-ios/Classes/LAPlatformCompat.h"; sourceTree = ""; }; + 2DBA16351B4FA408937A16CE /* LOTAnimationView_Compat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LOTAnimationView_Compat.h; sourceTree = ""; }; + 481A4A181E4A7885003CF62B /* LOTAnimatableLayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LOTAnimatableLayer.h; sourceTree = ""; }; + 481A4A191E4A7885003CF62B /* LOTAnimatableLayer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LOTAnimatableLayer.m; sourceTree = ""; }; + 481A4A1A1E4A7885003CF62B /* LOTEllipseShapeLayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LOTEllipseShapeLayer.h; sourceTree = ""; }; + 481A4A1B1E4A7885003CF62B /* LOTEllipseShapeLayer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LOTEllipseShapeLayer.m; sourceTree = ""; }; + 481A4A1C1E4A7885003CF62B /* LOTGroupLayerView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LOTGroupLayerView.h; sourceTree = ""; }; + 481A4A1D1E4A7885003CF62B /* LOTGroupLayerView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LOTGroupLayerView.m; sourceTree = ""; }; + 481A4A1E1E4A7885003CF62B /* LOTLayerView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LOTLayerView.h; sourceTree = ""; }; + 481A4A1F1E4A7885003CF62B /* LOTLayerView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LOTLayerView.m; sourceTree = ""; }; + 481A4A201E4A7885003CF62B /* LOTMaskLayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LOTMaskLayer.h; sourceTree = ""; }; + 481A4A211E4A7885003CF62B /* LOTMaskLayer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LOTMaskLayer.m; sourceTree = ""; }; + 481A4A221E4A7885003CF62B /* LOTRectShapeLayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LOTRectShapeLayer.h; sourceTree = ""; }; + 481A4A231E4A7885003CF62B /* LOTRectShapeLayer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LOTRectShapeLayer.m; sourceTree = ""; }; + 481A4A241E4A7885003CF62B /* LOTShapeLayerView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LOTShapeLayerView.h; sourceTree = ""; }; + 481A4A251E4A7885003CF62B /* LOTShapeLayerView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LOTShapeLayerView.m; sourceTree = ""; }; + 481A4A271E4A7885003CF62B /* LOTAnimatableBoundsValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LOTAnimatableBoundsValue.h; sourceTree = ""; }; + 481A4A281E4A7885003CF62B /* LOTAnimatableBoundsValue.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LOTAnimatableBoundsValue.m; sourceTree = ""; }; + 481A4A291E4A7885003CF62B /* LOTAnimatableColorValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LOTAnimatableColorValue.h; sourceTree = ""; }; + 481A4A2A1E4A7885003CF62B /* LOTAnimatableColorValue.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LOTAnimatableColorValue.m; sourceTree = ""; }; + 481A4A2B1E4A7885003CF62B /* LOTAnimatableNumberValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LOTAnimatableNumberValue.h; sourceTree = ""; }; + 481A4A2C1E4A7885003CF62B /* LOTAnimatableNumberValue.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LOTAnimatableNumberValue.m; sourceTree = ""; }; + 481A4A2D1E4A7885003CF62B /* LOTAnimatablePointValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LOTAnimatablePointValue.h; sourceTree = ""; }; + 481A4A2E1E4A7885003CF62B /* LOTAnimatablePointValue.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LOTAnimatablePointValue.m; sourceTree = ""; }; + 481A4A2F1E4A7885003CF62B /* LOTAnimatableScaleValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LOTAnimatableScaleValue.h; sourceTree = ""; }; + 481A4A301E4A7885003CF62B /* LOTAnimatableScaleValue.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LOTAnimatableScaleValue.m; sourceTree = ""; }; + 481A4A311E4A7885003CF62B /* LOTAnimatableShapeValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LOTAnimatableShapeValue.h; sourceTree = ""; }; + 481A4A321E4A7885003CF62B /* LOTAnimatableShapeValue.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LOTAnimatableShapeValue.m; sourceTree = ""; }; + 481A4A331E4A7885003CF62B /* LOTAnimatableValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LOTAnimatableValue.h; sourceTree = ""; }; + 481A4A351E4A7885003CF62B /* LOTAnimationCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LOTAnimationCache.h; sourceTree = ""; }; + 481A4A361E4A7885003CF62B /* LOTAnimationCache.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LOTAnimationCache.m; sourceTree = ""; }; + 481A4A381E4A7885003CF62B /* CAAnimationGroup+LOTAnimatableGroup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "CAAnimationGroup+LOTAnimatableGroup.h"; sourceTree = ""; }; + 481A4A391E4A7885003CF62B /* CAAnimationGroup+LOTAnimatableGroup.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "CAAnimationGroup+LOTAnimatableGroup.m"; sourceTree = ""; }; + 481A4A3A1E4A7885003CF62B /* CGGeometryAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CGGeometryAdditions.h; sourceTree = ""; }; + 481A4A3B1E4A7885003CF62B /* CGGeometryAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CGGeometryAdditions.m; sourceTree = ""; }; + 481A4A3C1E4A7885003CF62B /* LOTHelpers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LOTHelpers.h; sourceTree = ""; }; + 481A4A3D1E4A7885003CF62B /* UIColor+Expanded.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIColor+Expanded.h"; sourceTree = ""; }; + 481A4A3E1E4A7885003CF62B /* UIColor+Expanded.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIColor+Expanded.m"; sourceTree = ""; }; + 481A4A401E4A7885003CF62B /* LOTComposition.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LOTComposition.h; sourceTree = ""; }; + 481A4A411E4A7885003CF62B /* LOTComposition.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LOTComposition.m; sourceTree = ""; }; + 481A4A421E4A7885003CF62B /* LOTLayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LOTLayer.h; sourceTree = ""; }; + 481A4A431E4A7885003CF62B /* LOTLayer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LOTLayer.m; sourceTree = ""; }; + 481A4A441E4A7885003CF62B /* LOTMask.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LOTMask.h; sourceTree = ""; }; + 481A4A451E4A7885003CF62B /* LOTMask.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LOTMask.m; sourceTree = ""; }; + 481A4A461E4A7885003CF62B /* LOTModels.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LOTModels.h; sourceTree = ""; }; + 481A4A471E4A7885003CF62B /* LOTShapeCircle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LOTShapeCircle.h; sourceTree = ""; }; + 481A4A481E4A7885003CF62B /* LOTShapeCircle.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LOTShapeCircle.m; sourceTree = ""; }; + 481A4A491E4A7885003CF62B /* LOTShapeFill.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LOTShapeFill.h; sourceTree = ""; }; + 481A4A4A1E4A7885003CF62B /* LOTShapeFill.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LOTShapeFill.m; sourceTree = ""; }; + 481A4A4B1E4A7885003CF62B /* LOTShapeGroup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LOTShapeGroup.h; sourceTree = ""; }; + 481A4A4C1E4A7885003CF62B /* LOTShapeGroup.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LOTShapeGroup.m; sourceTree = ""; }; + 481A4A4D1E4A7885003CF62B /* LOTShapePath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LOTShapePath.h; sourceTree = ""; }; + 481A4A4E1E4A7885003CF62B /* LOTShapePath.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LOTShapePath.m; sourceTree = ""; }; + 481A4A4F1E4A7885003CF62B /* LOTShapeRectangle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LOTShapeRectangle.h; sourceTree = ""; }; + 481A4A501E4A7885003CF62B /* LOTShapeRectangle.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LOTShapeRectangle.m; sourceTree = ""; }; + 481A4A511E4A7885003CF62B /* LOTShapeStroke.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LOTShapeStroke.h; sourceTree = ""; }; + 481A4A521E4A7885003CF62B /* LOTShapeStroke.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LOTShapeStroke.m; sourceTree = ""; }; + 481A4A531E4A7885003CF62B /* LOTShapeTransform.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LOTShapeTransform.h; sourceTree = ""; }; + 481A4A541E4A7885003CF62B /* LOTShapeTransform.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LOTShapeTransform.m; sourceTree = ""; }; + 481A4A551E4A7885003CF62B /* LOTShapeTrimPath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LOTShapeTrimPath.h; sourceTree = ""; }; + 481A4A561E4A7885003CF62B /* LOTShapeTrimPath.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LOTShapeTrimPath.m; sourceTree = ""; }; + 481A4A581E4A7885003CF62B /* LOTAnimationTransitionController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LOTAnimationTransitionController.m; sourceTree = ""; }; + 481A4A591E4A7885003CF62B /* LOTAnimationView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LOTAnimationView.m; sourceTree = ""; }; + 481A4A5A1E4A7885003CF62B /* LOTAnimationView_Internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LOTAnimationView_Internal.h; sourceTree = ""; }; + 481A4AD81E4A78A0003CF62B /* CADisplayLink.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CADisplayLink.h; sourceTree = ""; }; + 481A4AD91E4A78A0003CF62B /* CADisplayLink.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CADisplayLink.m; sourceTree = ""; }; + 481A4ADA1E4A78A0003CF62B /* CALayer+Compat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "CALayer+Compat.h"; sourceTree = ""; }; + 481A4ADB1E4A78A0003CF62B /* CALayer+Compat.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "CALayer+Compat.m"; sourceTree = ""; }; + 481A4ADC1E4A78A0003CF62B /* LOTPlatformCompat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LOTPlatformCompat.h; sourceTree = ""; }; + 481A4ADD1E4A78A0003CF62B /* NSValue+Compat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSValue+Compat.h"; sourceTree = ""; }; + 481A4ADE1E4A78A0003CF62B /* NSValue+Compat.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSValue+Compat.m"; sourceTree = ""; }; + 481A4ADF1E4A78A0003CF62B /* UIBezierPath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIBezierPath.h; sourceTree = ""; }; + 481A4AE01E4A78A0003CF62B /* UIBezierPath.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIBezierPath.m; sourceTree = ""; }; + 481A4AE11E4A78A0003CF62B /* UIColor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIColor.h; sourceTree = ""; }; + 481A4AE21E4A78A0003CF62B /* UIColor.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIColor.m; sourceTree = ""; }; 62CA59B81E3C173B002D7188 /* Lottie.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Lottie.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 62CA59BB1E3C173B002D7188 /* Lottie-iOS.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Lottie-iOS.h"; sourceTree = ""; }; 62CA59BC1E3C173B002D7188 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 62CA59C41E3C179F002D7188 /* LAAnimationTransitionController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LAAnimationTransitionController.h; sourceTree = ""; }; + 62CA59C41E3C179F002D7188 /* LOTAnimationTransitionController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LOTAnimationTransitionController.h; sourceTree = ""; }; 62CA59C61E3C179F002D7188 /* Lottie.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Lottie.h; sourceTree = ""; }; - 62CA59C71E3C179F002D7188 /* CAAnimationGroup+LAAnimatableGroup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "CAAnimationGroup+LAAnimatableGroup.h"; path = "lottie-ios/Classes/CAAnimationGroup+LAAnimatableGroup.h"; sourceTree = SOURCE_ROOT; }; - 62CA59C81E3C179F002D7188 /* CAAnimationGroup+LAAnimatableGroup.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "CAAnimationGroup+LAAnimatableGroup.m"; path = "lottie-ios/Classes/CAAnimationGroup+LAAnimatableGroup.m"; sourceTree = SOURCE_ROOT; }; - 62CA59C91E3C179F002D7188 /* CGGeometryAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CGGeometryAdditions.h; path = "lottie-ios/Classes/CGGeometryAdditions.h"; sourceTree = SOURCE_ROOT; }; - 62CA59CA1E3C179F002D7188 /* CGGeometryAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CGGeometryAdditions.m; path = "lottie-ios/Classes/CGGeometryAdditions.m"; sourceTree = SOURCE_ROOT; }; - 62CA59CB1E3C179F002D7188 /* LAAnimatableBoundsValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LAAnimatableBoundsValue.h; path = "lottie-ios/Classes/LAAnimatableBoundsValue.h"; sourceTree = SOURCE_ROOT; }; - 62CA59CC1E3C179F002D7188 /* LAAnimatableBoundsValue.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = LAAnimatableBoundsValue.m; path = "lottie-ios/Classes/LAAnimatableBoundsValue.m"; sourceTree = SOURCE_ROOT; }; - 62CA59CD1E3C179F002D7188 /* LAAnimatableColorValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LAAnimatableColorValue.h; path = "lottie-ios/Classes/LAAnimatableColorValue.h"; sourceTree = SOURCE_ROOT; }; - 62CA59CE1E3C179F002D7188 /* LAAnimatableColorValue.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = LAAnimatableColorValue.m; path = "lottie-ios/Classes/LAAnimatableColorValue.m"; sourceTree = SOURCE_ROOT; }; - 62CA59CF1E3C179F002D7188 /* LAAnimatableLayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LAAnimatableLayer.h; path = "lottie-ios/Classes/LAAnimatableLayer.h"; sourceTree = SOURCE_ROOT; }; - 62CA59D01E3C179F002D7188 /* LAAnimatableLayer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = LAAnimatableLayer.m; path = "lottie-ios/Classes/LAAnimatableLayer.m"; sourceTree = SOURCE_ROOT; }; - 62CA59D11E3C179F002D7188 /* LAAnimatableNumberValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LAAnimatableNumberValue.h; path = "lottie-ios/Classes/LAAnimatableNumberValue.h"; sourceTree = SOURCE_ROOT; }; - 62CA59D21E3C179F002D7188 /* LAAnimatableNumberValue.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = LAAnimatableNumberValue.m; path = "lottie-ios/Classes/LAAnimatableNumberValue.m"; sourceTree = SOURCE_ROOT; }; - 62CA59D31E3C179F002D7188 /* LAAnimatablePointValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LAAnimatablePointValue.h; path = "lottie-ios/Classes/LAAnimatablePointValue.h"; sourceTree = SOURCE_ROOT; }; - 62CA59D41E3C179F002D7188 /* LAAnimatablePointValue.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = LAAnimatablePointValue.m; path = "lottie-ios/Classes/LAAnimatablePointValue.m"; sourceTree = SOURCE_ROOT; }; - 62CA59D51E3C179F002D7188 /* LAAnimatableScaleValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LAAnimatableScaleValue.h; path = "lottie-ios/Classes/LAAnimatableScaleValue.h"; sourceTree = SOURCE_ROOT; }; - 62CA59D61E3C179F002D7188 /* LAAnimatableScaleValue.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = LAAnimatableScaleValue.m; path = "lottie-ios/Classes/LAAnimatableScaleValue.m"; sourceTree = SOURCE_ROOT; }; - 62CA59D71E3C179F002D7188 /* LAAnimatableShapeValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LAAnimatableShapeValue.h; path = "lottie-ios/Classes/LAAnimatableShapeValue.h"; sourceTree = SOURCE_ROOT; }; - 62CA59D81E3C179F002D7188 /* LAAnimatableShapeValue.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = LAAnimatableShapeValue.m; path = "lottie-ios/Classes/LAAnimatableShapeValue.m"; sourceTree = SOURCE_ROOT; }; - 62CA59D91E3C179F002D7188 /* LAAnimatableValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LAAnimatableValue.h; path = "lottie-ios/Classes/LAAnimatableValue.h"; sourceTree = SOURCE_ROOT; }; - 62CA59DA1E3C179F002D7188 /* LAAnimationCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LAAnimationCache.h; path = "lottie-ios/Classes/LAAnimationCache.h"; sourceTree = SOURCE_ROOT; }; - 62CA59DB1E3C179F002D7188 /* LAAnimationCache.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = LAAnimationCache.m; path = "lottie-ios/Classes/LAAnimationCache.m"; sourceTree = SOURCE_ROOT; }; - 62CA59DC1E3C179F002D7188 /* LAAnimationTransitionController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = LAAnimationTransitionController.m; path = "lottie-ios/Classes/LAAnimationTransitionController.m"; sourceTree = SOURCE_ROOT; }; - 62CA59DD1E3C179F002D7188 /* LAAnimationView_Internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LAAnimationView_Internal.h; path = "lottie-ios/Classes/LAAnimationView_Internal.h"; sourceTree = SOURCE_ROOT; }; - 62CA59DE1E3C179F002D7188 /* LAAnimationView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = LAAnimationView.m; path = "lottie-ios/Classes/LAAnimationView.m"; sourceTree = SOURCE_ROOT; }; - 62CA59DF1E3C179F002D7188 /* LAComposition.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LAComposition.h; path = "lottie-ios/Classes/LAComposition.h"; sourceTree = SOURCE_ROOT; }; - 62CA59E01E3C179F002D7188 /* LAComposition.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = LAComposition.m; path = "lottie-ios/Classes/LAComposition.m"; sourceTree = SOURCE_ROOT; }; - 62CA59E11E3C179F002D7188 /* LAEllipseShapeLayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LAEllipseShapeLayer.h; path = "lottie-ios/Classes/LAEllipseShapeLayer.h"; sourceTree = SOURCE_ROOT; }; - 62CA59E21E3C179F002D7188 /* LAEllipseShapeLayer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = LAEllipseShapeLayer.m; path = "lottie-ios/Classes/LAEllipseShapeLayer.m"; sourceTree = SOURCE_ROOT; }; - 62CA59E31E3C179F002D7188 /* LAGroupLayerView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LAGroupLayerView.h; path = "lottie-ios/Classes/LAGroupLayerView.h"; sourceTree = SOURCE_ROOT; }; - 62CA59E41E3C179F002D7188 /* LAGroupLayerView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = LAGroupLayerView.m; path = "lottie-ios/Classes/LAGroupLayerView.m"; sourceTree = SOURCE_ROOT; }; - 62CA59E51E3C179F002D7188 /* LAHelpers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LAHelpers.h; path = "lottie-ios/Classes/LAHelpers.h"; sourceTree = SOURCE_ROOT; }; - 62CA59E61E3C179F002D7188 /* LALayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LALayer.h; path = "lottie-ios/Classes/LALayer.h"; sourceTree = SOURCE_ROOT; }; - 62CA59E71E3C179F002D7188 /* LALayer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = LALayer.m; path = "lottie-ios/Classes/LALayer.m"; sourceTree = SOURCE_ROOT; }; - 62CA59E81E3C179F002D7188 /* LALayerView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LALayerView.h; path = "lottie-ios/Classes/LALayerView.h"; sourceTree = SOURCE_ROOT; }; - 62CA59E91E3C179F002D7188 /* LALayerView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = LALayerView.m; path = "lottie-ios/Classes/LALayerView.m"; sourceTree = SOURCE_ROOT; }; - 62CA59EA1E3C179F002D7188 /* LAMask.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LAMask.h; path = "lottie-ios/Classes/LAMask.h"; sourceTree = SOURCE_ROOT; }; - 62CA59EB1E3C179F002D7188 /* LAMask.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = LAMask.m; path = "lottie-ios/Classes/LAMask.m"; sourceTree = SOURCE_ROOT; }; - 62CA59EC1E3C179F002D7188 /* LAMaskLayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LAMaskLayer.h; path = "lottie-ios/Classes/LAMaskLayer.h"; sourceTree = SOURCE_ROOT; }; - 62CA59ED1E3C179F002D7188 /* LAMaskLayer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = LAMaskLayer.m; path = "lottie-ios/Classes/LAMaskLayer.m"; sourceTree = SOURCE_ROOT; }; - 62CA59EE1E3C179F002D7188 /* LAModels.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LAModels.h; path = "lottie-ios/Classes/LAModels.h"; sourceTree = SOURCE_ROOT; }; - 62CA59EF1E3C179F002D7188 /* LARectShapeLayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LARectShapeLayer.h; path = "lottie-ios/Classes/LARectShapeLayer.h"; sourceTree = SOURCE_ROOT; }; - 62CA59F01E3C179F002D7188 /* LARectShapeLayer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = LARectShapeLayer.m; path = "lottie-ios/Classes/LARectShapeLayer.m"; sourceTree = SOURCE_ROOT; }; - 62CA59F11E3C179F002D7188 /* LAShapeCircle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LAShapeCircle.h; path = "lottie-ios/Classes/LAShapeCircle.h"; sourceTree = SOURCE_ROOT; }; - 62CA59F21E3C179F002D7188 /* LAShapeCircle.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = LAShapeCircle.m; path = "lottie-ios/Classes/LAShapeCircle.m"; sourceTree = SOURCE_ROOT; }; - 62CA59F31E3C179F002D7188 /* LAShapeFill.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LAShapeFill.h; path = "lottie-ios/Classes/LAShapeFill.h"; sourceTree = SOURCE_ROOT; }; - 62CA59F41E3C179F002D7188 /* LAShapeFill.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = LAShapeFill.m; path = "lottie-ios/Classes/LAShapeFill.m"; sourceTree = SOURCE_ROOT; }; - 62CA59F51E3C179F002D7188 /* LAShapeGroup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LAShapeGroup.h; path = "lottie-ios/Classes/LAShapeGroup.h"; sourceTree = SOURCE_ROOT; }; - 62CA59F61E3C179F002D7188 /* LAShapeGroup.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = LAShapeGroup.m; path = "lottie-ios/Classes/LAShapeGroup.m"; sourceTree = SOURCE_ROOT; }; - 62CA59F71E3C179F002D7188 /* LAShapeLayerView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LAShapeLayerView.h; path = "lottie-ios/Classes/LAShapeLayerView.h"; sourceTree = SOURCE_ROOT; }; - 62CA59F81E3C179F002D7188 /* LAShapeLayerView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = LAShapeLayerView.m; path = "lottie-ios/Classes/LAShapeLayerView.m"; sourceTree = SOURCE_ROOT; }; - 62CA59F91E3C179F002D7188 /* LAShapePath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LAShapePath.h; path = "lottie-ios/Classes/LAShapePath.h"; sourceTree = SOURCE_ROOT; }; - 62CA59FA1E3C179F002D7188 /* LAShapePath.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = LAShapePath.m; path = "lottie-ios/Classes/LAShapePath.m"; sourceTree = SOURCE_ROOT; }; - 62CA59FB1E3C179F002D7188 /* LAShapeRectangle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LAShapeRectangle.h; path = "lottie-ios/Classes/LAShapeRectangle.h"; sourceTree = SOURCE_ROOT; }; - 62CA59FC1E3C179F002D7188 /* LAShapeRectangle.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = LAShapeRectangle.m; path = "lottie-ios/Classes/LAShapeRectangle.m"; sourceTree = SOURCE_ROOT; }; - 62CA59FD1E3C179F002D7188 /* LAShapeStroke.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LAShapeStroke.h; path = "lottie-ios/Classes/LAShapeStroke.h"; sourceTree = SOURCE_ROOT; }; - 62CA59FE1E3C179F002D7188 /* LAShapeStroke.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = LAShapeStroke.m; path = "lottie-ios/Classes/LAShapeStroke.m"; sourceTree = SOURCE_ROOT; }; - 62CA59FF1E3C179F002D7188 /* LAShapeTransform.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LAShapeTransform.h; path = "lottie-ios/Classes/LAShapeTransform.h"; sourceTree = SOURCE_ROOT; }; - 62CA5A001E3C179F002D7188 /* LAShapeTransform.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = LAShapeTransform.m; path = "lottie-ios/Classes/LAShapeTransform.m"; sourceTree = SOURCE_ROOT; }; - 62CA5A011E3C179F002D7188 /* LAShapeTrimPath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LAShapeTrimPath.h; path = "lottie-ios/Classes/LAShapeTrimPath.h"; sourceTree = SOURCE_ROOT; }; - 62CA5A021E3C179F002D7188 /* LAShapeTrimPath.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = LAShapeTrimPath.m; path = "lottie-ios/Classes/LAShapeTrimPath.m"; sourceTree = SOURCE_ROOT; }; - 62CA5A031E3C179F002D7188 /* UIColor+Expanded.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "UIColor+Expanded.h"; path = "lottie-ios/Classes/UIColor+Expanded.h"; sourceTree = SOURCE_ROOT; }; - 62CA5A041E3C179F002D7188 /* UIColor+Expanded.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "UIColor+Expanded.m"; path = "lottie-ios/Classes/UIColor+Expanded.m"; sourceTree = SOURCE_ROOT; }; - FA1F5A6E1E42B1C400FF36BF /* CADisplayLink.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CADisplayLink.h; path = "lottie-ios/Classes/CADisplayLink.h"; sourceTree = SOURCE_ROOT; }; - FA1F5A6F1E42B1C400FF36BF /* CADisplayLink.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CADisplayLink.m; path = "lottie-ios/Classes/CADisplayLink.m"; sourceTree = SOURCE_ROOT; }; - FA1F5A701E42B1C400FF36BF /* CALayer+Compat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "CALayer+Compat.h"; path = "lottie-ios/Classes/CALayer+Compat.h"; sourceTree = SOURCE_ROOT; }; - FA1F5A711E42B1C400FF36BF /* CALayer+Compat.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "CALayer+Compat.m"; path = "lottie-ios/Classes/CALayer+Compat.m"; sourceTree = SOURCE_ROOT; }; - FA1F5A721E42B1C400FF36BF /* NSValue+Compat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "NSValue+Compat.h"; path = "lottie-ios/Classes/NSValue+Compat.h"; sourceTree = SOURCE_ROOT; }; - FA1F5A731E42B1C400FF36BF /* NSValue+Compat.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "NSValue+Compat.m"; path = "lottie-ios/Classes/NSValue+Compat.m"; sourceTree = SOURCE_ROOT; }; - FA1F5A741E42B1C400FF36BF /* UIBezierPath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = UIBezierPath.h; path = "lottie-ios/Classes/UIBezierPath.h"; sourceTree = SOURCE_ROOT; }; - FA1F5A751E42B1C400FF36BF /* UIBezierPath.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = UIBezierPath.m; path = "lottie-ios/Classes/UIBezierPath.m"; sourceTree = SOURCE_ROOT; }; - FA1F5A761E42B1C400FF36BF /* UIColor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = UIColor.h; path = "lottie-ios/Classes/UIColor.h"; sourceTree = SOURCE_ROOT; }; - FA1F5A771E42B1C400FF36BF /* UIColor.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = UIColor.m; path = "lottie-ios/Classes/UIColor.m"; sourceTree = SOURCE_ROOT; }; - FA1F5A9F1E42B52800FF36BF /* LAAnimationView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LAAnimationView.h; sourceTree = ""; }; + FA1F5A9F1E42B52800FF36BF /* LOTAnimationView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LOTAnimationView.h; sourceTree = ""; }; FA1F5AAE1E42C11F00FF36BF /* Lottie-macOS.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Lottie-macOS.h"; sourceTree = ""; }; FAE1F7E61E428CBE002E0974 /* Lottie.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Lottie.framework; sourceTree = BUILT_PRODUCTS_DIR; }; FAE1F7E71E428CBE002E0974 /* Lottie copy-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Lottie copy-Info.plist"; path = "/Users/alex/Projects/lottie-ios/Lottie copy-Info.plist"; sourceTree = ""; }; @@ -257,6 +257,135 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + 481A4A171E4A7885003CF62B /* Animatable Layers */ = { + isa = PBXGroup; + children = ( + 481A4A181E4A7885003CF62B /* LOTAnimatableLayer.h */, + 481A4A191E4A7885003CF62B /* LOTAnimatableLayer.m */, + 481A4A1A1E4A7885003CF62B /* LOTEllipseShapeLayer.h */, + 481A4A1B1E4A7885003CF62B /* LOTEllipseShapeLayer.m */, + 481A4A1C1E4A7885003CF62B /* LOTGroupLayerView.h */, + 481A4A1D1E4A7885003CF62B /* LOTGroupLayerView.m */, + 481A4A1E1E4A7885003CF62B /* LOTLayerView.h */, + 481A4A1F1E4A7885003CF62B /* LOTLayerView.m */, + 481A4A201E4A7885003CF62B /* LOTMaskLayer.h */, + 481A4A211E4A7885003CF62B /* LOTMaskLayer.m */, + 481A4A221E4A7885003CF62B /* LOTRectShapeLayer.h */, + 481A4A231E4A7885003CF62B /* LOTRectShapeLayer.m */, + 481A4A241E4A7885003CF62B /* LOTShapeLayerView.h */, + 481A4A251E4A7885003CF62B /* LOTShapeLayerView.m */, + ); + name = "Animatable Layers"; + path = "lottie-ios/Classes/Animatable Layers"; + sourceTree = SOURCE_ROOT; + }; + 481A4A261E4A7885003CF62B /* AnimatableProperties */ = { + isa = PBXGroup; + children = ( + 481A4A271E4A7885003CF62B /* LOTAnimatableBoundsValue.h */, + 481A4A281E4A7885003CF62B /* LOTAnimatableBoundsValue.m */, + 481A4A291E4A7885003CF62B /* LOTAnimatableColorValue.h */, + 481A4A2A1E4A7885003CF62B /* LOTAnimatableColorValue.m */, + 481A4A2B1E4A7885003CF62B /* LOTAnimatableNumberValue.h */, + 481A4A2C1E4A7885003CF62B /* LOTAnimatableNumberValue.m */, + 481A4A2D1E4A7885003CF62B /* LOTAnimatablePointValue.h */, + 481A4A2E1E4A7885003CF62B /* LOTAnimatablePointValue.m */, + 481A4A2F1E4A7885003CF62B /* LOTAnimatableScaleValue.h */, + 481A4A301E4A7885003CF62B /* LOTAnimatableScaleValue.m */, + 481A4A311E4A7885003CF62B /* LOTAnimatableShapeValue.h */, + 481A4A321E4A7885003CF62B /* LOTAnimatableShapeValue.m */, + 481A4A331E4A7885003CF62B /* LOTAnimatableValue.h */, + ); + name = AnimatableProperties; + path = "lottie-ios/Classes/AnimatableProperties"; + sourceTree = SOURCE_ROOT; + }; + 481A4A341E4A7885003CF62B /* Animation Cache */ = { + isa = PBXGroup; + children = ( + 481A4A351E4A7885003CF62B /* LOTAnimationCache.h */, + 481A4A361E4A7885003CF62B /* LOTAnimationCache.m */, + ); + name = "Animation Cache"; + path = "lottie-ios/Classes/Animation Cache"; + sourceTree = SOURCE_ROOT; + }; + 481A4A371E4A7885003CF62B /* Extensions */ = { + isa = PBXGroup; + children = ( + 481A4A381E4A7885003CF62B /* CAAnimationGroup+LOTAnimatableGroup.h */, + 481A4A391E4A7885003CF62B /* CAAnimationGroup+LOTAnimatableGroup.m */, + 481A4A3A1E4A7885003CF62B /* CGGeometryAdditions.h */, + 481A4A3B1E4A7885003CF62B /* CGGeometryAdditions.m */, + 481A4A3C1E4A7885003CF62B /* LOTHelpers.h */, + 481A4A3D1E4A7885003CF62B /* UIColor+Expanded.h */, + 481A4A3E1E4A7885003CF62B /* UIColor+Expanded.m */, + ); + name = Extensions; + path = "lottie-ios/Classes/Extensions"; + sourceTree = SOURCE_ROOT; + }; + 481A4A3F1E4A7885003CF62B /* Models */ = { + isa = PBXGroup; + children = ( + 481A4A401E4A7885003CF62B /* LOTComposition.h */, + 481A4A411E4A7885003CF62B /* LOTComposition.m */, + 481A4A421E4A7885003CF62B /* LOTLayer.h */, + 481A4A431E4A7885003CF62B /* LOTLayer.m */, + 481A4A441E4A7885003CF62B /* LOTMask.h */, + 481A4A451E4A7885003CF62B /* LOTMask.m */, + 481A4A461E4A7885003CF62B /* LOTModels.h */, + 481A4A471E4A7885003CF62B /* LOTShapeCircle.h */, + 481A4A481E4A7885003CF62B /* LOTShapeCircle.m */, + 481A4A491E4A7885003CF62B /* LOTShapeFill.h */, + 481A4A4A1E4A7885003CF62B /* LOTShapeFill.m */, + 481A4A4B1E4A7885003CF62B /* LOTShapeGroup.h */, + 481A4A4C1E4A7885003CF62B /* LOTShapeGroup.m */, + 481A4A4D1E4A7885003CF62B /* LOTShapePath.h */, + 481A4A4E1E4A7885003CF62B /* LOTShapePath.m */, + 481A4A4F1E4A7885003CF62B /* LOTShapeRectangle.h */, + 481A4A501E4A7885003CF62B /* LOTShapeRectangle.m */, + 481A4A511E4A7885003CF62B /* LOTShapeStroke.h */, + 481A4A521E4A7885003CF62B /* LOTShapeStroke.m */, + 481A4A531E4A7885003CF62B /* LOTShapeTransform.h */, + 481A4A541E4A7885003CF62B /* LOTShapeTransform.m */, + 481A4A551E4A7885003CF62B /* LOTShapeTrimPath.h */, + 481A4A561E4A7885003CF62B /* LOTShapeTrimPath.m */, + ); + name = Models; + path = "lottie-ios/Classes/Models"; + sourceTree = SOURCE_ROOT; + }; + 481A4A571E4A7885003CF62B /* Private */ = { + isa = PBXGroup; + children = ( + 481A4A581E4A7885003CF62B /* LOTAnimationTransitionController.m */, + 481A4A591E4A7885003CF62B /* LOTAnimationView.m */, + 481A4A5A1E4A7885003CF62B /* LOTAnimationView_Internal.h */, + ); + name = Private; + path = "lottie-ios/Classes/Private"; + sourceTree = SOURCE_ROOT; + }; + 481A4AD71E4A78A0003CF62B /* OSX Compatability */ = { + isa = PBXGroup; + children = ( + 481A4AD81E4A78A0003CF62B /* CADisplayLink.h */, + 481A4AD91E4A78A0003CF62B /* CADisplayLink.m */, + 481A4ADA1E4A78A0003CF62B /* CALayer+Compat.h */, + 481A4ADB1E4A78A0003CF62B /* CALayer+Compat.m */, + 481A4ADC1E4A78A0003CF62B /* LOTPlatformCompat.h */, + 481A4ADD1E4A78A0003CF62B /* NSValue+Compat.h */, + 481A4ADE1E4A78A0003CF62B /* NSValue+Compat.m */, + 481A4ADF1E4A78A0003CF62B /* UIBezierPath.h */, + 481A4AE01E4A78A0003CF62B /* UIBezierPath.m */, + 481A4AE11E4A78A0003CF62B /* UIColor.h */, + 481A4AE21E4A78A0003CF62B /* UIColor.m */, + ); + name = "OSX Compatability"; + path = "lottie-ios/Classes/OSX Compatability"; + sourceTree = SOURCE_ROOT; + }; 62CA59AE1E3C173B002D7188 = { isa = PBXGroup; children = ( @@ -278,73 +407,17 @@ 62CA59BA1E3C173B002D7188 /* Lottie */ = { isa = PBXGroup; children = ( + 481A4AD71E4A78A0003CF62B /* OSX Compatability */, + 481A4A171E4A7885003CF62B /* Animatable Layers */, + 481A4A261E4A7885003CF62B /* AnimatableProperties */, + 481A4A341E4A7885003CF62B /* Animation Cache */, + 481A4A371E4A7885003CF62B /* Extensions */, + 481A4A3F1E4A7885003CF62B /* Models */, + 481A4A571E4A7885003CF62B /* Private */, 62CA59C31E3C179F002D7188 /* PublicHeaders */, - 62CA59C71E3C179F002D7188 /* CAAnimationGroup+LAAnimatableGroup.h */, - 62CA59C81E3C179F002D7188 /* CAAnimationGroup+LAAnimatableGroup.m */, - 62CA59C91E3C179F002D7188 /* CGGeometryAdditions.h */, - 62CA59CA1E3C179F002D7188 /* CGGeometryAdditions.m */, - 62CA59CB1E3C179F002D7188 /* LAAnimatableBoundsValue.h */, - 62CA59CC1E3C179F002D7188 /* LAAnimatableBoundsValue.m */, - 62CA59CD1E3C179F002D7188 /* LAAnimatableColorValue.h */, - 62CA59CE1E3C179F002D7188 /* LAAnimatableColorValue.m */, - 62CA59CF1E3C179F002D7188 /* LAAnimatableLayer.h */, - 62CA59D01E3C179F002D7188 /* LAAnimatableLayer.m */, - 62CA59D11E3C179F002D7188 /* LAAnimatableNumberValue.h */, - 62CA59D21E3C179F002D7188 /* LAAnimatableNumberValue.m */, - 62CA59D31E3C179F002D7188 /* LAAnimatablePointValue.h */, - 62CA59D41E3C179F002D7188 /* LAAnimatablePointValue.m */, - 62CA59D51E3C179F002D7188 /* LAAnimatableScaleValue.h */, - 62CA59D61E3C179F002D7188 /* LAAnimatableScaleValue.m */, - 62CA59D71E3C179F002D7188 /* LAAnimatableShapeValue.h */, - 62CA59D81E3C179F002D7188 /* LAAnimatableShapeValue.m */, - 62CA59D91E3C179F002D7188 /* LAAnimatableValue.h */, - 62CA59DA1E3C179F002D7188 /* LAAnimationCache.h */, - 62CA59DB1E3C179F002D7188 /* LAAnimationCache.m */, - 62CA59DC1E3C179F002D7188 /* LAAnimationTransitionController.m */, - 62CA59DD1E3C179F002D7188 /* LAAnimationView_Internal.h */, - 62CA59DE1E3C179F002D7188 /* LAAnimationView.m */, - 62CA59DF1E3C179F002D7188 /* LAComposition.h */, - 62CA59E01E3C179F002D7188 /* LAComposition.m */, - 62CA59E11E3C179F002D7188 /* LAEllipseShapeLayer.h */, - 62CA59E21E3C179F002D7188 /* LAEllipseShapeLayer.m */, - 62CA59E31E3C179F002D7188 /* LAGroupLayerView.h */, - 62CA59E41E3C179F002D7188 /* LAGroupLayerView.m */, - 62CA59E51E3C179F002D7188 /* LAHelpers.h */, - 62CA59E61E3C179F002D7188 /* LALayer.h */, - 62CA59E71E3C179F002D7188 /* LALayer.m */, - 62CA59E81E3C179F002D7188 /* LALayerView.h */, - 62CA59E91E3C179F002D7188 /* LALayerView.m */, - 62CA59EA1E3C179F002D7188 /* LAMask.h */, - 62CA59EB1E3C179F002D7188 /* LAMask.m */, - 62CA59EC1E3C179F002D7188 /* LAMaskLayer.h */, - 62CA59ED1E3C179F002D7188 /* LAMaskLayer.m */, - 62CA59EE1E3C179F002D7188 /* LAModels.h */, - 62CA59EF1E3C179F002D7188 /* LARectShapeLayer.h */, - 62CA59F01E3C179F002D7188 /* LARectShapeLayer.m */, - 62CA59F11E3C179F002D7188 /* LAShapeCircle.h */, - 62CA59F21E3C179F002D7188 /* LAShapeCircle.m */, - 62CA59F31E3C179F002D7188 /* LAShapeFill.h */, - 62CA59F41E3C179F002D7188 /* LAShapeFill.m */, - 62CA59F51E3C179F002D7188 /* LAShapeGroup.h */, - 62CA59F61E3C179F002D7188 /* LAShapeGroup.m */, - 62CA59F71E3C179F002D7188 /* LAShapeLayerView.h */, - 62CA59F81E3C179F002D7188 /* LAShapeLayerView.m */, - 62CA59F91E3C179F002D7188 /* LAShapePath.h */, - 62CA59FA1E3C179F002D7188 /* LAShapePath.m */, - 62CA59FB1E3C179F002D7188 /* LAShapeRectangle.h */, - 62CA59FC1E3C179F002D7188 /* LAShapeRectangle.m */, - 62CA59FD1E3C179F002D7188 /* LAShapeStroke.h */, - 62CA59FE1E3C179F002D7188 /* LAShapeStroke.m */, - 62CA59FF1E3C179F002D7188 /* LAShapeTransform.h */, - 62CA5A001E3C179F002D7188 /* LAShapeTransform.m */, - 62CA5A011E3C179F002D7188 /* LAShapeTrimPath.h */, - 62CA5A021E3C179F002D7188 /* LAShapeTrimPath.m */, - 62CA5A031E3C179F002D7188 /* UIColor+Expanded.h */, - 62CA5A041E3C179F002D7188 /* UIColor+Expanded.m */, 62CA59BB1E3C173B002D7188 /* Lottie-iOS.h */, FA1F5AAE1E42C11F00FF36BF /* Lottie-macOS.h */, 62CA59BC1E3C173B002D7188 /* Info.plist */, - FAE1F7EC1E42935E002E0974 /* Platform Compat */, ); path = Lottie; sourceTree = ""; @@ -352,33 +425,15 @@ 62CA59C31E3C179F002D7188 /* PublicHeaders */ = { isa = PBXGroup; children = ( - FA1F5A9F1E42B52800FF36BF /* LAAnimationView.h */, - 62CA59C41E3C179F002D7188 /* LAAnimationTransitionController.h */, - 2DBA16351B4FA408937A16CE /* LAAnimationView_Compat.h */, + FA1F5A9F1E42B52800FF36BF /* LOTAnimationView.h */, + 62CA59C41E3C179F002D7188 /* LOTAnimationTransitionController.h */, + 2DBA16351B4FA408937A16CE /* LOTAnimationView_Compat.h */, 62CA59C61E3C179F002D7188 /* Lottie.h */, ); name = PublicHeaders; path = "lottie-ios/Classes/PublicHeaders"; sourceTree = SOURCE_ROOT; }; - FAE1F7EC1E42935E002E0974 /* Platform Compat */ = { - isa = PBXGroup; - children = ( - 2DBA1CAF95F14074593D133F /* LAPlatformCompat.h */, - FA1F5A6E1E42B1C400FF36BF /* CADisplayLink.h */, - FA1F5A6F1E42B1C400FF36BF /* CADisplayLink.m */, - FA1F5A701E42B1C400FF36BF /* CALayer+Compat.h */, - FA1F5A711E42B1C400FF36BF /* CALayer+Compat.m */, - FA1F5A721E42B1C400FF36BF /* NSValue+Compat.h */, - FA1F5A731E42B1C400FF36BF /* NSValue+Compat.m */, - FA1F5A741E42B1C400FF36BF /* UIBezierPath.h */, - FA1F5A751E42B1C400FF36BF /* UIBezierPath.m */, - FA1F5A761E42B1C400FF36BF /* UIColor.h */, - FA1F5A771E42B1C400FF36BF /* UIColor.m */, - ); - name = "Platform Compat"; - sourceTree = ""; - }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ @@ -386,44 +441,44 @@ isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 62CA5A2F1E3C179F002D7188 /* LAModels.h in Headers */, - 62CA5A221E3C179F002D7188 /* LAEllipseShapeLayer.h in Headers */, - 62CA5A261E3C179F002D7188 /* LAHelpers.h in Headers */, - 62CA5A361E3C179F002D7188 /* LAShapeGroup.h in Headers */, + 481A4AD51E4A7885003CF62B /* LOTAnimationView_Internal.h in Headers */, + 481A4A7F1E4A7885003CF62B /* LOTAnimatableNumberValue.h in Headers */, 62CA59BD1E3C173B002D7188 /* Lottie-iOS.h in Headers */, - 62CA5A1B1E3C179F002D7188 /* LAAnimationCache.h in Headers */, - 62CA5A381E3C179F002D7188 /* LAShapeLayerView.h in Headers */, - 62CA5A141E3C179F002D7188 /* LAAnimatablePointValue.h in Headers */, - 62CA5A401E3C179F002D7188 /* LAShapeTransform.h in Headers */, - 62CA5A081E3C179F002D7188 /* CAAnimationGroup+LAAnimatableGroup.h in Headers */, - 62CA5A1E1E3C179F002D7188 /* LAAnimationView_Internal.h in Headers */, - 62CA5A2B1E3C179F002D7188 /* LAMask.h in Headers */, - FA1F5AA01E42B52800FF36BF /* LAAnimationView.h in Headers */, - 62CA5A0A1E3C179F002D7188 /* CGGeometryAdditions.h in Headers */, - 62CA5A2D1E3C179F002D7188 /* LAMaskLayer.h in Headers */, - 62CA5A341E3C179F002D7188 /* LAShapeFill.h in Headers */, - 62CA5A051E3C179F002D7188 /* LAAnimationTransitionController.h in Headers */, - 62CA5A441E3C179F002D7188 /* UIColor+Expanded.h in Headers */, - 62CA5A0E1E3C179F002D7188 /* LAAnimatableColorValue.h in Headers */, - 62CA5A121E3C179F002D7188 /* LAAnimatableNumberValue.h in Headers */, - 62CA5A3E1E3C179F002D7188 /* LAShapeStroke.h in Headers */, - 62CA5A0C1E3C179F002D7188 /* LAAnimatableBoundsValue.h in Headers */, - 62CA5A271E3C179F002D7188 /* LALayer.h in Headers */, - 62CA5A301E3C179F002D7188 /* LARectShapeLayer.h in Headers */, - 62CA5A181E3C179F002D7188 /* LAAnimatableShapeValue.h in Headers */, + 481A4AAF1E4A7885003CF62B /* LOTModels.h in Headers */, + FA1F5AA01E42B52800FF36BF /* LOTAnimationView.h in Headers */, + 481A4A631E4A7885003CF62B /* LOTGroupLayerView.h in Headers */, + 481A4AA31E4A7885003CF62B /* LOTComposition.h in Headers */, + 481A4A9F1E4A7885003CF62B /* UIColor+Expanded.h in Headers */, + 481A4AB51E4A7885003CF62B /* LOTShapeFill.h in Headers */, + 481A4A6B1E4A7885003CF62B /* LOTMaskLayer.h in Headers */, + 481A4AEE1E4A78A5003CF62B /* LOTPlatformCompat.h in Headers */, + 481A4A8F1E4A7885003CF62B /* LOTAnimatableValue.h in Headers */, + 481A4ABD1E4A7885003CF62B /* LOTShapePath.h in Headers */, + 481A4A831E4A7885003CF62B /* LOTAnimatablePointValue.h in Headers */, + 481A4A731E4A7885003CF62B /* LOTShapeLayerView.h in Headers */, + 62CA5A051E3C179F002D7188 /* LOTAnimationTransitionController.h in Headers */, + 481A4A9D1E4A7885003CF62B /* LOTHelpers.h in Headers */, 62CA5A071E3C179F002D7188 /* Lottie.h in Headers */, - 62CA5A421E3C179F002D7188 /* LAShapeTrimPath.h in Headers */, - 62CA5A291E3C179F002D7188 /* LALayerView.h in Headers */, - 62CA5A1A1E3C179F002D7188 /* LAAnimatableValue.h in Headers */, - 62CA5A161E3C179F002D7188 /* LAAnimatableScaleValue.h in Headers */, - 62CA5A201E3C179F002D7188 /* LAComposition.h in Headers */, - 62CA5A3C1E3C179F002D7188 /* LAShapeRectangle.h in Headers */, - 62CA5A101E3C179F002D7188 /* LAAnimatableLayer.h in Headers */, - 62CA5A241E3C179F002D7188 /* LAGroupLayerView.h in Headers */, - 62CA5A3A1E3C179F002D7188 /* LAShapePath.h in Headers */, - 62CA5A321E3C179F002D7188 /* LAShapeCircle.h in Headers */, - 2DBA1C5A8098705F35AF3C1D /* LAPlatformCompat.h in Headers */, - 2DBA19324CDD83B5F0F115B8 /* LAAnimationView_Compat.h in Headers */, + 481A4AB91E4A7885003CF62B /* LOTShapeGroup.h in Headers */, + 481A4A5F1E4A7885003CF62B /* LOTEllipseShapeLayer.h in Headers */, + 481A4ACD1E4A7885003CF62B /* LOTShapeTrimPath.h in Headers */, + 481A4A671E4A7885003CF62B /* LOTLayerView.h in Headers */, + 481A4AC11E4A7885003CF62B /* LOTShapeRectangle.h in Headers */, + 481A4A991E4A7885003CF62B /* CGGeometryAdditions.h in Headers */, + 481A4AC51E4A7885003CF62B /* LOTShapeStroke.h in Headers */, + 481A4A911E4A7885003CF62B /* LOTAnimationCache.h in Headers */, + 481A4A6F1E4A7885003CF62B /* LOTRectShapeLayer.h in Headers */, + 481A4A5B1E4A7885003CF62B /* LOTAnimatableLayer.h in Headers */, + 481A4AC91E4A7885003CF62B /* LOTShapeTransform.h in Headers */, + 481A4A7B1E4A7885003CF62B /* LOTAnimatableColorValue.h in Headers */, + 481A4A771E4A7885003CF62B /* LOTAnimatableBoundsValue.h in Headers */, + 481A4AB11E4A7885003CF62B /* LOTShapeCircle.h in Headers */, + 481A4A8B1E4A7885003CF62B /* LOTAnimatableShapeValue.h in Headers */, + 481A4AAB1E4A7885003CF62B /* LOTMask.h in Headers */, + 481A4A871E4A7885003CF62B /* LOTAnimatableScaleValue.h in Headers */, + 481A4A951E4A7885003CF62B /* CAAnimationGroup+LOTAnimatableGroup.h in Headers */, + 481A4AA71E4A7885003CF62B /* LOTLayer.h in Headers */, + 2DBA19324CDD83B5F0F115B8 /* LOTAnimationView_Compat.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -431,47 +486,47 @@ isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - FAE1F7BE1E428CBE002E0974 /* LAModels.h in Headers */, - FAE1F7BF1E428CBE002E0974 /* LAEllipseShapeLayer.h in Headers */, - FA1F5AAB1E42B54400FF36BF /* UIColor.h in Headers */, - FA1F5AAA1E42B54400FF36BF /* UIBezierPath.h in Headers */, - FAE1F7C01E428CBE002E0974 /* LAHelpers.h in Headers */, - FA1F5AA91E42B54400FF36BF /* NSValue+Compat.h in Headers */, - FAE1F7C11E428CBE002E0974 /* LAShapeGroup.h in Headers */, - FA1F5AA81E42B54400FF36BF /* CALayer+Compat.h in Headers */, - FAE1F7C31E428CBE002E0974 /* LAAnimationCache.h in Headers */, - FAE1F7C41E428CBE002E0974 /* LAShapeLayerView.h in Headers */, - FAE1F7C51E428CBE002E0974 /* LAAnimatablePointValue.h in Headers */, - FAE1F7C61E428CBE002E0974 /* LAShapeTransform.h in Headers */, - FAE1F7C71E428CBE002E0974 /* CAAnimationGroup+LAAnimatableGroup.h in Headers */, - FAE1F7C81E428CBE002E0974 /* LAAnimationView_Internal.h in Headers */, - FAE1F7C91E428CBE002E0974 /* LAMask.h in Headers */, - FAE1F7CA1E428CBE002E0974 /* CGGeometryAdditions.h in Headers */, - FAE1F7CB1E428CBE002E0974 /* LAMaskLayer.h in Headers */, - FA1F5AA71E42B54400FF36BF /* CADisplayLink.h in Headers */, - FA1F5AA11E42B52800FF36BF /* LAAnimationView.h in Headers */, - FAE1F7CD1E428CBE002E0974 /* LAShapeFill.h in Headers */, - FAE1F7CE1E428CBE002E0974 /* LAAnimationTransitionController.h in Headers */, - FAE1F7CF1E428CBE002E0974 /* UIColor+Expanded.h in Headers */, - FAE1F7D01E428CBE002E0974 /* LAAnimatableColorValue.h in Headers */, - FAE1F7D11E428CBE002E0974 /* LAAnimatableNumberValue.h in Headers */, - FAE1F7D21E428CBE002E0974 /* LAShapeStroke.h in Headers */, - FAE1F7D31E428CBE002E0974 /* LAAnimatableBoundsValue.h in Headers */, - FAE1F7D41E428CBE002E0974 /* LALayer.h in Headers */, - FAE1F7D51E428CBE002E0974 /* LARectShapeLayer.h in Headers */, - FAE1F7D61E428CBE002E0974 /* LAAnimatableShapeValue.h in Headers */, + 481A4AB61E4A7885003CF62B /* LOTShapeFill.h in Headers */, + 481A4A841E4A7885003CF62B /* LOTAnimatablePointValue.h in Headers */, + 481A4AEC1E4A78A0003CF62B /* UIColor.h in Headers */, + 481A4AEA1E4A78A0003CF62B /* UIBezierPath.h in Headers */, + 481A4AE81E4A78A0003CF62B /* NSValue+Compat.h in Headers */, + 481A4ABA1E4A7885003CF62B /* LOTShapeGroup.h in Headers */, + 481A4AA81E4A7885003CF62B /* LOTLayer.h in Headers */, + 481A4A921E4A7885003CF62B /* LOTAnimationCache.h in Headers */, + 481A4A8C1E4A7885003CF62B /* LOTAnimatableShapeValue.h in Headers */, + 481A4A9E1E4A7885003CF62B /* LOTHelpers.h in Headers */, + 481A4AE31E4A78A0003CF62B /* CADisplayLink.h in Headers */, + 481A4A681E4A7885003CF62B /* LOTLayerView.h in Headers */, + 481A4A641E4A7885003CF62B /* LOTGroupLayerView.h in Headers */, + 481A4A781E4A7885003CF62B /* LOTAnimatableBoundsValue.h in Headers */, + 481A4AC21E4A7885003CF62B /* LOTShapeRectangle.h in Headers */, + 481A4A601E4A7885003CF62B /* LOTEllipseShapeLayer.h in Headers */, + 481A4ACA1E4A7885003CF62B /* LOTShapeTransform.h in Headers */, + 481A4AE51E4A78A0003CF62B /* CALayer+Compat.h in Headers */, + 481A4A701E4A7885003CF62B /* LOTRectShapeLayer.h in Headers */, + 481A4A7C1E4A7885003CF62B /* LOTAnimatableColorValue.h in Headers */, + 481A4A6C1E4A7885003CF62B /* LOTMaskLayer.h in Headers */, + 481A4AB01E4A7885003CF62B /* LOTModels.h in Headers */, + 481A4A901E4A7885003CF62B /* LOTAnimatableValue.h in Headers */, + 481A4A881E4A7885003CF62B /* LOTAnimatableScaleValue.h in Headers */, + 481A4ABE1E4A7885003CF62B /* LOTShapePath.h in Headers */, + 481A4AD61E4A7885003CF62B /* LOTAnimationView_Internal.h in Headers */, + FA1F5AA11E42B52800FF36BF /* LOTAnimationView.h in Headers */, + 481A4AC61E4A7885003CF62B /* LOTShapeStroke.h in Headers */, + 481A4A9A1E4A7885003CF62B /* CGGeometryAdditions.h in Headers */, + 481A4AA41E4A7885003CF62B /* LOTComposition.h in Headers */, + 481A4A801E4A7885003CF62B /* LOTAnimatableNumberValue.h in Headers */, + 481A4ACE1E4A7885003CF62B /* LOTShapeTrimPath.h in Headers */, + 481A4AA01E4A7885003CF62B /* UIColor+Expanded.h in Headers */, + FAE1F7CE1E428CBE002E0974 /* LOTAnimationTransitionController.h in Headers */, FAE1F7D71E428CBE002E0974 /* Lottie.h in Headers */, - FAE1F7D81E428CBE002E0974 /* LAShapeTrimPath.h in Headers */, - FAE1F7D91E428CBE002E0974 /* LALayerView.h in Headers */, - FAE1F7DA1E428CBE002E0974 /* LAAnimatableValue.h in Headers */, - FAE1F7DB1E428CBE002E0974 /* LAAnimatableScaleValue.h in Headers */, + 481A4AAC1E4A7885003CF62B /* LOTMask.h in Headers */, + 481A4A961E4A7885003CF62B /* CAAnimationGroup+LOTAnimatableGroup.h in Headers */, FA1F5AB01E42C11F00FF36BF /* Lottie-macOS.h in Headers */, - FAE1F7DC1E428CBE002E0974 /* LAComposition.h in Headers */, - FAE1F7DD1E428CBE002E0974 /* LAShapeRectangle.h in Headers */, - FAE1F7DE1E428CBE002E0974 /* LAAnimatableLayer.h in Headers */, - FAE1F7DF1E428CBE002E0974 /* LAGroupLayerView.h in Headers */, - FAE1F7E01E428CBE002E0974 /* LAShapePath.h in Headers */, - FAE1F7E11E428CBE002E0974 /* LAShapeCircle.h in Headers */, + 481A4A741E4A7885003CF62B /* LOTShapeLayerView.h in Headers */, + 481A4A5C1E4A7885003CF62B /* LOTAnimatableLayer.h in Headers */, + 481A4AB21E4A7885003CF62B /* LOTShapeCircle.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -569,36 +624,36 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 62CA5A091E3C179F002D7188 /* CAAnimationGroup+LAAnimatableGroup.m in Sources */, - 62CA5A0B1E3C179F002D7188 /* CGGeometryAdditions.m in Sources */, - 62CA5A2E1E3C179F002D7188 /* LAMaskLayer.m in Sources */, - 62CA5A3F1E3C179F002D7188 /* LAShapeStroke.m in Sources */, - 62CA5A431E3C179F002D7188 /* LAShapeTrimPath.m in Sources */, - 62CA5A151E3C179F002D7188 /* LAAnimatablePointValue.m in Sources */, - 62CA5A231E3C179F002D7188 /* LAEllipseShapeLayer.m in Sources */, - 62CA5A171E3C179F002D7188 /* LAAnimatableScaleValue.m in Sources */, - 62CA5A311E3C179F002D7188 /* LARectShapeLayer.m in Sources */, - 62CA5A1F1E3C179F002D7188 /* LAAnimationView.m in Sources */, - 62CA5A251E3C179F002D7188 /* LAGroupLayerView.m in Sources */, - 62CA5A351E3C179F002D7188 /* LAShapeFill.m in Sources */, - 62CA5A411E3C179F002D7188 /* LAShapeTransform.m in Sources */, - 62CA5A3D1E3C179F002D7188 /* LAShapeRectangle.m in Sources */, - 62CA5A191E3C179F002D7188 /* LAAnimatableShapeValue.m in Sources */, - 62CA5A0F1E3C179F002D7188 /* LAAnimatableColorValue.m in Sources */, - 62CA5A1C1E3C179F002D7188 /* LAAnimationCache.m in Sources */, - 62CA5A3B1E3C179F002D7188 /* LAShapePath.m in Sources */, - 62CA5A371E3C179F002D7188 /* LAShapeGroup.m in Sources */, - 62CA5A131E3C179F002D7188 /* LAAnimatableNumberValue.m in Sources */, - 62CA5A0D1E3C179F002D7188 /* LAAnimatableBoundsValue.m in Sources */, - 62CA5A331E3C179F002D7188 /* LAShapeCircle.m in Sources */, - 62CA5A211E3C179F002D7188 /* LAComposition.m in Sources */, - 62CA5A111E3C179F002D7188 /* LAAnimatableLayer.m in Sources */, - 62CA5A451E3C179F002D7188 /* UIColor+Expanded.m in Sources */, - 62CA5A391E3C179F002D7188 /* LAShapeLayerView.m in Sources */, - 62CA5A2A1E3C179F002D7188 /* LALayerView.m in Sources */, - 62CA5A281E3C179F002D7188 /* LALayer.m in Sources */, - 62CA5A2C1E3C179F002D7188 /* LAMask.m in Sources */, - 62CA5A1D1E3C179F002D7188 /* LAAnimationTransitionController.m in Sources */, + 481A4ACB1E4A7885003CF62B /* LOTShapeTransform.m in Sources */, + 481A4A6D1E4A7885003CF62B /* LOTMaskLayer.m in Sources */, + 481A4A971E4A7885003CF62B /* CAAnimationGroup+LOTAnimatableGroup.m in Sources */, + 481A4A811E4A7885003CF62B /* LOTAnimatableNumberValue.m in Sources */, + 481A4A931E4A7885003CF62B /* LOTAnimationCache.m in Sources */, + 481A4AA11E4A7885003CF62B /* UIColor+Expanded.m in Sources */, + 481A4AA51E4A7885003CF62B /* LOTComposition.m in Sources */, + 481A4A7D1E4A7885003CF62B /* LOTAnimatableColorValue.m in Sources */, + 481A4A9B1E4A7885003CF62B /* CGGeometryAdditions.m in Sources */, + 481A4A651E4A7885003CF62B /* LOTGroupLayerView.m in Sources */, + 481A4AB71E4A7885003CF62B /* LOTShapeFill.m in Sources */, + 481A4A691E4A7885003CF62B /* LOTLayerView.m in Sources */, + 481A4AC31E4A7885003CF62B /* LOTShapeRectangle.m in Sources */, + 481A4AD11E4A7885003CF62B /* LOTAnimationTransitionController.m in Sources */, + 481A4AC71E4A7885003CF62B /* LOTShapeStroke.m in Sources */, + 481A4AA91E4A7885003CF62B /* LOTLayer.m in Sources */, + 481A4ACF1E4A7885003CF62B /* LOTShapeTrimPath.m in Sources */, + 481A4A5D1E4A7885003CF62B /* LOTAnimatableLayer.m in Sources */, + 481A4ABB1E4A7885003CF62B /* LOTShapeGroup.m in Sources */, + 481A4AAD1E4A7885003CF62B /* LOTMask.m in Sources */, + 481A4A8D1E4A7885003CF62B /* LOTAnimatableShapeValue.m in Sources */, + 481A4AB31E4A7885003CF62B /* LOTShapeCircle.m in Sources */, + 481A4A711E4A7885003CF62B /* LOTRectShapeLayer.m in Sources */, + 481A4A751E4A7885003CF62B /* LOTShapeLayerView.m in Sources */, + 481A4ABF1E4A7885003CF62B /* LOTShapePath.m in Sources */, + 481A4A611E4A7885003CF62B /* LOTEllipseShapeLayer.m in Sources */, + 481A4A851E4A7885003CF62B /* LOTAnimatablePointValue.m in Sources */, + 481A4A791E4A7885003CF62B /* LOTAnimatableBoundsValue.m in Sources */, + 481A4AD31E4A7885003CF62B /* LOTAnimationView.m in Sources */, + 481A4A891E4A7885003CF62B /* LOTAnimatableScaleValue.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -606,41 +661,41 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - FAE1F79E1E428CBE002E0974 /* CAAnimationGroup+LAAnimatableGroup.m in Sources */, - FAE1F79F1E428CBE002E0974 /* CGGeometryAdditions.m in Sources */, - FAE1F7A01E428CBE002E0974 /* LAMaskLayer.m in Sources */, - FAE1F7A11E428CBE002E0974 /* LAShapeStroke.m in Sources */, - FAE1F7A21E428CBE002E0974 /* LAShapeTrimPath.m in Sources */, - FAE1F7A31E428CBE002E0974 /* LAAnimatablePointValue.m in Sources */, - FAE1F7A41E428CBE002E0974 /* LAEllipseShapeLayer.m in Sources */, - FAE1F7A51E428CBE002E0974 /* LAAnimatableScaleValue.m in Sources */, - FAE1F7A61E428CBE002E0974 /* LARectShapeLayer.m in Sources */, - FAE1F7A71E428CBE002E0974 /* LAAnimationView.m in Sources */, - FAE1F7A81E428CBE002E0974 /* LAGroupLayerView.m in Sources */, - FAE1F7A91E428CBE002E0974 /* LAShapeFill.m in Sources */, - FAE1F7AA1E428CBE002E0974 /* LAShapeTransform.m in Sources */, - FAE1F7AB1E428CBE002E0974 /* LAShapeRectangle.m in Sources */, - FAE1F7AC1E428CBE002E0974 /* LAAnimatableShapeValue.m in Sources */, - FAE1F7AD1E428CBE002E0974 /* LAAnimatableColorValue.m in Sources */, - FAE1F7AE1E428CBE002E0974 /* LAAnimationCache.m in Sources */, - FAE1F7AF1E428CBE002E0974 /* LAShapePath.m in Sources */, - FAE1F7B01E428CBE002E0974 /* LAShapeGroup.m in Sources */, - FA1F5A821E42B1D200FF36BF /* CADisplayLink.m in Sources */, - FAE1F7B11E428CBE002E0974 /* LAAnimatableNumberValue.m in Sources */, - FAE1F7B21E428CBE002E0974 /* LAAnimatableBoundsValue.m in Sources */, - FAE1F7B31E428CBE002E0974 /* LAShapeCircle.m in Sources */, - FAE1F7B41E428CBE002E0974 /* LAComposition.m in Sources */, - FAE1F7B51E428CBE002E0974 /* LAAnimatableLayer.m in Sources */, - FAE1F7B61E428CBE002E0974 /* UIColor+Expanded.m in Sources */, - FAE1F7B71E428CBE002E0974 /* LAShapeLayerView.m in Sources */, - FA1F5A841E42B1D200FF36BF /* NSValue+Compat.m in Sources */, - FA1F5A831E42B1D200FF36BF /* CALayer+Compat.m in Sources */, - FA1F5A851E42B1D200FF36BF /* UIBezierPath.m in Sources */, - FAE1F7B81E428CBE002E0974 /* LALayerView.m in Sources */, - FAE1F7B91E428CBE002E0974 /* LALayer.m in Sources */, - FAE1F7BA1E428CBE002E0974 /* LAMask.m in Sources */, - FA1F5A861E42B1D200FF36BF /* UIColor.m in Sources */, - FAE1F7BB1E428CBE002E0974 /* LAAnimationTransitionController.m in Sources */, + 481A4AD21E4A7885003CF62B /* LOTAnimationTransitionController.m in Sources */, + 481A4AB41E4A7885003CF62B /* LOTShapeCircle.m in Sources */, + 481A4A6E1E4A7885003CF62B /* LOTMaskLayer.m in Sources */, + 481A4A941E4A7885003CF62B /* LOTAnimationCache.m in Sources */, + 481A4AD01E4A7885003CF62B /* LOTShapeTrimPath.m in Sources */, + 481A4A9C1E4A7885003CF62B /* CGGeometryAdditions.m in Sources */, + 481A4AA61E4A7885003CF62B /* LOTComposition.m in Sources */, + 481A4AC41E4A7885003CF62B /* LOTShapeRectangle.m in Sources */, + 481A4ACC1E4A7885003CF62B /* LOTShapeTransform.m in Sources */, + 481A4AB81E4A7885003CF62B /* LOTShapeFill.m in Sources */, + 481A4AC01E4A7885003CF62B /* LOTShapePath.m in Sources */, + 481A4A721E4A7885003CF62B /* LOTRectShapeLayer.m in Sources */, + 481A4AAE1E4A7885003CF62B /* LOTMask.m in Sources */, + 481A4A8E1E4A7885003CF62B /* LOTAnimatableShapeValue.m in Sources */, + 481A4A5E1E4A7885003CF62B /* LOTAnimatableLayer.m in Sources */, + 481A4A8A1E4A7885003CF62B /* LOTAnimatableScaleValue.m in Sources */, + 481A4A861E4A7885003CF62B /* LOTAnimatablePointValue.m in Sources */, + 481A4A621E4A7885003CF62B /* LOTEllipseShapeLayer.m in Sources */, + 481A4A821E4A7885003CF62B /* LOTAnimatableNumberValue.m in Sources */, + 481A4AE41E4A78A0003CF62B /* CADisplayLink.m in Sources */, + 481A4A981E4A7885003CF62B /* CAAnimationGroup+LOTAnimatableGroup.m in Sources */, + 481A4A6A1E4A7885003CF62B /* LOTLayerView.m in Sources */, + 481A4AD41E4A7885003CF62B /* LOTAnimationView.m in Sources */, + 481A4AC81E4A7885003CF62B /* LOTShapeStroke.m in Sources */, + 481A4AA21E4A7885003CF62B /* UIColor+Expanded.m in Sources */, + 481A4A761E4A7885003CF62B /* LOTShapeLayerView.m in Sources */, + 481A4ABC1E4A7885003CF62B /* LOTShapeGroup.m in Sources */, + 481A4AE91E4A78A0003CF62B /* NSValue+Compat.m in Sources */, + 481A4AE61E4A78A0003CF62B /* CALayer+Compat.m in Sources */, + 481A4AEB1E4A78A0003CF62B /* UIBezierPath.m in Sources */, + 481A4A7A1E4A7885003CF62B /* LOTAnimatableBoundsValue.m in Sources */, + 481A4A7E1E4A7885003CF62B /* LOTAnimatableColorValue.m in Sources */, + 481A4AAA1E4A7885003CF62B /* LOTLayer.m in Sources */, + 481A4AED1E4A78A0003CF62B /* UIColor.m in Sources */, + 481A4A661E4A7885003CF62B /* LOTGroupLayerView.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/Lottie.xcodeproj/xcshareddata/xcschemes/Lottie.xcscheme b/Lottie.xcodeproj/xcshareddata/xcschemes/Lottie.xcscheme index 42671ce527..b341d5b369 100644 --- a/Lottie.xcodeproj/xcshareddata/xcschemes/Lottie.xcscheme +++ b/Lottie.xcodeproj/xcshareddata/xcschemes/Lottie.xcscheme @@ -16,7 +16,7 @@ BuildableIdentifier = "primary" BlueprintIdentifier = "62CA59B71E3C173B002D7188" BuildableName = "Lottie.framework" - BlueprintName = "Lottie" + BlueprintName = "Lottie_iOS" ReferencedContainer = "container:Lottie.xcodeproj"> @@ -47,7 +47,7 @@ BuildableIdentifier = "primary" BlueprintIdentifier = "62CA59B71E3C173B002D7188" BuildableName = "Lottie.framework" - BlueprintName = "Lottie" + BlueprintName = "Lottie_iOS" ReferencedContainer = "container:Lottie.xcodeproj"> @@ -65,7 +65,7 @@ BuildableIdentifier = "primary" BlueprintIdentifier = "62CA59B71E3C173B002D7188" BuildableName = "Lottie.framework" - BlueprintName = "Lottie" + BlueprintName = "Lottie_iOS" ReferencedContainer = "container:Lottie.xcodeproj"> diff --git a/lottie-ios/Classes/LAAnimatableLayer.h b/lottie-ios/Classes/Animatable Layers/LOTAnimatableLayer.h similarity index 83% rename from lottie-ios/Classes/LAAnimatableLayer.h rename to lottie-ios/Classes/Animatable Layers/LOTAnimatableLayer.h index 585306b0d6..944d006473 100644 --- a/lottie-ios/Classes/LAAnimatableLayer.h +++ b/lottie-ios/Classes/Animatable Layers/LOTAnimatableLayer.h @@ -1,5 +1,5 @@ // -// LAAnimatableLayer.h +// LOTAnimatableLayer.h // LottieAnimator // // Created by brandon_withrow on 7/21/16. @@ -8,7 +8,7 @@ #import -@interface LAAnimatableLayer : CALayer +@interface LOTAnimatableLayer : CALayer - (instancetype)initWithDuration:(NSTimeInterval)duration NS_DESIGNATED_INITIALIZER; diff --git a/lottie-ios/Classes/LAAnimatableLayer.m b/lottie-ios/Classes/Animatable Layers/LOTAnimatableLayer.m similarity index 76% rename from lottie-ios/Classes/LAAnimatableLayer.m rename to lottie-ios/Classes/Animatable Layers/LOTAnimatableLayer.m index 6d04ce11d1..c16e01b07b 100644 --- a/lottie-ios/Classes/LAAnimatableLayer.m +++ b/lottie-ios/Classes/Animatable Layers/LOTAnimatableLayer.m @@ -1,14 +1,14 @@ // -// LAAnimatableLayer.m +// LOTAnimatableLayer.m // LottieAnimator // // Created by brandon_withrow on 7/21/16. // Copyright © 2016 Brandon Withrow. All rights reserved. // -#import "LAAnimatableLayer.h" +#import "LOTAnimatableLayer.h" -@implementation LAAnimatableLayer +@implementation LOTAnimatableLayer - (instancetype)initWithDuration:(NSTimeInterval)duration { self = [super init]; diff --git a/lottie-ios/Classes/Animatable Layers/LOTEllipseShapeLayer.h b/lottie-ios/Classes/Animatable Layers/LOTEllipseShapeLayer.h new file mode 100644 index 0000000000..5d6ea1d4d3 --- /dev/null +++ b/lottie-ios/Classes/Animatable Layers/LOTEllipseShapeLayer.h @@ -0,0 +1,21 @@ +// +// LOTEllipseShapeLayer.h +// LottieAnimator +// +// Created by brandon_withrow on 7/26/16. +// Copyright © 2016 Brandon Withrow. All rights reserved. +// + +#import "LOTAnimatableLayer.h" +#import "LOTModels.h" + +@interface LOTEllipseShapeLayer : LOTAnimatableLayer + +- (instancetype)initWithEllipseShape:(LOTShapeCircle *)circleShape + fill:(LOTShapeFill *)fill + stroke:(LOTShapeStroke *)stroke + trim:(LOTShapeTrimPath *)trim + transform:(LOTShapeTransform *)transform + withDuration:(NSTimeInterval)duration; + +@end diff --git a/lottie-ios/Classes/LAEllipseShapeLayer.m b/lottie-ios/Classes/Animatable Layers/LOTEllipseShapeLayer.m similarity index 79% rename from lottie-ios/Classes/LAEllipseShapeLayer.m rename to lottie-ios/Classes/Animatable Layers/LOTEllipseShapeLayer.m index 0f67c7bbcd..3c68f6f6a1 100644 --- a/lottie-ios/Classes/LAEllipseShapeLayer.m +++ b/lottie-ios/Classes/Animatable Layers/LOTEllipseShapeLayer.m @@ -1,33 +1,33 @@ // -// LAEllipseShapeLayer.m +// LOTEllipseShapeLayer.m // LottieAnimator // // Created by brandon_withrow on 7/26/16. // Copyright © 2016 Brandon Withrow. All rights reserved. // -#import "LAEllipseShapeLayer.h" -#import "CAAnimationGroup+LAAnimatableGroup.h" +#import "LOTEllipseShapeLayer.h" +#import "CAAnimationGroup+LOTAnimatableGroup.h" const CGFloat kEllipseControlPointPercentage = 0.55228; -@interface LACircleShapeLayer : CAShapeLayer +@interface LOTCircleShapeLayer : CAShapeLayer @property (nonatomic) CGPoint circlePosition; @property (nonatomic) CGPoint circleSize; @end -@implementation LACircleShapeLayer +@implementation LOTCircleShapeLayer @dynamic circleSize; @dynamic circlePosition; -(id)initWithLayer:(id)layer { if( ( self = [super initWithLayer:layer] ) ) { - if ([layer isKindOfClass:[LACircleShapeLayer class]]) { - self.circleSize = ((LACircleShapeLayer *)layer).circleSize; - self.circlePosition = ((LACircleShapeLayer *)layer).circlePosition; + if ([layer isKindOfClass:[LOTCircleShapeLayer class]]) { + self.circleSize = ((LOTCircleShapeLayer *)layer).circleSize; + self.circlePosition = ((LOTCircleShapeLayer *)layer).circlePosition; } } return self; @@ -54,7 +54,7 @@ const CGFloat kEllipseControlPointPercentage = 0.55228; } - (void)_setPath { - LACircleShapeLayer *presentationCircle = (LACircleShapeLayer *)self.presentationLayer; + LOTCircleShapeLayer *presentationCircle = (LOTCircleShapeLayer *)self.presentationLayer; if (presentationCircle == nil) { presentationCircle = self; } @@ -88,26 +88,26 @@ const CGFloat kEllipseControlPointPercentage = 0.55228; @end -@implementation LAEllipseShapeLayer { - LAShapeTransform *_transform; - LAShapeStroke *_stroke; - LAShapeFill *_fill; - LAShapeCircle *_circle; - LAShapeTrimPath *_trim; +@implementation LOTEllipseShapeLayer { + LOTShapeTransform *_transform; + LOTShapeStroke *_stroke; + LOTShapeFill *_fill; + LOTShapeCircle *_circle; + LOTShapeTrimPath *_trim; - LACircleShapeLayer *_fillLayer; - LACircleShapeLayer *_strokeLayer; + LOTCircleShapeLayer *_fillLayer; + LOTCircleShapeLayer *_strokeLayer; CAAnimationGroup *_animation; CAAnimationGroup *_strokeAnimation; CAAnimationGroup *_fillAnimation; } -- (instancetype)initWithEllipseShape:(LAShapeCircle *)circleShape - fill:(LAShapeFill *)fill - stroke:(LAShapeStroke *)stroke - trim:(LAShapeTrimPath *)trim - transform:(LAShapeTransform *)transform +- (instancetype)initWithEllipseShape:(LOTShapeCircle *)circleShape + fill:(LOTShapeFill *)fill + stroke:(LOTShapeStroke *)stroke + trim:(LOTShapeTrimPath *)trim + transform:(LOTShapeTransform *)transform withDuration:(NSTimeInterval)duration { self = [super initWithDuration:duration]; if (self) { @@ -126,7 +126,7 @@ const CGFloat kEllipseControlPointPercentage = 0.55228; self.sublayerTransform = CATransform3DMakeRotation(_transform.rotation.initialValue.floatValue, 0, 0, 1); if (fill) { - _fillLayer = [LACircleShapeLayer new]; + _fillLayer = [LOTCircleShapeLayer new]; _fillLayer.allowsEdgeAntialiasing = YES; _fillLayer.fillColor = _fill.color.initialColor.CGColor; _fillLayer.opacity = _fill.opacity.initialValue.floatValue; @@ -136,7 +136,7 @@ const CGFloat kEllipseControlPointPercentage = 0.55228; } if (stroke) { - _strokeLayer = [LACircleShapeLayer new]; + _strokeLayer = [LOTCircleShapeLayer new]; _strokeLayer.allowsEdgeAntialiasing = YES; _strokeLayer.strokeColor = _stroke.color.initialColor.CGColor; _strokeLayer.opacity = _stroke.opacity.initialValue.floatValue; @@ -144,17 +144,17 @@ const CGFloat kEllipseControlPointPercentage = 0.55228; _strokeLayer.fillColor = nil; _strokeLayer.backgroundColor = nil; _strokeLayer.lineDashPattern = _stroke.lineDashPattern; - _strokeLayer.lineCap = _stroke.capType == LALineCapTypeRound ? kCALineCapRound : kCALineCapButt; + _strokeLayer.lineCap = _stroke.capType == LOTLineCapTypeRound ? kCALineCapRound : kCALineCapButt; _strokeLayer.circlePosition = circleShape.position.initialPoint; _strokeLayer.circleSize = circleShape.size.initialPoint; switch (_stroke.joinType) { - case LALineJoinTypeBevel: + case LOTLineJoinTypeBevel: _strokeLayer.lineJoin = kCALineJoinBevel; break; - case LALineJoinTypeMiter: + case LOTLineJoinTypeMiter: _strokeLayer.lineJoin = kCALineJoinMiter; break; - case LALineJoinTypeRound: + case LOTLineJoinTypeRound: _strokeLayer.lineJoin = kCALineJoinRound; break; default: @@ -175,7 +175,7 @@ const CGFloat kEllipseControlPointPercentage = 0.55228; - (void)_buildAnimation { if (_transform) { - _animation = [CAAnimationGroup animationGroupForAnimatablePropertiesWithKeyPaths:@{@"opacity" : _transform.opacity, + _animation = [CAAnimationGroup LOT_animationGroupForAnimatablePropertiesWithKeyPaths:@{@"opacity" : _transform.opacity, @"position" : _transform.position, @"anchorPoint" : _transform.anchor, @"transform" : _transform.scale, @@ -193,13 +193,13 @@ const CGFloat kEllipseControlPointPercentage = 0.55228; properties[@"strokeStart"] = _trim.start; properties[@"strokeEnd"] = _trim.end; } - _strokeAnimation = [CAAnimationGroup animationGroupForAnimatablePropertiesWithKeyPaths:properties]; + _strokeAnimation = [CAAnimationGroup LOT_animationGroupForAnimatablePropertiesWithKeyPaths:properties]; [_strokeLayer addAnimation:_strokeAnimation forKey:@""]; } if (_fill) { - _fillAnimation = [CAAnimationGroup animationGroupForAnimatablePropertiesWithKeyPaths:@{@"fillColor" : _fill.color, + _fillAnimation = [CAAnimationGroup LOT_animationGroupForAnimatablePropertiesWithKeyPaths:@{@"fillColor" : _fill.color, @"opacity" : _fill.opacity, @"circlePosition" : _circle.position, @"circleSize" : _circle.size}]; diff --git a/lottie-ios/Classes/Animatable Layers/LOTGroupLayerView.h b/lottie-ios/Classes/Animatable Layers/LOTGroupLayerView.h new file mode 100644 index 0000000000..c19444ff26 --- /dev/null +++ b/lottie-ios/Classes/Animatable Layers/LOTGroupLayerView.h @@ -0,0 +1,31 @@ +// +// LOTGroupLayerView.h +// LottieAnimator +// +// Created by brandon_withrow on 7/14/16. +// Copyright © 2016 Brandon Withrow. All rights reserved. +// + +#import +#import "LOTAnimatableLayer.h" + +@class LOTShapeGroup; +@class LOTShapeTransform; +@class LOTShapeFill; +@class LOTShapeStroke; +@class LOTShapeTrimPath; + +@interface LOTGroupLayerView : LOTAnimatableLayer + +- (instancetype)initWithShapeGroup:(LOTShapeGroup *)shapeGroup + transform:(LOTShapeTransform *)previousTransform + fill:(LOTShapeFill *)previousFill + stroke:(LOTShapeStroke *)previousStroke + trimPath:(LOTShapeTrimPath *)previousTrimPath + withDuration:(NSTimeInterval)duration; + +@property (nonatomic, readonly) LOTShapeGroup *shapeGroup; +@property (nonatomic, readonly) LOTShapeTransform *shapeTransform; +@property (nonatomic, assign) BOOL debugModeOn; + +@end diff --git a/lottie-ios/Classes/LAGroupLayerView.m b/lottie-ios/Classes/Animatable Layers/LOTGroupLayerView.m similarity index 66% rename from lottie-ios/Classes/LAGroupLayerView.m rename to lottie-ios/Classes/Animatable Layers/LOTGroupLayerView.m index 249980e1fa..077abc8f1c 100644 --- a/lottie-ios/Classes/LAGroupLayerView.m +++ b/lottie-ios/Classes/Animatable Layers/LOTGroupLayerView.m @@ -1,29 +1,29 @@ // -// LAGroupLayerView.m +// LOTGroupLayerView.m // LottieAnimator // // Created by brandon_withrow on 7/14/16. // Copyright © 2016 Brandon Withrow. All rights reserved. // -#import "LAGroupLayerView.h" -#import "LAShapeLayerView.h" -#import "LARectShapeLayer.h" -#import "LAEllipseShapeLayer.h" +#import "LOTGroupLayerView.h" +#import "LOTShapeLayerView.h" +#import "LOTRectShapeLayer.h" +#import "LOTEllipseShapeLayer.h" -#import "CAAnimationGroup+LAAnimatableGroup.h" +#import "CAAnimationGroup+LOTAnimatableGroup.h" -@implementation LAGroupLayerView { - NSArray *_groupLayers; - NSArray *_shapeLayers; +@implementation LOTGroupLayerView { + NSArray *_groupLayers; + NSArray *_shapeLayers; CAAnimationGroup *_animation; } -- (instancetype)initWithShapeGroup:(LAShapeGroup *)shapeGroup - transform:(LAShapeTransform *)previousTransform - fill:(LAShapeFill *)previousFill - stroke:(LAShapeStroke *)previousStroke - trimPath:(LAShapeTrimPath *)previousTrimPath +- (instancetype)initWithShapeGroup:(LOTShapeGroup *)shapeGroup + transform:(LOTShapeTransform *)previousTransform + fill:(LOTShapeFill *)previousFill + stroke:(LOTShapeStroke *)previousStroke + trimPath:(LOTShapeTrimPath *)previousTrimPath withDuration:(NSTimeInterval)duration { self = [super initWithDuration:duration]; if (self) { @@ -34,9 +34,9 @@ return self; } -- (void)_setupShapeGroupWithFill:(LAShapeFill *)previousFill - stroke:(LAShapeStroke *)previousStroke - trimPath:(LAShapeTrimPath *)previousTrimPath { +- (void)_setupShapeGroupWithFill:(LOTShapeFill *)previousFill + stroke:(LOTShapeStroke *)previousStroke + trimPath:(LOTShapeTrimPath *)previousTrimPath { if (_shapeTransform) { self.frame = _shapeTransform.compBounds; self.anchorPoint = _shapeTransform.anchor.initialPoint; @@ -49,26 +49,26 @@ NSArray *groupItems = _shapeGroup.items; NSArray *reversedItems = [[groupItems reverseObjectEnumerator] allObjects]; - LAShapeFill *currentFill = previousFill; - LAShapeStroke *currentStroke = previousStroke; - LAShapeTransform *currentTransform; - LAShapeTrimPath *currentTrim = previousTrimPath; + LOTShapeFill *currentFill = previousFill; + LOTShapeStroke *currentStroke = previousStroke; + LOTShapeTransform *currentTransform; + LOTShapeTrimPath *currentTrim = previousTrimPath; NSMutableArray *shapeLayers = [NSMutableArray array]; NSMutableArray *groupLayers = [NSMutableArray array]; for (id item in reversedItems) { - if ([item isKindOfClass:[LAShapeTransform class]]) { + if ([item isKindOfClass:[LOTShapeTransform class]]) { currentTransform = item; - } else if ([item isKindOfClass:[LAShapeStroke class]]) { + } else if ([item isKindOfClass:[LOTShapeStroke class]]) { currentStroke = item; - } else if ([item isKindOfClass:[LAShapeFill class]]) { + } else if ([item isKindOfClass:[LOTShapeFill class]]) { currentFill = item; - } else if ([item isKindOfClass:[LAShapeTrimPath class]]) { + } else if ([item isKindOfClass:[LOTShapeTrimPath class]]) { currentTrim = item; - } else if ([item isKindOfClass:[LAShapePath class]]) { - LAShapePath *shapePath = (LAShapePath *)item; - LAShapeLayerView *shapeLayer = [[LAShapeLayerView alloc] initWithShape:shapePath + } else if ([item isKindOfClass:[LOTShapePath class]]) { + LOTShapePath *shapePath = (LOTShapePath *)item; + LOTShapeLayerView *shapeLayer = [[LOTShapeLayerView alloc] initWithShape:shapePath fill:currentFill stroke:currentStroke trim:currentTrim @@ -76,18 +76,18 @@ withDuration:self.laAnimationDuration]; [shapeLayers addObject:shapeLayer]; [self addSublayer:shapeLayer]; - } else if ([item isKindOfClass:[LAShapeRectangle class]]) { - LAShapeRectangle *shapeRect = (LAShapeRectangle *)item; - LARectShapeLayer *shapeLayer = [[LARectShapeLayer alloc] initWithRectShape:shapeRect + } else if ([item isKindOfClass:[LOTShapeRectangle class]]) { + LOTShapeRectangle *shapeRect = (LOTShapeRectangle *)item; + LOTRectShapeLayer *shapeLayer = [[LOTRectShapeLayer alloc] initWithRectShape:shapeRect fill:currentFill stroke:currentStroke transform:currentTransform withDuration:self.laAnimationDuration]; [shapeLayers addObject:shapeLayer]; [self addSublayer:shapeLayer]; - } else if ([item isKindOfClass:[LAShapeCircle class]]) { - LAShapeCircle *shapeCircle = (LAShapeCircle *)item; - LAEllipseShapeLayer *shapeLayer = [[LAEllipseShapeLayer alloc] initWithEllipseShape:shapeCircle + } else if ([item isKindOfClass:[LOTShapeCircle class]]) { + LOTShapeCircle *shapeCircle = (LOTShapeCircle *)item; + LOTEllipseShapeLayer *shapeLayer = [[LOTEllipseShapeLayer alloc] initWithEllipseShape:shapeCircle fill:currentFill stroke:currentStroke trim:currentTrim @@ -95,9 +95,9 @@ withDuration:self.laAnimationDuration]; [shapeLayers addObject:shapeLayer]; [self addSublayer:shapeLayer]; - } else if ([item isKindOfClass:[LAShapeGroup class]]) { - LAShapeGroup *shapeGroup = (LAShapeGroup *)item; - LAGroupLayerView *groupLayer = [[LAGroupLayerView alloc] initWithShapeGroup:shapeGroup + } else if ([item isKindOfClass:[LOTShapeGroup class]]) { + LOTShapeGroup *shapeGroup = (LOTShapeGroup *)item; + LOTGroupLayerView *groupLayer = [[LOTGroupLayerView alloc] initWithShapeGroup:shapeGroup transform:currentTransform fill:currentFill stroke:currentStroke @@ -115,7 +115,7 @@ - (void)_buildAnimation { if (_shapeTransform) { - _animation = [CAAnimationGroup animationGroupForAnimatablePropertiesWithKeyPaths:@{@"opacity" : _shapeTransform.opacity, + _animation = [CAAnimationGroup LOT_animationGroupForAnimatablePropertiesWithKeyPaths:@{@"opacity" : _shapeTransform.opacity, @"position" : _shapeTransform.position, @"anchorPoint" : _shapeTransform.anchor, @"transform" : _shapeTransform.scale, diff --git a/lottie-ios/Classes/Animatable Layers/LOTLayerView.h b/lottie-ios/Classes/Animatable Layers/LOTLayerView.h new file mode 100644 index 0000000000..5ebcbf3b28 --- /dev/null +++ b/lottie-ios/Classes/Animatable Layers/LOTLayerView.h @@ -0,0 +1,21 @@ +// +// LOTLayerView.h +// LottieAnimator +// +// Created by Brandon Withrow on 12/14/15. +// Copyright © 2015 Brandon Withrow. All rights reserved. +// + +#import "LOTPlatformCompat.h" +#import "LOTAnimatableLayer.h" + +#import "LOTModels.h" + +@interface LOTLayerView : LOTAnimatableLayer + +- (instancetype)initWithModel:(LOTLayer *)model inComposition:(LOTComposition *)comp; + +@property (nonatomic, readonly) LOTLayer *layerModel; +@property (nonatomic, assign) BOOL debugModeOn; + +@end diff --git a/lottie-ios/Classes/LALayerView.m b/lottie-ios/Classes/Animatable Layers/LOTLayerView.m similarity index 73% rename from lottie-ios/Classes/LALayerView.m rename to lottie-ios/Classes/Animatable Layers/LOTLayerView.m index f51f419d15..fbf4a795cb 100644 --- a/lottie-ios/Classes/LALayerView.m +++ b/lottie-ios/Classes/Animatable Layers/LOTLayerView.m @@ -1,32 +1,32 @@ // -// LALayerView.m +// LOTLayerView.m // LottieAnimator // // Created by Brandon Withrow on 12/14/15. // Copyright © 2015 Brandon Withrow. All rights reserved. // -#import "LALayerView.h" -#import "LAShapeLayerView.h" -#import "LARectShapeLayer.h" -#import "LAEllipseShapeLayer.h" -#import "LAGroupLayerView.h" -#import "CAAnimationGroup+LAAnimatableGroup.h" -#import "LAMaskLayer.h" +#import "LOTLayerView.h" +#import "LOTShapeLayerView.h" +#import "LOTRectShapeLayer.h" +#import "LOTEllipseShapeLayer.h" +#import "LOTGroupLayerView.h" +#import "CAAnimationGroup+LOTAnimatableGroup.h" +#import "LOTMaskLayer.h" #import "CGGeometryAdditions.h" -@interface LAParentLayer : LAAnimatableLayer +@interface LOTParentLayer : LOTAnimatableLayer -- (instancetype)initWithParentModel:(LALayer *)parent inComposition:(LAComposition *)comp; +- (instancetype)initWithParentModel:(LOTLayer *)parent inComposition:(LOTComposition *)comp; @end -@implementation LAParentLayer { - LALayer *_parentModel; +@implementation LOTParentLayer { + LOTLayer *_parentModel; CAAnimationGroup *_animation; } -- (instancetype)initWithParentModel:(LALayer *)parent inComposition:(LAComposition *)comp { +- (instancetype)initWithParentModel:(LOTLayer *)parent inComposition:(LOTComposition *)comp { self = [super initWithDuration:comp.timeDuration]; if (self) { self.bounds = parent.compBounds; @@ -45,7 +45,7 @@ } - (void)_buildAnimations { - _animation = [CAAnimationGroup animationGroupForAnimatablePropertiesWithKeyPaths:@{@"position" : _parentModel.position, + _animation = [CAAnimationGroup LOT_animationGroupForAnimatablePropertiesWithKeyPaths:@{@"position" : _parentModel.position, @"anchorPoint" : _parentModel.anchor, @"transform" : _parentModel.scale, @"sublayerTransform.rotation" : _parentModel.rotation}]; @@ -54,18 +54,18 @@ @end -@implementation LALayerView { - NSArray *_shapeLayers; +@implementation LOTLayerView { + NSArray *_shapeLayers; CALayer *_childContainerLayer; CALayer *_rotationLayer; CAAnimationGroup *_animation; CAKeyframeAnimation *_inOutAnimation; - NSArray *_parentLayers; - LAComposition *_composition; - LAMaskLayer *_maskLayer; + NSArray *_parentLayers; + LOTComposition *_composition; + LOTMaskLayer *_maskLayer; } -- (instancetype)initWithModel:(LALayer *)model inComposition:(LAComposition *)comp { +- (instancetype)initWithModel:(LOTLayer *)model inComposition:(LOTComposition *)comp { self = [super initWithDuration:comp.timeDuration]; if (self) { _layerModel = model; @@ -84,7 +84,7 @@ _childContainerLayer.bounds = self.bounds; _childContainerLayer.backgroundColor = _layerModel.solidColor.CGColor; - if (_layerModel.layerType == LALayerTypeSolid) { + if (_layerModel.layerType == LOTLayerTypeSolid) { _childContainerLayer.bounds = CGRectMake(0, 0, _layerModel.solidWidth.floatValue, _layerModel.solidHeight.floatValue); _childContainerLayer.backgroundColor = nil; _childContainerLayer.masksToBounds = NO; @@ -101,8 +101,8 @@ NSMutableArray *parentLayers = [NSMutableArray array]; if (parentID) { while (parentID != nil) { - LALayer *parentModel = [_composition layerModelForID:parentID]; - LAParentLayer *parentLayer = [[LAParentLayer alloc] initWithParentModel:parentModel inComposition:_composition]; + LOTLayer *parentModel = [_composition layerModelForID:parentID]; + LOTParentLayer *parentLayer = [[LOTParentLayer alloc] initWithParentModel:parentModel inComposition:_composition]; [parentLayer addSublayer:currentChild]; [parentLayers addObject:parentLayer]; currentChild = parentLayer; @@ -123,16 +123,16 @@ NSArray *groupItems = _layerModel.shapes; NSArray *reversedItems = [[groupItems reverseObjectEnumerator] allObjects]; - LAShapeTransform *currentTransform = [LAShapeTransform transformIdentityWithCompBounds:_composition.compBounds]; - LAShapeTrimPath *currentTrimPath = nil; - LAShapeFill *currentFill = nil; - LAShapeStroke *currentStroke = nil; + LOTShapeTransform *currentTransform = [LOTShapeTransform transformIdentityWithCompBounds:_composition.compBounds]; + LOTShapeTrimPath *currentTrimPath = nil; + LOTShapeFill *currentFill = nil; + LOTShapeStroke *currentStroke = nil; NSMutableArray *shapeLayers = [NSMutableArray array]; for (id item in reversedItems) { - if ([item isKindOfClass:[LAShapeGroup class]]) { - LAGroupLayerView *groupLayer = [[LAGroupLayerView alloc] initWithShapeGroup:(LAShapeGroup *)item + if ([item isKindOfClass:[LOTShapeGroup class]]) { + LOTGroupLayerView *groupLayer = [[LOTGroupLayerView alloc] initWithShapeGroup:(LOTShapeGroup *)item transform:currentTransform fill:currentFill stroke:currentStroke @@ -140,9 +140,9 @@ withDuration:self.laAnimationDuration]; [_childContainerLayer addSublayer:groupLayer]; [shapeLayers addObject:groupLayer]; - } else if ([item isKindOfClass:[LAShapePath class]]) { - LAShapePath *shapePath = (LAShapePath *)item; - LAShapeLayerView *shapeLayer = [[LAShapeLayerView alloc] initWithShape:shapePath + } else if ([item isKindOfClass:[LOTShapePath class]]) { + LOTShapePath *shapePath = (LOTShapePath *)item; + LOTShapeLayerView *shapeLayer = [[LOTShapeLayerView alloc] initWithShape:shapePath fill:currentFill stroke:currentStroke trim:currentTrimPath @@ -150,18 +150,18 @@ withDuration:self.laAnimationDuration]; [shapeLayers addObject:shapeLayer]; [_childContainerLayer addSublayer:shapeLayer]; - } else if ([item isKindOfClass:[LAShapeRectangle class]]) { - LAShapeRectangle *shapeRect = (LAShapeRectangle *)item; - LARectShapeLayer *shapeLayer = [[LARectShapeLayer alloc] initWithRectShape:shapeRect + } else if ([item isKindOfClass:[LOTShapeRectangle class]]) { + LOTShapeRectangle *shapeRect = (LOTShapeRectangle *)item; + LOTRectShapeLayer *shapeLayer = [[LOTRectShapeLayer alloc] initWithRectShape:shapeRect fill:currentFill stroke:currentStroke transform:currentTransform withDuration:self.laAnimationDuration]; [shapeLayers addObject:shapeLayer]; [_childContainerLayer addSublayer:shapeLayer]; - } else if ([item isKindOfClass:[LAShapeCircle class]]) { - LAShapeCircle *shapeCircle = (LAShapeCircle *)item; - LAEllipseShapeLayer *shapeLayer = [[LAEllipseShapeLayer alloc] initWithEllipseShape:shapeCircle + } else if ([item isKindOfClass:[LOTShapeCircle class]]) { + LOTShapeCircle *shapeCircle = (LOTShapeCircle *)item; + LOTEllipseShapeLayer *shapeLayer = [[LOTEllipseShapeLayer alloc] initWithEllipseShape:shapeCircle fill:currentFill stroke:currentStroke trim:currentTrimPath @@ -169,21 +169,21 @@ withDuration:self.laAnimationDuration]; [shapeLayers addObject:shapeLayer]; [_childContainerLayer addSublayer:shapeLayer]; - } else if ([item isKindOfClass:[LAShapeTransform class]]) { - currentTransform = (LAShapeTransform *)item; - } else if ([item isKindOfClass:[LAShapeFill class]]) { - currentFill = (LAShapeFill *)item; - } else if ([item isKindOfClass:[LAShapeTrimPath class]]) { - currentTrimPath = (LAShapeTrimPath *)item; - } else if ([item isKindOfClass:[LAShapeStroke class]]) { - currentStroke = (LAShapeStroke *)item; + } else if ([item isKindOfClass:[LOTShapeTransform class]]) { + currentTransform = (LOTShapeTransform *)item; + } else if ([item isKindOfClass:[LOTShapeFill class]]) { + currentFill = (LOTShapeFill *)item; + } else if ([item isKindOfClass:[LOTShapeTrimPath class]]) { + currentTrimPath = (LOTShapeTrimPath *)item; + } else if ([item isKindOfClass:[LOTShapeStroke class]]) { + currentStroke = (LOTShapeStroke *)item; } } _shapeLayers = shapeLayers; if (_layerModel.masks) { - _maskLayer = [[LAMaskLayer alloc] initWithMasks:_layerModel.masks inComposition:_composition]; + _maskLayer = [[LOTMaskLayer alloc] initWithMasks:_layerModel.masks inComposition:_composition]; _childContainerLayer.mask = _maskLayer; } @@ -222,7 +222,7 @@ } - _animation = [CAAnimationGroup animationGroupForAnimatablePropertiesWithKeyPaths:keypaths]; + _animation = [CAAnimationGroup LOT_animationGroupForAnimatablePropertiesWithKeyPaths:keypaths]; if (_animation) { [_childContainerLayer addAnimation:_animation forKey:@"LottieAnimation"]; @@ -249,7 +249,7 @@ self.borderWidth = debugModeOn ? 2 : 0; self.backgroundColor = debugModeOn ? [[UIColor blueColor] colorWithAlphaComponent:0.2].CGColor : [UIColor clearColor].CGColor; - for (LAGroupLayerView *group in _shapeLayers) { + for (LOTGroupLayerView *group in _shapeLayers) { group.debugModeOn = debugModeOn; } } diff --git a/lottie-ios/Classes/Animatable Layers/LOTMaskLayer.h b/lottie-ios/Classes/Animatable Layers/LOTMaskLayer.h new file mode 100644 index 0000000000..c4d61e7123 --- /dev/null +++ b/lottie-ios/Classes/Animatable Layers/LOTMaskLayer.h @@ -0,0 +1,19 @@ +// +// LOTMaskLayer.h +// LottieAnimator +// +// Created by brandon_withrow on 7/22/16. +// Copyright © 2016 Brandon Withrow. All rights reserved. +// + +#import "LOTAnimatableLayer.h" +#import "LOTModels.h" + +@interface LOTMaskLayer : LOTAnimatableLayer + +- (instancetype)initWithMasks:(NSArray *)masks inComposition:(LOTComposition *)comp; + +@property (nonatomic, readonly) NSArray *masks; + + +@end diff --git a/lottie-ios/Classes/LAMaskLayer.m b/lottie-ios/Classes/Animatable Layers/LOTMaskLayer.m similarity index 69% rename from lottie-ios/Classes/LAMaskLayer.m rename to lottie-ios/Classes/Animatable Layers/LOTMaskLayer.m index 551f707cfd..4d68aa3e92 100644 --- a/lottie-ios/Classes/LAMaskLayer.m +++ b/lottie-ios/Classes/Animatable Layers/LOTMaskLayer.m @@ -1,20 +1,20 @@ // -// LAMaskLayer.m +// LOTMaskLayer.m // LottieAnimator // // Created by brandon_withrow on 7/22/16. // Copyright © 2016 Brandon Withrow. All rights reserved. // -#import "LAMaskLayer.h" -#import "CAAnimationGroup+LAAnimatableGroup.h" +#import "LOTMaskLayer.h" +#import "CAAnimationGroup+LOTAnimatableGroup.h" -@implementation LAMaskLayer { - LAComposition *_composition; +@implementation LOTMaskLayer { + LOTComposition *_composition; NSArray *_maskLayers; } -- (instancetype)initWithMasks:(NSArray *)masks inComposition:(LAComposition *)comp { +- (instancetype)initWithMasks:(NSArray *)masks inComposition:(LOTComposition *)comp { self = [super initWithDuration:comp.timeDuration]; if (self) { _masks = masks; @@ -27,13 +27,13 @@ - (void)_setupViewFromModel { NSMutableArray *maskLayers = [NSMutableArray array]; - for (LAMask *mask in _masks) { + for (LOTMask *mask in _masks) { CAShapeLayer *maskLayer = [CAShapeLayer new]; maskLayer.path = mask.maskPath.initialShape.CGPath; maskLayer.fillColor = [UIColor whiteColor].CGColor; maskLayer.opacity = mask.opacity.initialValue.floatValue; [self addSublayer:maskLayer]; - CAAnimationGroup *animGroup = [CAAnimationGroup animationGroupForAnimatablePropertiesWithKeyPaths:@{@"opacity" : mask.opacity, + CAAnimationGroup *animGroup = [CAAnimationGroup LOT_animationGroupForAnimatablePropertiesWithKeyPaths:@{@"opacity" : mask.opacity, @"path" : mask.maskPath}]; if (animGroup) { [maskLayer addAnimation:animGroup forKey:@""]; diff --git a/lottie-ios/Classes/Animatable Layers/LOTRectShapeLayer.h b/lottie-ios/Classes/Animatable Layers/LOTRectShapeLayer.h new file mode 100644 index 0000000000..f046419871 --- /dev/null +++ b/lottie-ios/Classes/Animatable Layers/LOTRectShapeLayer.h @@ -0,0 +1,21 @@ +// +// LOTRectShapeLayer.h +// LottieAnimator +// +// Created by brandon_withrow on 7/20/16. +// Copyright © 2016 Brandon Withrow. All rights reserved. +// + +#import +#import "LOTModels.h" +#import "LOTAnimatableLayer.h" + +@interface LOTRectShapeLayer : LOTAnimatableLayer + +- (instancetype)initWithRectShape:(LOTShapeRectangle *)rectShape + fill:(LOTShapeFill *)fill + stroke:(LOTShapeStroke *)stroke + transform:(LOTShapeTransform *)transform + withDuration:(NSTimeInterval)duration; + +@end diff --git a/lottie-ios/Classes/LARectShapeLayer.m b/lottie-ios/Classes/Animatable Layers/LOTRectShapeLayer.m similarity index 78% rename from lottie-ios/Classes/LARectShapeLayer.m rename to lottie-ios/Classes/Animatable Layers/LOTRectShapeLayer.m index adfda52120..06ad12bce2 100644 --- a/lottie-ios/Classes/LARectShapeLayer.m +++ b/lottie-ios/Classes/Animatable Layers/LOTRectShapeLayer.m @@ -1,16 +1,16 @@ // -// LARectShapeLayer.m +// LOTRectShapeLayer.m // LottieAnimator // // Created by brandon_withrow on 7/20/16. // Copyright © 2016 Brandon Withrow. All rights reserved. // -#import "LARectShapeLayer.h" -#import "LAPlatformCompat.h" -#import "CAAnimationGroup+LAAnimatableGroup.h" +#import "LOTRectShapeLayer.h" +#import "LOTPlatformCompat.h" +#import "CAAnimationGroup+LOTAnimatableGroup.h" -@interface LARoundRectLayer : CAShapeLayer +@interface LOTRoundRectLayer : CAShapeLayer @property (nonatomic) CGPoint rectPosition; @property (nonatomic) CGPoint rectSize; @@ -18,7 +18,7 @@ @end -@implementation LARoundRectLayer +@implementation LOTRoundRectLayer @dynamic rectPosition; @dynamic rectSize; @@ -26,10 +26,10 @@ -(id)initWithLayer:(id)layer { if( ( self = [super initWithLayer:layer] ) ) { - if ([layer isKindOfClass:[LARoundRectLayer class]]) { - self.rectSize = ((LARoundRectLayer *)layer).rectSize; - self.rectPosition = ((LARoundRectLayer *)layer).rectPosition; - self.rectCornerRadius = ((LARoundRectLayer *)layer).rectCornerRadius; + if ([layer isKindOfClass:[LOTRoundRectLayer class]]) { + self.rectSize = ((LOTRoundRectLayer *)layer).rectSize; + self.rectPosition = ((LOTRoundRectLayer *)layer).rectPosition; + self.rectCornerRadius = ((LOTRoundRectLayer *)layer).rectCornerRadius; } } return self; @@ -56,7 +56,7 @@ } - (void)_setPath { - LARoundRectLayer *presentationRect = (LARoundRectLayer *)self.presentationLayer; + LOTRoundRectLayer *presentationRect = (LOTRoundRectLayer *)self.presentationLayer; if (presentationRect == nil) { presentationRect = self; } @@ -75,24 +75,24 @@ @end -@implementation LARectShapeLayer { - LAShapeTransform *_transform; - LAShapeStroke *_stroke; - LAShapeFill *_fill; - LAShapeRectangle *_rectangle; +@implementation LOTRectShapeLayer { + LOTShapeTransform *_transform; + LOTShapeStroke *_stroke; + LOTShapeFill *_fill; + LOTShapeRectangle *_rectangle; - LARoundRectLayer *_fillLayer; - LARoundRectLayer *_strokeLayer; + LOTRoundRectLayer *_fillLayer; + LOTRoundRectLayer *_strokeLayer; CAAnimationGroup *_animation; CAAnimationGroup *_strokeAnimation; CAAnimationGroup *_fillAnimation; } -- (instancetype)initWithRectShape:(LAShapeRectangle *)rectShape - fill:(LAShapeFill *)fill - stroke:(LAShapeStroke *)stroke - transform:(LAShapeTransform *)transform +- (instancetype)initWithRectShape:(LOTShapeRectangle *)rectShape + fill:(LOTShapeFill *)fill + stroke:(LOTShapeStroke *)stroke + transform:(LOTShapeTransform *)transform withDuration:(NSTimeInterval)duration { self = [super initWithDuration:duration]; if (self) { @@ -110,7 +110,7 @@ self.sublayerTransform = CATransform3DMakeRotation(_transform.rotation.initialValue.floatValue, 0, 0, 1); if (fill) { - _fillLayer = [LARoundRectLayer layer]; + _fillLayer = [LOTRoundRectLayer layer]; _fillLayer.allowsEdgeAntialiasing = YES; _fillLayer.fillColor = _fill.color.initialColor.CGColor; _fillLayer.opacity = _fill.opacity.initialValue.floatValue; @@ -121,7 +121,7 @@ } if (stroke) { - _strokeLayer = [LARoundRectLayer layer]; + _strokeLayer = [LOTRoundRectLayer layer]; _strokeLayer.allowsEdgeAntialiasing = YES; _strokeLayer.strokeColor = _stroke.color.initialColor.CGColor; _strokeLayer.opacity = _stroke.opacity.initialValue.floatValue; @@ -129,18 +129,18 @@ _strokeLayer.fillColor = nil; _strokeLayer.backgroundColor = nil; _strokeLayer.lineDashPattern = _stroke.lineDashPattern; - _strokeLayer.lineCap = _stroke.capType == LALineCapTypeRound ? kCALineCapRound : kCALineCapButt; + _strokeLayer.lineCap = _stroke.capType == LOTLineCapTypeRound ? kCALineCapRound : kCALineCapButt; _strokeLayer.rectCornerRadius = rectShape.cornerRadius.initialValue.floatValue; _strokeLayer.rectSize = rectShape.size.initialPoint; _strokeLayer.rectPosition = rectShape.position.initialPoint; switch (_stroke.joinType) { - case LALineJoinTypeBevel: + case LOTLineJoinTypeBevel: _strokeLayer.lineJoin = kCALineJoinBevel; break; - case LALineJoinTypeMiter: + case LOTLineJoinTypeMiter: _strokeLayer.lineJoin = kCALineJoinMiter; break; - case LALineJoinTypeRound: + case LOTLineJoinTypeRound: _strokeLayer.lineJoin = kCALineJoinRound; break; default: @@ -161,7 +161,7 @@ - (void)_buildAnimation { if (_transform) { - _animation = [CAAnimationGroup animationGroupForAnimatablePropertiesWithKeyPaths:@{@"opacity" : _transform.opacity, + _animation = [CAAnimationGroup LOT_animationGroupForAnimatablePropertiesWithKeyPaths:@{@"opacity" : _transform.opacity, @"position" : _transform.position, @"anchorPoint" : _transform.anchor, @"transform" : _transform.scale, @@ -170,7 +170,7 @@ } if (_stroke) { - _strokeAnimation = [CAAnimationGroup animationGroupForAnimatablePropertiesWithKeyPaths:@{@"strokeColor" : _stroke.color, + _strokeAnimation = [CAAnimationGroup LOT_animationGroupForAnimatablePropertiesWithKeyPaths:@{@"strokeColor" : _stroke.color, @"opacity" : _stroke.opacity, @"lineWidth" : _stroke.width, @"rectSize" : _rectangle.size, @@ -181,7 +181,7 @@ } if (_fill) { - _fillAnimation = [CAAnimationGroup animationGroupForAnimatablePropertiesWithKeyPaths:@{@"fillColor" : _fill.color, + _fillAnimation = [CAAnimationGroup LOT_animationGroupForAnimatablePropertiesWithKeyPaths:@{@"fillColor" : _fill.color, @"opacity" : _fill.opacity, @"rectSize" : _rectangle.size, @"rectPosition" : _rectangle.position, diff --git a/lottie-ios/Classes/Animatable Layers/LOTShapeLayerView.h b/lottie-ios/Classes/Animatable Layers/LOTShapeLayerView.h new file mode 100644 index 0000000000..59afd9aa11 --- /dev/null +++ b/lottie-ios/Classes/Animatable Layers/LOTShapeLayerView.h @@ -0,0 +1,21 @@ +// +// LOTShapeLayerView.h +// LottieAnimator +// +// Created by Brandon Withrow on 7/13/16. +// Copyright © 2016 Brandon Withrow. All rights reserved. +// + +#import "LOTAnimatableLayer.h" +#import "LOTModels.h" + +@interface LOTShapeLayerView : LOTAnimatableLayer + +- (instancetype)initWithShape:(LOTShapePath *)shape + fill:(LOTShapeFill *)fill + stroke:(LOTShapeStroke *)stroke + trim:(LOTShapeTrimPath *)trim + transform:(LOTShapeTransform *)transform + withDuration:(NSTimeInterval)duration; + +@end diff --git a/lottie-ios/Classes/LAShapeLayerView.m b/lottie-ios/Classes/Animatable Layers/LOTShapeLayerView.m similarity index 77% rename from lottie-ios/Classes/LAShapeLayerView.m rename to lottie-ios/Classes/Animatable Layers/LOTShapeLayerView.m index 19e720d548..31b0c8649f 100644 --- a/lottie-ios/Classes/LAShapeLayerView.m +++ b/lottie-ios/Classes/Animatable Layers/LOTShapeLayerView.m @@ -1,20 +1,20 @@ // -// LAShapeLayerView.m +// LOTShapeLayerView.m // LottieAnimator // // Created by Brandon Withrow on 7/13/16. // Copyright © 2016 Brandon Withrow. All rights reserved. // -#import "LAShapeLayerView.h" -#import "CAAnimationGroup+LAAnimatableGroup.h" +#import "LOTShapeLayerView.h" +#import "CAAnimationGroup+LOTAnimatableGroup.h" -@implementation LAShapeLayerView { - LAShapeTransform *_transform; - LAShapeStroke *_stroke; - LAShapeFill *_fill; - LAShapePath *_path; - LAShapeTrimPath *_trim; +@implementation LOTShapeLayerView { + LOTShapeTransform *_transform; + LOTShapeStroke *_stroke; + LOTShapeFill *_fill; + LOTShapePath *_path; + LOTShapeTrimPath *_trim; CAShapeLayer *_fillLayer; CAShapeLayer *_strokeLayer; @@ -24,11 +24,11 @@ CAAnimationGroup *_fillAnimation; } -- (instancetype)initWithShape:(LAShapePath *)shape - fill:(LAShapeFill *)fill - stroke:(LAShapeStroke *)stroke - trim:(LAShapeTrimPath *)trim - transform:(LAShapeTransform *)transform +- (instancetype)initWithShape:(LOTShapePath *)shape + fill:(LOTShapeFill *)fill + stroke:(LOTShapeStroke *)stroke + trim:(LOTShapeTrimPath *)trim + transform:(LOTShapeTransform *)transform withDuration:(NSTimeInterval)duration { self = [super initWithDuration:duration]; if (self) { @@ -63,15 +63,15 @@ _strokeLayer.opacity = _stroke.opacity.initialValue.floatValue; _strokeLayer.lineWidth = _stroke.width.initialValue.floatValue; _strokeLayer.lineDashPattern = _stroke.lineDashPattern; - _strokeLayer.lineCap = _stroke.capType == LALineCapTypeRound ? kCALineCapRound : kCALineCapButt; + _strokeLayer.lineCap = _stroke.capType == LOTLineCapTypeRound ? kCALineCapRound : kCALineCapButt; switch (_stroke.joinType) { - case LALineJoinTypeBevel: + case LOTLineJoinTypeBevel: _strokeLayer.lineJoin = kCALineJoinBevel; break; - case LALineJoinTypeMiter: + case LOTLineJoinTypeMiter: _strokeLayer.lineJoin = kCALineJoinMiter; break; - case LALineJoinTypeRound: + case LOTLineJoinTypeRound: _strokeLayer.lineJoin = kCALineJoinRound; break; default: @@ -93,7 +93,7 @@ - (void)_buildAnimation { if (_transform) { - _animation = [CAAnimationGroup animationGroupForAnimatablePropertiesWithKeyPaths:@{@"opacity" : _transform.opacity, + _animation = [CAAnimationGroup LOT_animationGroupForAnimatablePropertiesWithKeyPaths:@{@"opacity" : _transform.opacity, @"position" : _transform.position, @"anchorPoint" : _transform.anchor, @"transform" : _transform.scale, @@ -110,12 +110,12 @@ properties[@"strokeStart"] = _trim.start; properties[@"strokeEnd"] = _trim.end; } - _strokeAnimation = [CAAnimationGroup animationGroupForAnimatablePropertiesWithKeyPaths:properties]; + _strokeAnimation = [CAAnimationGroup LOT_animationGroupForAnimatablePropertiesWithKeyPaths:properties]; [_strokeLayer addAnimation:_strokeAnimation forKey:@""]; } if (_fill) { - _fillAnimation = [CAAnimationGroup animationGroupForAnimatablePropertiesWithKeyPaths:@{@"fillColor" : _fill.color, + _fillAnimation = [CAAnimationGroup LOT_animationGroupForAnimatablePropertiesWithKeyPaths:@{@"fillColor" : _fill.color, @"opacity" : _fill.opacity, @"path" : _path.shapePath}]; [_fillLayer addAnimation:_fillAnimation forKey:@""]; diff --git a/lottie-ios/Classes/LAAnimatableBoundsValue.h b/lottie-ios/Classes/AnimatableProperties/LOTAnimatableBoundsValue.h similarity index 73% rename from lottie-ios/Classes/LAAnimatableBoundsValue.h rename to lottie-ios/Classes/AnimatableProperties/LOTAnimatableBoundsValue.h index 1dead52738..9a12deb6a6 100644 --- a/lottie-ios/Classes/LAAnimatableBoundsValue.h +++ b/lottie-ios/Classes/AnimatableProperties/LOTAnimatableBoundsValue.h @@ -1,5 +1,5 @@ // -// LAAnimatableBoundsValue.h +// LOTAnimatableBoundsValue.h // LottieAnimator // // Created by brandon_withrow on 7/20/16. @@ -8,9 +8,9 @@ #import #import -#import "LAAnimatableValue.h" +#import "LOTAnimatableValue.h" -@interface LAAnimatableBoundsValue : NSObject +@interface LOTAnimatableBoundsValue : NSObject - (instancetype)initWithSizeValues:(NSDictionary *)sizeValue frameRate:(NSNumber *)frameRate; diff --git a/lottie-ios/Classes/LAAnimatableBoundsValue.m b/lottie-ios/Classes/AnimatableProperties/LOTAnimatableBoundsValue.m similarity index 97% rename from lottie-ios/Classes/LAAnimatableBoundsValue.m rename to lottie-ios/Classes/AnimatableProperties/LOTAnimatableBoundsValue.m index a5b59286c0..2e1a3fdb49 100644 --- a/lottie-ios/Classes/LAAnimatableBoundsValue.m +++ b/lottie-ios/Classes/AnimatableProperties/LOTAnimatableBoundsValue.m @@ -1,15 +1,15 @@ // -// LAAnimatableBoundsValue.m +// LOTAnimatableBoundsValue.m // LottieAnimator // // Created by brandon_withrow on 7/20/16. // Copyright © 2016 Brandon Withrow. All rights reserved. // -#import "LAPlatformCompat.h" -#import "LAAnimatableBoundsValue.h" +#import "LOTPlatformCompat.h" +#import "LOTAnimatableBoundsValue.h" -@interface LAAnimatableBoundsValue () +@interface LOTAnimatableBoundsValue () @property (nonatomic, readonly) NSArray *boundsKeyframes; @property (nonatomic, readonly) NSArray *keyTimes; @@ -22,7 +22,7 @@ @end -@implementation LAAnimatableBoundsValue +@implementation LOTAnimatableBoundsValue - (instancetype)initWithSizeValues:(NSDictionary *)sizeValue frameRate:(NSNumber *)frameRate { self = [super init]; diff --git a/lottie-ios/Classes/LAAnimatableColorValue.h b/lottie-ios/Classes/AnimatableProperties/LOTAnimatableColorValue.h similarity index 69% rename from lottie-ios/Classes/LAAnimatableColorValue.h rename to lottie-ios/Classes/AnimatableProperties/LOTAnimatableColorValue.h index 486c96e62a..fcbf34f16f 100644 --- a/lottie-ios/Classes/LAAnimatableColorValue.h +++ b/lottie-ios/Classes/AnimatableProperties/LOTAnimatableColorValue.h @@ -1,5 +1,5 @@ // -// LAAnimatableColorValue.h +// LOTAnimatableColorValue.h // LottieAnimator // // Created by brandon_withrow on 6/23/16. @@ -8,10 +8,10 @@ #import #import -#import "LAAnimatableValue.h" -#import "LAPlatformCompat.h" +#import "LOTAnimatableValue.h" +#import "LOTPlatformCompat.h" -@interface LAAnimatableColorValue : NSObject +@interface LOTAnimatableColorValue : NSObject - (instancetype)initWithColorValues:(NSDictionary *)colorValues frameRate:(NSNumber *)frameRate; diff --git a/lottie-ios/Classes/LAAnimatableColorValue.m b/lottie-ios/Classes/AnimatableProperties/LOTAnimatableColorValue.m similarity index 97% rename from lottie-ios/Classes/LAAnimatableColorValue.m rename to lottie-ios/Classes/AnimatableProperties/LOTAnimatableColorValue.m index f4de18c631..eb5684864f 100644 --- a/lottie-ios/Classes/LAAnimatableColorValue.m +++ b/lottie-ios/Classes/AnimatableProperties/LOTAnimatableColorValue.m @@ -1,14 +1,14 @@ // -// LAAnimatableColorValue.m +// LOTAnimatableColorValue.m // LottieAnimator // // Created by brandon_withrow on 6/23/16. // Copyright © 2016 Brandon Withrow. All rights reserved. // -#import "LAAnimatableColorValue.h" +#import "LOTAnimatableColorValue.h" -@interface LAAnimatableColorValue () +@interface LOTAnimatableColorValue () @property (nonatomic, readonly) NSArray *colorKeyframes; @property (nonatomic, readonly) NSArray *keyTimes; @@ -22,7 +22,7 @@ @end -@implementation LAAnimatableColorValue +@implementation LOTAnimatableColorValue - (instancetype)initWithColorValues:(NSDictionary *)colorValues frameRate:(NSNumber *)frameRate { self = [super init]; diff --git a/lottie-ios/Classes/LAAnimatableNumberValue.h b/lottie-ios/Classes/AnimatableProperties/LOTAnimatableNumberValue.h similarity index 82% rename from lottie-ios/Classes/LAAnimatableNumberValue.h rename to lottie-ios/Classes/AnimatableProperties/LOTAnimatableNumberValue.h index fd79274738..930d4227e6 100644 --- a/lottie-ios/Classes/LAAnimatableNumberValue.h +++ b/lottie-ios/Classes/AnimatableProperties/LOTAnimatableNumberValue.h @@ -1,5 +1,5 @@ // -// LAAnimatableNumberValue.h +// LOTAnimatableNumberValue.h // LottieAnimator // // Created by brandon_withrow on 6/23/16. @@ -8,9 +8,9 @@ #import #import -#import "LAAnimatableValue.h" +#import "LOTAnimatableValue.h" -@interface LAAnimatableNumberValue : NSObject +@interface LOTAnimatableNumberValue : NSObject - (instancetype)initWithNumberValues:(NSDictionary *)numberValues frameRate:(NSNumber *)frameRate; - (void)remapValuesFromMin:(NSNumber *)fromMin diff --git a/lottie-ios/Classes/LAAnimatableNumberValue.m b/lottie-ios/Classes/AnimatableProperties/LOTAnimatableNumberValue.m similarity index 97% rename from lottie-ios/Classes/LAAnimatableNumberValue.m rename to lottie-ios/Classes/AnimatableProperties/LOTAnimatableNumberValue.m index 738c3dcf0d..f94565ed8c 100644 --- a/lottie-ios/Classes/LAAnimatableNumberValue.m +++ b/lottie-ios/Classes/AnimatableProperties/LOTAnimatableNumberValue.m @@ -1,15 +1,15 @@ // -// LAAnimatableNumberValue.m +// LOTAnimatableNumberValue.m // LottieAnimator // // Created by brandon_withrow on 6/23/16. // Copyright © 2016 Brandon Withrow. All rights reserved. // -#import "LAAnimatableNumberValue.h" -#import "LAHelpers.h" +#import "LOTAnimatableNumberValue.h" +#import "LOTHelpers.h" -@interface LAAnimatableNumberValue () +@interface LOTAnimatableNumberValue () @property (nonatomic, readonly) NSArray *valueKeyframes; @property (nonatomic, readonly) NSArray *keyTimes; @@ -22,7 +22,7 @@ @end -@implementation LAAnimatableNumberValue +@implementation LOTAnimatableNumberValue - (instancetype)initWithNumberValues:(NSDictionary *)numberValues frameRate:(NSNumber *)frameRate { self = [super init]; diff --git a/lottie-ios/Classes/LAAnimatablePointValue.h b/lottie-ios/Classes/AnimatableProperties/LOTAnimatablePointValue.h similarity index 79% rename from lottie-ios/Classes/LAAnimatablePointValue.h rename to lottie-ios/Classes/AnimatableProperties/LOTAnimatablePointValue.h index ebc0b93951..621d6d10c9 100644 --- a/lottie-ios/Classes/LAAnimatablePointValue.h +++ b/lottie-ios/Classes/AnimatableProperties/LOTAnimatablePointValue.h @@ -1,5 +1,5 @@ // -// LAAnimatablePointValue.h +// LOTAnimatablePointValue.h // LottieAnimator // // Created by brandon_withrow on 6/23/16. @@ -8,9 +8,9 @@ #import #import -#import "LAAnimatableValue.h" +#import "LOTAnimatableValue.h" -@interface LAAnimatablePointValue : NSObject +@interface LOTAnimatablePointValue : NSObject - (instancetype)initWithPointValues:(NSDictionary *)pointValues frameRate:(NSNumber *)frameRate; - (void)remapPointsFromBounds:(CGRect)frombounds toBounds:(CGRect)toBounds; diff --git a/lottie-ios/Classes/LAAnimatablePointValue.m b/lottie-ios/Classes/AnimatableProperties/LOTAnimatablePointValue.m similarity index 98% rename from lottie-ios/Classes/LAAnimatablePointValue.m rename to lottie-ios/Classes/AnimatableProperties/LOTAnimatablePointValue.m index cfbbb378c1..48d06764e8 100644 --- a/lottie-ios/Classes/LAAnimatablePointValue.m +++ b/lottie-ios/Classes/AnimatableProperties/LOTAnimatablePointValue.m @@ -1,16 +1,16 @@ // -// LAAnimatablePointValue.m +// LOTAnimatablePointValue.m // LottieAnimator // // Created by brandon_withrow on 6/23/16. // Copyright © 2016 Brandon Withrow. All rights reserved. // -#import "LAPlatformCompat.h" -#import "LAAnimatablePointValue.h" +#import "LOTPlatformCompat.h" +#import "LOTAnimatablePointValue.h" #import "CGGeometryAdditions.h" -@interface LAAnimatablePointValue () +@interface LOTAnimatablePointValue () @property (nonatomic, readonly) UIBezierPath *animationPath; @property (nonatomic, readonly) NSArray *pointKeyframes; @@ -24,7 +24,7 @@ @end -@implementation LAAnimatablePointValue +@implementation LOTAnimatablePointValue - (instancetype)initWithPointValues:(NSDictionary *)pointValues frameRate:(NSNumber *)frameRate { self = [super init]; diff --git a/lottie-ios/Classes/LAAnimatableScaleValue.h b/lottie-ios/Classes/AnimatableProperties/LOTAnimatableScaleValue.h similarity index 72% rename from lottie-ios/Classes/LAAnimatableScaleValue.h rename to lottie-ios/Classes/AnimatableProperties/LOTAnimatableScaleValue.h index 53278d6435..bc7f212768 100644 --- a/lottie-ios/Classes/LAAnimatableScaleValue.h +++ b/lottie-ios/Classes/AnimatableProperties/LOTAnimatableScaleValue.h @@ -1,5 +1,5 @@ // -// LAAnimatableScaleValue.h +// LOTAnimatableScaleValue.h // LottieAnimator // // Created by brandon_withrow on 7/11/16. @@ -7,9 +7,9 @@ // #import -#import "LAAnimatableValue.h" +#import "LOTAnimatableValue.h" -@interface LAAnimatableScaleValue : NSObject +@interface LOTAnimatableScaleValue : NSObject - (instancetype)initWithScaleValues:(NSDictionary *)scaleValues frameRate:(NSNumber *)frameRate; diff --git a/lottie-ios/Classes/LAAnimatableScaleValue.m b/lottie-ios/Classes/AnimatableProperties/LOTAnimatableScaleValue.m similarity index 97% rename from lottie-ios/Classes/LAAnimatableScaleValue.m rename to lottie-ios/Classes/AnimatableProperties/LOTAnimatableScaleValue.m index 77ae29cc02..8f6bcb651b 100644 --- a/lottie-ios/Classes/LAAnimatableScaleValue.m +++ b/lottie-ios/Classes/AnimatableProperties/LOTAnimatableScaleValue.m @@ -1,14 +1,14 @@ // -// LAAnimatableScaleValue.m +// LOTAnimatableScaleValue.m // LottieAnimator // // Created by brandon_withrow on 7/11/16. // Copyright © 2016 Brandon Withrow. All rights reserved. // -#import "LAAnimatableScaleValue.h" +#import "LOTAnimatableScaleValue.h" -@interface LAAnimatableScaleValue () +@interface LOTAnimatableScaleValue () @property (nonatomic, readonly) NSArray *scaleKeyframes; @property (nonatomic, readonly) NSArray *keyTimes; @@ -22,7 +22,7 @@ @end -@implementation LAAnimatableScaleValue +@implementation LOTAnimatableScaleValue - (instancetype)initWithScaleValues:(NSDictionary *)scaleValues frameRate:(NSNumber *)frameRate { self = [super init]; diff --git a/lottie-ios/Classes/LAAnimatableShapeValue.h b/lottie-ios/Classes/AnimatableProperties/LOTAnimatableShapeValue.h similarity index 69% rename from lottie-ios/Classes/LAAnimatableShapeValue.h rename to lottie-ios/Classes/AnimatableProperties/LOTAnimatableShapeValue.h index 31a175df76..9cda11534a 100644 --- a/lottie-ios/Classes/LAAnimatableShapeValue.h +++ b/lottie-ios/Classes/AnimatableProperties/LOTAnimatableShapeValue.h @@ -1,5 +1,5 @@ // -// LAAnimatableShapeValue.h +// LOTAnimatableShapeValue.h // LottieAnimator // // Created by brandon_withrow on 6/23/16. @@ -7,10 +7,10 @@ // #import -#import "LAPlatformCompat.h" -#import "LAAnimatableValue.h" +#import "LOTPlatformCompat.h" +#import "LOTAnimatableValue.h" -@interface LAAnimatableShapeValue : NSObject +@interface LOTAnimatableShapeValue : NSObject - (instancetype)initWithShapeValues:(NSDictionary *)shapeValues frameRate:(NSNumber *)frameRate closed:(BOOL)closed; diff --git a/lottie-ios/Classes/LAAnimatableShapeValue.m b/lottie-ios/Classes/AnimatableProperties/LOTAnimatableShapeValue.m similarity index 98% rename from lottie-ios/Classes/LAAnimatableShapeValue.m rename to lottie-ios/Classes/AnimatableProperties/LOTAnimatableShapeValue.m index 9b265e439a..adc6db54bf 100644 --- a/lottie-ios/Classes/LAAnimatableShapeValue.m +++ b/lottie-ios/Classes/AnimatableProperties/LOTAnimatableShapeValue.m @@ -1,14 +1,14 @@ // -// LAAnimatableShapeValue.m +// LOTAnimatableShapeValue.m // LottieAnimator // // Created by brandon_withrow on 6/23/16. // Copyright © 2016 Brandon Withrow. All rights reserved. // -#import "LAAnimatableShapeValue.h" +#import "LOTAnimatableShapeValue.h" #import "CGGeometryAdditions.h" -@interface LAAnimatableShapeValue () +@interface LOTAnimatableShapeValue () @property (nonatomic, readonly) NSArray *shapeKeyframes; @property (nonatomic, readonly) NSArray *keyTimes; @@ -21,7 +21,7 @@ @end -@implementation LAAnimatableShapeValue +@implementation LOTAnimatableShapeValue - (instancetype)initWithShapeValues:(NSDictionary *)shapeValues frameRate:(NSNumber *)frameRate closed:(BOOL)closed { self = [super init]; diff --git a/lottie-ios/Classes/LAAnimatableValue.h b/lottie-ios/Classes/AnimatableProperties/LOTAnimatableValue.h similarity index 81% rename from lottie-ios/Classes/LAAnimatableValue.h rename to lottie-ios/Classes/AnimatableProperties/LOTAnimatableValue.h index 84aa9ec363..880cbf86b9 100644 --- a/lottie-ios/Classes/LAAnimatableValue.h +++ b/lottie-ios/Classes/AnimatableProperties/LOTAnimatableValue.h @@ -1,5 +1,5 @@ // -// LAAnimatableValue.h +// LOTAnimatableValue.h // LottieAnimator // // Created by brandon_withrow on 7/19/16. @@ -9,7 +9,7 @@ #import #import -@protocol LAAnimatableValue +@protocol LOTAnimatableValue - (CAKeyframeAnimation *)animationForKeyPath:(NSString *)keypath; - (BOOL)hasAnimation; diff --git a/lottie-ios/Classes/Animation Cache/LOTAnimationCache.h b/lottie-ios/Classes/Animation Cache/LOTAnimationCache.h new file mode 100644 index 0000000000..87f65e1edf --- /dev/null +++ b/lottie-ios/Classes/Animation Cache/LOTAnimationCache.h @@ -0,0 +1,20 @@ +// +// LOTAnimationCache.h +// Lottie +// +// Created by Brandon Withrow on 1/9/17. +// Copyright © 2017 Brandon Withrow. All rights reserved. +// + +#import + +@class LOTComposition; + +@interface LOTAnimationCache : NSObject + ++ (instancetype)sharedCache; + +- (void)addAnimation:(LOTComposition *)animation forKey:(NSString *)key; +- (LOTComposition *)animationForKey:(NSString *)key; + +@end diff --git a/lottie-ios/Classes/LAAnimationCache.m b/lottie-ios/Classes/Animation Cache/LOTAnimationCache.m similarity index 69% rename from lottie-ios/Classes/LAAnimationCache.m rename to lottie-ios/Classes/Animation Cache/LOTAnimationCache.m index 3cf6085adc..63b8c42b77 100644 --- a/lottie-ios/Classes/LAAnimationCache.m +++ b/lottie-ios/Classes/Animation Cache/LOTAnimationCache.m @@ -1,22 +1,22 @@ // -// LAAnimationCache.m +// LOTAnimationCache.m // Lottie // // Created by Brandon Withrow on 1/9/17. // Copyright © 2017 Brandon Withrow. All rights reserved. // -#import "LAAnimationCache.h" +#import "LOTAnimationCache.h" -const NSInteger kLACacheSize = 50; +const NSInteger kLOTCacheSize = 50; -@implementation LAAnimationCache { +@implementation LOTAnimationCache { NSMutableDictionary *animationsCache_; NSMutableArray *lruOrderArray_; } + (instancetype)sharedCache { - static LAAnimationCache *sharedCache = nil; + static LOTAnimationCache *sharedCache = nil; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ sharedCache = [[self alloc] init]; @@ -33,8 +33,8 @@ const NSInteger kLACacheSize = 50; return self; } -- (void)addAnimation:(LAComposition *)animation forKey:(NSString *)key { - if (lruOrderArray_.count >= kLACacheSize) { +- (void)addAnimation:(LOTComposition *)animation forKey:(NSString *)key { + if (lruOrderArray_.count >= kLOTCacheSize) { NSString *oldKey = lruOrderArray_[0]; [animationsCache_ removeObjectForKey:oldKey]; [lruOrderArray_ removeObject:oldKey]; @@ -44,8 +44,8 @@ const NSInteger kLACacheSize = 50; [animationsCache_ setObject:animation forKey:key]; } -- (LAComposition *)animationForKey:(NSString *)key { - LAComposition *animation = [animationsCache_ objectForKey:key]; +- (LOTComposition *)animationForKey:(NSString *)key { + LOTComposition *animation = [animationsCache_ objectForKey:key]; [lruOrderArray_ removeObject:key]; [lruOrderArray_ addObject:key]; return animation; diff --git a/lottie-ios/Classes/CAAnimationGroup+LAAnimatableGroup.h b/lottie-ios/Classes/CAAnimationGroup+LAAnimatableGroup.h deleted file mode 100644 index 5bb8ce5022..0000000000 --- a/lottie-ios/Classes/CAAnimationGroup+LAAnimatableGroup.h +++ /dev/null @@ -1,16 +0,0 @@ -// -// CAAnimationGroup+LAAnimatableGroup.h -// LottieAnimator -// -// Created by brandon_withrow on 7/19/16. -// Copyright © 2016 Brandon Withrow. All rights reserved. -// - -#import -#import "LAAnimatableValue.h" - -@interface CAAnimationGroup (LAAnimatableGroup) - -+ (nullable CAAnimationGroup *)animationGroupForAnimatablePropertiesWithKeyPaths:(nonnull NSDictionary> *)properties; - -@end diff --git a/lottie-ios/Classes/Extensions/CAAnimationGroup+LOTAnimatableGroup.h b/lottie-ios/Classes/Extensions/CAAnimationGroup+LOTAnimatableGroup.h new file mode 100644 index 0000000000..7921dd1a3e --- /dev/null +++ b/lottie-ios/Classes/Extensions/CAAnimationGroup+LOTAnimatableGroup.h @@ -0,0 +1,16 @@ +// +// CAAnimationGroup+LOTAnimatableGroup.h +// LottieAnimator +// +// Created by brandon_withrow on 7/19/16. +// Copyright © 2016 Brandon Withrow. All rights reserved. +// + +#import +#import "LOTAnimatableValue.h" + +@interface CAAnimationGroup (LOTAnimatableGroup) + ++ (nullable CAAnimationGroup *)LOT_animationGroupForAnimatablePropertiesWithKeyPaths:(nonnull NSDictionary> *)properties; + +@end diff --git a/lottie-ios/Classes/CAAnimationGroup+LAAnimatableGroup.m b/lottie-ios/Classes/Extensions/CAAnimationGroup+LOTAnimatableGroup.m similarity index 71% rename from lottie-ios/Classes/CAAnimationGroup+LAAnimatableGroup.m rename to lottie-ios/Classes/Extensions/CAAnimationGroup+LOTAnimatableGroup.m index 1a5cc5ddab..52fcfffe49 100644 --- a/lottie-ios/Classes/CAAnimationGroup+LAAnimatableGroup.m +++ b/lottie-ios/Classes/Extensions/CAAnimationGroup+LOTAnimatableGroup.m @@ -1,20 +1,20 @@ // -// CAAnimationGroup+LAAnimatableGroup.m +// CAAnimationGroup+LOTAnimatableGroup.m // LottieAnimator // // Created by brandon_withrow on 7/19/16. // Copyright © 2016 Brandon Withrow. All rights reserved. // -#import "CAAnimationGroup+LAAnimatableGroup.h" +#import "CAAnimationGroup+LOTAnimatableGroup.h" -@implementation CAAnimationGroup (LAAnimatableGroup) +@implementation CAAnimationGroup (LOTAnimatableGroup) -+ (nullable CAAnimationGroup *)animationGroupForAnimatablePropertiesWithKeyPaths:(nonnull NSDictionary> *)properties { ++ (nullable CAAnimationGroup *)LOT_animationGroupForAnimatablePropertiesWithKeyPaths:(nonnull NSDictionary> *)properties { NSMutableArray *animations = [NSMutableArray array]; NSTimeInterval animduration = 0; for (NSString *keyPath in properties.allKeys) { - id property = properties[keyPath]; + id property = properties[keyPath]; if ([property hasAnimation]) { CAKeyframeAnimation *animation = [property animationForKeyPath:keyPath]; [animations addObject:animation]; diff --git a/lottie-ios/Classes/CGGeometryAdditions.h b/lottie-ios/Classes/Extensions/CGGeometryAdditions.h similarity index 99% rename from lottie-ios/Classes/CGGeometryAdditions.h rename to lottie-ios/Classes/Extensions/CGGeometryAdditions.h index 6f277a338b..c94d82a738 100644 --- a/lottie-ios/Classes/CGGeometryAdditions.h +++ b/lottie-ios/Classes/Extensions/CGGeometryAdditions.h @@ -1,5 +1,5 @@ -#import "LAPlatformCompat.h" +#import "LOTPlatformCompat.h" #import #import #import diff --git a/lottie-ios/Classes/CGGeometryAdditions.m b/lottie-ios/Classes/Extensions/CGGeometryAdditions.m similarity index 100% rename from lottie-ios/Classes/CGGeometryAdditions.m rename to lottie-ios/Classes/Extensions/CGGeometryAdditions.m diff --git a/lottie-ios/Classes/LAHelpers.h b/lottie-ios/Classes/Extensions/LOTHelpers.h similarity index 68% rename from lottie-ios/Classes/LAHelpers.h rename to lottie-ios/Classes/Extensions/LOTHelpers.h index 7743936739..cde1153608 100644 --- a/lottie-ios/Classes/LAHelpers.h +++ b/lottie-ios/Classes/Extensions/LOTHelpers.h @@ -1,15 +1,15 @@ // -// LAHelpers.h +// LOTHelpers.h // Lottie // // Created by Brandon Withrow on 7/28/16. // Copyright © 2016 Brandon Withrow. All rights reserved. // -#ifndef LAHelpers_h -#define LAHelpers_h +#ifndef LOTHelpers_h +#define LOTHelpers_h #import "UIColor+Expanded.h" #import "CGGeometryAdditions.h" -#endif /* LAHelpers_h */ +#endif /* LOTHelpers_h */ diff --git a/lottie-ios/Classes/Extensions/UIColor+Expanded.h b/lottie-ios/Classes/Extensions/UIColor+Expanded.h new file mode 100644 index 0000000000..8589c9204e --- /dev/null +++ b/lottie-ios/Classes/Extensions/UIColor+Expanded.h @@ -0,0 +1,51 @@ +#import "LOTPlatformCompat.h" + +// From http://github.com/ars/uicolor-utilities +#define CLAMP(val,min,max) MIN(MAX(val,min),max) + +@interface UIColor (UIColor_Expanded) +@property (nonatomic, readonly) CGColorSpaceModel colorSpaceModel; +@property (nonatomic, readonly) BOOL canProvideRGBComponents; +@property (nonatomic, readonly) CGFloat red; // Only valid if canProvideRGBComponents is YES +@property (nonatomic, readonly) CGFloat green; // Only valid if canProvideRGBComponents is YES +@property (nonatomic, readonly) CGFloat blue; // Only valid if canProvideRGBComponents is YES +@property (nonatomic, readonly) CGFloat white; // Only valid if colorSpaceModel == kCGColorSpaceModelMonochrome +@property (nonatomic, readonly) CGFloat alpha; +@property (nonatomic, readonly) UInt32 rgbHex; + +- (NSString *)LOT_colorSpaceString; + +- (NSArray *)LOT_arrayFromRGBAComponents; + +- (BOOL)LOT_red:(CGFloat *)r green:(CGFloat *)g blue:(CGFloat *)b alpha:(CGFloat *)a; + +- (UIColor *)LOT_colorByLuminanceMapping; + +- (UIColor *)LOT_colorByMultiplyingByRed:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha; +- (UIColor *) LOT_colorByAddingRed:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha; +- (UIColor *) LOT_colorByLighteningToRed:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha; +- (UIColor *) LOT_colorByDarkeningToRed:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha; + +- (UIColor *)LOT_colorByMultiplyingBy:(CGFloat)f; +- (UIColor *) LOT_colorByAdding:(CGFloat)f; +- (UIColor *) LOT_colorByLighteningTo:(CGFloat)f; +- (UIColor *) LOT_colorByDarkeningTo:(CGFloat)f; + +- (UIColor *)LOT_colorByMultiplyingByColor:(UIColor *)color; +- (UIColor *) LOT_colorByAddingColor:(UIColor *)color; +- (UIColor *) LOT_colorByLighteningToColor:(UIColor *)color; +- (UIColor *) LOT_colorByDarkeningToColor:(UIColor *)color; + +- (NSString *)LOT_stringFromColor; +- (NSString *)LOT_hexStringValue; + ++ (UIColor *)LOT_randomColor; ++ (UIColor *)LOT_colorWithString:(NSString *)stringToConvert; ++ (UIColor *)LOT_colorWithRGBHex:(UInt32)hex; ++ (UIColor *)LOT_colorWithHexString:(NSString *)stringToConvert; + ++ (UIColor *)LOT_colorWithName:(NSString *)cssColorName; + ++ (UIColor *)LOT_colorByLerpingFromColor:(UIColor *)fromColor toColor:(UIColor *)toColor amount:(CGFloat)amount; + +@end diff --git a/lottie-ios/Classes/UIColor+Expanded.m b/lottie-ios/Classes/Extensions/UIColor+Expanded.m similarity index 81% rename from lottie-ios/Classes/UIColor+Expanded.m rename to lottie-ios/Classes/Extensions/UIColor+Expanded.m index 513f7b983c..d1f92d5a7a 100644 --- a/lottie-ios/Classes/UIColor+Expanded.m +++ b/lottie-ios/Classes/Extensions/UIColor+Expanded.m @@ -31,7 +31,7 @@ }; */ -// Static cache of looked up color names. Used with +colorWithName: +// Static cache of looked up color names. Used with +LOT_colorWithName: static NSMutableDictionary *colorNameCache = nil; @interface UIColor (UIColor_Expanded_Support) @@ -46,7 +46,7 @@ static NSMutableDictionary *colorNameCache = nil; return CGColorSpaceGetModel(CGColorGetColorSpace(self.CGColor)); } -- (NSString *)colorSpaceString { +- (NSString *)LOT_colorSpaceString { switch (self.colorSpaceModel) { case kCGColorSpaceModelUnknown: return @"kCGColorSpaceModelUnknown"; @@ -79,11 +79,11 @@ static NSMutableDictionary *colorNameCache = nil; } } -- (NSArray *)arrayFromRGBAComponents { - NSAssert(self.canProvideRGBComponents, @"Must be an RGB color to use -arrayFromRGBAComponents"); +- (NSArray *)LOT_arrayFromRGBAComponents { + NSAssert(self.canProvideRGBComponents, @"Must be an RGB color to use -LOT_arrayFromRGBAComponents"); CGFloat r,g,b,a; - if (![self red:&r green:&g blue:&b alpha:&a]) return nil; + if (![self LOT_red:&r green:&g blue:&b alpha:&a]) return nil; return [NSArray arrayWithObjects: [NSNumber numberWithFloat:r], @@ -93,7 +93,7 @@ static NSMutableDictionary *colorNameCache = nil; nil]; } -- (BOOL)red:(CGFloat *)red green:(CGFloat *)green blue:(CGFloat *)blue alpha:(CGFloat *)alpha { +- (BOOL)LOT_red:(CGFloat *)red green:(CGFloat *)green blue:(CGFloat *)blue alpha:(CGFloat *)alpha { const CGFloat *components = CGColorGetComponents(self.CGColor); CGFloat r,g,b,a; @@ -155,7 +155,7 @@ static NSMutableDictionary *colorNameCache = nil; NSAssert(self.canProvideRGBComponents, @"Must be a RGB color to use rgbHex"); CGFloat r,g,b,a; - if (![self red:&r green:&g blue:&b alpha:&a]) return 0; + if (![self LOT_red:&r green:&g blue:&b alpha:&a]) return 0; r = MIN(MAX(self.red, 0.0f), 1.0f); g = MIN(MAX(self.green, 0.0f), 1.0f); @@ -168,11 +168,11 @@ static NSMutableDictionary *colorNameCache = nil; #pragma mark Arithmetic operations -- (UIColor *)colorByLuminanceMapping { +- (UIColor *)LOT_colorByLuminanceMapping { NSAssert(self.canProvideRGBComponents, @"Must be a RGB color to use arithmatic operations"); CGFloat r,g,b,a; - if (![self red:&r green:&g blue:&b alpha:&a]) return nil; + if (![self LOT_red:&r green:&g blue:&b alpha:&a]) return nil; // http://en.wikipedia.org/wiki/Luma_(video) // Y = 0.2126 R + 0.7152 G + 0.0722 B @@ -181,11 +181,11 @@ static NSMutableDictionary *colorNameCache = nil; } -- (UIColor *)colorByMultiplyingByRed:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha { +- (UIColor *)LOT_colorByMultiplyingByRed:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha { NSAssert(self.canProvideRGBComponents, @"Must be a RGB color to use arithmatic operations"); CGFloat r,g,b,a; - if (![self red:&r green:&g blue:&b alpha:&a]) return nil; + if (![self LOT_red:&r green:&g blue:&b alpha:&a]) return nil; return [UIColor colorWithRed:MAX(0.0, MIN(1.0, r * red)) green:MAX(0.0, MIN(1.0, g * green)) @@ -193,11 +193,11 @@ static NSMutableDictionary *colorNameCache = nil; alpha:MAX(0.0, MIN(1.0, a * alpha))]; } -- (UIColor *)colorByAddingRed:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha { +- (UIColor *)LOT_colorByAddingRed:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha { NSAssert(self.canProvideRGBComponents, @"Must be a RGB color to use arithmatic operations"); CGFloat r,g,b,a; - if (![self red:&r green:&g blue:&b alpha:&a]) return nil; + if (![self LOT_red:&r green:&g blue:&b alpha:&a]) return nil; return [UIColor colorWithRed:MAX(0.0, MIN(1.0, r + red)) green:MAX(0.0, MIN(1.0, g + green)) @@ -205,11 +205,11 @@ static NSMutableDictionary *colorNameCache = nil; alpha:MAX(0.0, MIN(1.0, a + alpha))]; } -- (UIColor *)colorByLighteningToRed:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha { +- (UIColor *)LOT_colorByLighteningToRed:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha { NSAssert(self.canProvideRGBComponents, @"Must be a RGB color to use arithmatic operations"); CGFloat r,g,b,a; - if (![self red:&r green:&g blue:&b alpha:&a]) return nil; + if (![self LOT_red:&r green:&g blue:&b alpha:&a]) return nil; return [UIColor colorWithRed:MAX(r, red) green:MAX(g, green) @@ -217,11 +217,11 @@ static NSMutableDictionary *colorNameCache = nil; alpha:MAX(a, alpha)]; } -- (UIColor *)colorByDarkeningToRed:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha { +- (UIColor *)LOT_colorByDarkeningToRed:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha { NSAssert(self.canProvideRGBComponents, @"Must be a RGB color to use arithmatic operations"); CGFloat r,g,b,a; - if (![self red:&r green:&g blue:&b alpha:&a]) return nil; + if (![self LOT_red:&r green:&g blue:&b alpha:&a]) return nil; return [UIColor colorWithRed:MIN(r, red) green:MIN(g, green) @@ -229,62 +229,62 @@ static NSMutableDictionary *colorNameCache = nil; alpha:MIN(a, alpha)]; } -- (UIColor *)colorByMultiplyingBy:(CGFloat)f { - return [self colorByMultiplyingByRed:f green:f blue:f alpha:1.0f]; +- (UIColor *)LOT_colorByMultiplyingBy:(CGFloat)f { + return [self LOT_colorByMultiplyingByRed:f green:f blue:f alpha:1.0f]; } -- (UIColor *)colorByAdding:(CGFloat)f { - return [self colorByMultiplyingByRed:f green:f blue:f alpha:0.0f]; +- (UIColor *)LOT_colorByAdding:(CGFloat)f { + return [self LOT_colorByMultiplyingByRed:f green:f blue:f alpha:0.0f]; } -- (UIColor *)colorByLighteningTo:(CGFloat)f { - return [self colorByLighteningToRed:f green:f blue:f alpha:0.0f]; +- (UIColor *)LOT_colorByLighteningTo:(CGFloat)f { + return [self LOT_colorByLighteningToRed:f green:f blue:f alpha:0.0f]; } -- (UIColor *)colorByDarkeningTo:(CGFloat)f { - return [self colorByDarkeningToRed:f green:f blue:f alpha:1.0f]; +- (UIColor *)LOT_colorByDarkeningTo:(CGFloat)f { + return [self LOT_colorByDarkeningToRed:f green:f blue:f alpha:1.0f]; } -- (UIColor *)colorByMultiplyingByColor:(UIColor *)color { +- (UIColor *)LOT_colorByMultiplyingByColor:(UIColor *)color { NSAssert(self.canProvideRGBComponents, @"Must be a RGB color to use arithmatic operations"); CGFloat r,g,b,a; - if (![self red:&r green:&g blue:&b alpha:&a]) return nil; + if (![self LOT_red:&r green:&g blue:&b alpha:&a]) return nil; - return [self colorByMultiplyingByRed:r green:g blue:b alpha:1.0f]; + return [self LOT_colorByMultiplyingByRed:r green:g blue:b alpha:1.0f]; } -- (UIColor *)colorByAddingColor:(UIColor *)color { +- (UIColor *)LOT_colorByAddingColor:(UIColor *)color { NSAssert(self.canProvideRGBComponents, @"Must be a RGB color to use arithmatic operations"); CGFloat r,g,b,a; - if (![self red:&r green:&g blue:&b alpha:&a]) return nil; + if (![self LOT_red:&r green:&g blue:&b alpha:&a]) return nil; - return [self colorByAddingRed:r green:g blue:b alpha:0.0f]; + return [self LOT_colorByAddingRed:r green:g blue:b alpha:0.0f]; } -- (UIColor *)colorByLighteningToColor:(UIColor *)color { +- (UIColor *)LOT_colorByLighteningToColor:(UIColor *)color { NSAssert(self.canProvideRGBComponents, @"Must be a RGB color to use arithmatic operations"); CGFloat r,g,b,a; - if (![self red:&r green:&g blue:&b alpha:&a]) return nil; + if (![self LOT_red:&r green:&g blue:&b alpha:&a]) return nil; - return [self colorByLighteningToRed:r green:g blue:b alpha:0.0f]; + return [self LOT_colorByLighteningToRed:r green:g blue:b alpha:0.0f]; } -- (UIColor *)colorByDarkeningToColor:(UIColor *)color { +- (UIColor *)LOT_colorByDarkeningToColor:(UIColor *)color { NSAssert(self.canProvideRGBComponents, @"Must be a RGB color to use arithmatic operations"); CGFloat r,g,b,a; - if (![self red:&r green:&g blue:&b alpha:&a]) return nil; + if (![self LOT_red:&r green:&g blue:&b alpha:&a]) return nil; - return [self colorByDarkeningToRed:r green:g blue:b alpha:1.0f]; + return [self LOT_colorByDarkeningToRed:r green:g blue:b alpha:1.0f]; } #pragma mark String utilities -- (NSString *)stringFromColor { - NSAssert(self.canProvideRGBComponents, @"Must be an RGB color to use -stringFromColor"); +- (NSString *)LOT_stringFromColor { + NSAssert(self.canProvideRGBComponents, @"Must be an RGB color to use -LOT_stringFromColor"); NSString *result; switch (self.colorSpaceModel) { case kCGColorSpaceModelRGB: @@ -299,11 +299,11 @@ static NSMutableDictionary *colorNameCache = nil; return result; } -- (NSString *)hexStringValue { +- (NSString *)LOT_hexStringValue { return [NSString stringWithFormat:@"%0.6X", (unsigned int)self.rgbHex]; } -+ (UIColor *)colorWithString:(NSString *)stringToConvert { ++ (UIColor *)LOT_colorWithString:(NSString *)stringToConvert { NSScanner *scanner = [NSScanner scannerWithString:stringToConvert]; if (![scanner scanString:@"{" intoString:NULL]) return nil; const NSUInteger kMaxComponents = 4; @@ -338,14 +338,14 @@ static NSMutableDictionary *colorNameCache = nil; #pragma mark Class methods -+ (UIColor *)randomColor { ++ (UIColor *)LOT_randomColor { return [UIColor colorWithRed:(CGFloat)random() / (CGFloat)RAND_MAX green:(CGFloat)random() / (CGFloat)RAND_MAX blue:(CGFloat)random() / (CGFloat)RAND_MAX alpha:1.0f]; } -+ (UIColor *)colorWithRGBHex:(UInt32)hex { ++ (UIColor *)LOT_colorWithRGBHex:(UInt32)hex { int r = (hex >> 16) & 0xFF; int g = (hex >> 8) & 0xFF; int b = (hex) & 0xFF; @@ -356,18 +356,18 @@ static NSMutableDictionary *colorNameCache = nil; alpha:1.0f]; } -// Returns a UIColor by scanning the string for a hex number and passing that to +[UIColor colorWithRGBHex:] +// Returns a UIColor by scanning the string for a hex number and passing that to +[UIColor LOT_colorWithRGBHex:] // Skips any leading whitespace and ignores any trailing characters -+ (UIColor *)colorWithHexString:(NSString *)stringToConvert { ++ (UIColor *)LOT_colorWithHexString:(NSString *)stringToConvert { NSString *strippedString = [stringToConvert stringByReplacingOccurrencesOfString:@"#" withString:@""]; NSScanner *scanner = [NSScanner scannerWithString:strippedString]; unsigned hexNum; if (![scanner scanHexInt:&hexNum]) return nil; - return [UIColor colorWithRGBHex:hexNum]; + return [UIColor LOT_colorWithRGBHex:hexNum]; } // Lookup a color using css 3/svg color name -+ (UIColor *)colorWithName:(NSString *)cssColorName { ++ (UIColor *)LOT_colorWithName:(NSString *)cssColorName { UIColor *color; @synchronized(colorNameCache) { // Look for the color in the cache @@ -389,7 +389,7 @@ static NSMutableDictionary *colorNameCache = nil; return color; } -+ (UIColor *)colorByLerpingFromColor:(UIColor *)fromColor toColor:(UIColor *)toColor amount:(CGFloat)amount { ++ (UIColor *)LOT_colorByLerpingFromColor:(UIColor *)fromColor toColor:(UIColor *)toColor amount:(CGFloat)amount { NSAssert((toColor != nil && fromColor != nil), @"Passing Nil Color"); amount = CLAMP(amount, 0.f, 1.f); const CGFloat *fromComponents = CGColorGetComponents(fromColor.CGColor); @@ -474,10 +474,10 @@ static const char *colorNameDB = "," const char *after = found + strlen(searchString); int hex; if (sscanf(after, "%x", &hex) == 1) { - result = [self colorWithRGBHex:hex]; + result = [self LOT_colorWithRGBHex:hex]; } } return result; } -@end \ No newline at end of file +@end diff --git a/lottie-ios/Classes/LAAnimationCache.h b/lottie-ios/Classes/LAAnimationCache.h deleted file mode 100644 index a5b99d5a9b..0000000000 --- a/lottie-ios/Classes/LAAnimationCache.h +++ /dev/null @@ -1,20 +0,0 @@ -// -// LAAnimationCache.h -// Lottie -// -// Created by Brandon Withrow on 1/9/17. -// Copyright © 2017 Brandon Withrow. All rights reserved. -// - -#import - -@class LAComposition; - -@interface LAAnimationCache : NSObject - -+ (instancetype)sharedCache; - -- (void)addAnimation:(LAComposition *)animation forKey:(NSString *)key; -- (LAComposition *)animationForKey:(NSString *)key; - -@end diff --git a/lottie-ios/Classes/LAEllipseShapeLayer.h b/lottie-ios/Classes/LAEllipseShapeLayer.h deleted file mode 100644 index 2bff36e66c..0000000000 --- a/lottie-ios/Classes/LAEllipseShapeLayer.h +++ /dev/null @@ -1,21 +0,0 @@ -// -// LAEllipseShapeLayer.h -// LottieAnimator -// -// Created by brandon_withrow on 7/26/16. -// Copyright © 2016 Brandon Withrow. All rights reserved. -// - -#import "LAAnimatableLayer.h" -#import "LAModels.h" - -@interface LAEllipseShapeLayer : LAAnimatableLayer - -- (instancetype)initWithEllipseShape:(LAShapeCircle *)circleShape - fill:(LAShapeFill *)fill - stroke:(LAShapeStroke *)stroke - trim:(LAShapeTrimPath *)trim - transform:(LAShapeTransform *)transform - withDuration:(NSTimeInterval)duration; - -@end diff --git a/lottie-ios/Classes/LAGroupLayerView.h b/lottie-ios/Classes/LAGroupLayerView.h deleted file mode 100644 index 3585385e83..0000000000 --- a/lottie-ios/Classes/LAGroupLayerView.h +++ /dev/null @@ -1,31 +0,0 @@ -// -// LAGroupLayerView.h -// LottieAnimator -// -// Created by brandon_withrow on 7/14/16. -// Copyright © 2016 Brandon Withrow. All rights reserved. -// - -#import -#import "LAAnimatableLayer.h" - -@class LAShapeGroup; -@class LAShapeTransform; -@class LAShapeFill; -@class LAShapeStroke; -@class LAShapeTrimPath; - -@interface LAGroupLayerView : LAAnimatableLayer - -- (instancetype)initWithShapeGroup:(LAShapeGroup *)shapeGroup - transform:(LAShapeTransform *)previousTransform - fill:(LAShapeFill *)previousFill - stroke:(LAShapeStroke *)previousStroke - trimPath:(LAShapeTrimPath *)previousTrimPath - withDuration:(NSTimeInterval)duration; - -@property (nonatomic, readonly) LAShapeGroup *shapeGroup; -@property (nonatomic, readonly) LAShapeTransform *shapeTransform; -@property (nonatomic, assign) BOOL debugModeOn; - -@end diff --git a/lottie-ios/Classes/LALayer.h b/lottie-ios/Classes/LALayer.h deleted file mode 100644 index 285b33b43e..0000000000 --- a/lottie-ios/Classes/LALayer.h +++ /dev/null @@ -1,74 +0,0 @@ -// -// LALayer.h -// LottieAnimator -// -// Created by Brandon Withrow on 12/14/15. -// Copyright © 2015 Brandon Withrow. All rights reserved. -// - -#import -#import "LAPlatformCompat.h" - -@class LAShapeGroup; -@class LAMask; -@class LAAnimatableColorValue; -@class LAAnimatablePointValue; -@class LAAnimatableNumberValue; -@class LAAnimatableScaleValue; -@class LAComposition; - -typedef enum : NSInteger { - LALayerTypeNone, - LALayerTypeSolid, - LALayerTypeUnknown, - LALayerTypeNull, - LALayerTypeShape -} LALayerType; - -typedef enum : NSInteger { - LAMatteTypeNone, - LAMatteTypeAdd, - LAMatteTypeInvert, - LALayerTypeUknown -} LAMatteType; - -@interface LALayer : NSObject - -- (instancetype)initWithJSON:(NSDictionary *)jsonDictionary fromComposition:(LAComposition *)composition; - -@property (nonatomic, readonly) NSString *layerName; -@property (nonatomic, readonly) NSNumber *layerID; -@property (nonatomic, readonly) LALayerType layerType; -@property (nonatomic, readonly) NSNumber *parentID; -@property (nonatomic, readonly) NSNumber *inFrame; -@property (nonatomic, readonly) NSNumber *outFrame; -@property (nonatomic, readonly) CGRect compBounds; -@property (nonatomic, readonly) NSNumber *framerate; - -@property (nonatomic, readonly) NSArray *shapes; -@property (nonatomic, readonly) NSArray *masks; - -@property (nonatomic, readonly) NSNumber *solidWidth; -@property (nonatomic, readonly) NSNumber *solidHeight; -@property (nonatomic, readonly) UIColor *solidColor; - -@property (nonatomic, readonly) LAAnimatableNumberValue *opacity; -@property (nonatomic, readonly) LAAnimatableNumberValue *rotation; -@property (nonatomic, readonly) LAAnimatablePointValue *position; - -@property (nonatomic, readonly) LAAnimatableNumberValue *positionX; -@property (nonatomic, readonly) LAAnimatableNumberValue *positionY; - -@property (nonatomic, readonly) LAAnimatablePointValue *anchor; -@property (nonatomic, readonly) LAAnimatableScaleValue *scale; - -@property (nonatomic, readonly) BOOL hasOutAnimation; -@property (nonatomic, readonly) BOOL hasInAnimation; -@property (nonatomic, readonly) BOOL hasInOutAnimation; -@property (nonatomic, readonly) NSArray *inOutKeyframes; -@property (nonatomic, readonly) NSArray *inOutKeyTimes; -@property (nonatomic, readonly) NSTimeInterval compDuration; - -@property (nonatomic, readonly) LAMatteType matteType; - -@end diff --git a/lottie-ios/Classes/LALayerView.h b/lottie-ios/Classes/LALayerView.h deleted file mode 100644 index 0d6ec10a56..0000000000 --- a/lottie-ios/Classes/LALayerView.h +++ /dev/null @@ -1,21 +0,0 @@ -// -// LALayerView.h -// LottieAnimator -// -// Created by Brandon Withrow on 12/14/15. -// Copyright © 2015 Brandon Withrow. All rights reserved. -// - -#import "LAPlatformCompat.h" -#import "LAAnimatableLayer.h" - -#import "LAModels.h" - -@interface LALayerView : LAAnimatableLayer - -- (instancetype)initWithModel:(LALayer *)model inComposition:(LAComposition *)comp; - -@property (nonatomic, readonly) LALayer *layerModel; -@property (nonatomic, assign) BOOL debugModeOn; - -@end diff --git a/lottie-ios/Classes/LAMask.h b/lottie-ios/Classes/LAMask.h deleted file mode 100644 index 12aa2597e9..0000000000 --- a/lottie-ios/Classes/LAMask.h +++ /dev/null @@ -1,30 +0,0 @@ -// -// LAMask.h -// LottieAnimator -// -// Created by Brandon Withrow on 12/14/15. -// Copyright © 2015 Brandon Withrow. All rights reserved. -// - -#import -@class LAAnimatableShapeValue; -@class LAAnimatableNumberValue; - -typedef enum : NSUInteger { - LAMaskModeAdd, - LAMaskModeSubtract, - LAMaskModeIntersect, - LAMaskModeUnknown -} LAMaskMode; - -@interface LAMask : NSObject - -- (instancetype)initWithJSON:(NSDictionary *)jsonDictionary frameRate:(NSNumber *)frameRate; - -@property (nonatomic, readonly) BOOL closed; -@property (nonatomic, readonly) BOOL inverted; -@property (nonatomic, readonly) LAMaskMode maskMode; -@property (nonatomic, readonly) LAAnimatableShapeValue *maskPath; -@property (nonatomic, readonly) LAAnimatableNumberValue *opacity; - -@end diff --git a/lottie-ios/Classes/LAMaskLayer.h b/lottie-ios/Classes/LAMaskLayer.h deleted file mode 100644 index 0a7986ed23..0000000000 --- a/lottie-ios/Classes/LAMaskLayer.h +++ /dev/null @@ -1,19 +0,0 @@ -// -// LAMaskLayer.h -// LottieAnimator -// -// Created by brandon_withrow on 7/22/16. -// Copyright © 2016 Brandon Withrow. All rights reserved. -// - -#import "LAAnimatableLayer.h" -#import "LAModels.h" - -@interface LAMaskLayer : LAAnimatableLayer - -- (instancetype)initWithMasks:(NSArray *)masks inComposition:(LAComposition *)comp; - -@property (nonatomic, readonly) NSArray *masks; - - -@end diff --git a/lottie-ios/Classes/LAModels.h b/lottie-ios/Classes/LAModels.h deleted file mode 100644 index b601167ea3..0000000000 --- a/lottie-ios/Classes/LAModels.h +++ /dev/null @@ -1,32 +0,0 @@ -// -// LAModels.h -// LottieAnimator -// -// Created by Brandon Withrow on 12/15/15. -// Copyright © 2015 Brandon Withrow. All rights reserved. -// - -#ifndef LAModels_h -#define LAModels_h - -#import "CAAnimationGroup+LAAnimatableGroup.h" -#import "LAAnimatableBoundsValue.h" -#import "LAAnimatableColorValue.h" -#import "LAAnimatableNumberValue.h" -#import "LAAnimatablePointValue.h" -#import "LAAnimatableScaleValue.h" -#import "LAAnimatableShapeValue.h" -#import "LAAnimatableValue.h" -#import "LAComposition.h" -#import "LALayer.h" -#import "LAMask.h" -#import "LAShapeCircle.h" -#import "LAShapeFill.h" -#import "LAShapeGroup.h" -#import "LAShapePath.h" -#import "LAShapeRectangle.h" -#import "LAShapeStroke.h" -#import "LAShapeTransform.h" -#import "LAShapeTrimPath.h" - -#endif /* LAModels_h */ diff --git a/lottie-ios/Classes/LARectShapeLayer.h b/lottie-ios/Classes/LARectShapeLayer.h deleted file mode 100644 index c837d33b9c..0000000000 --- a/lottie-ios/Classes/LARectShapeLayer.h +++ /dev/null @@ -1,21 +0,0 @@ -// -// LARectShapeLayer.h -// LottieAnimator -// -// Created by brandon_withrow on 7/20/16. -// Copyright © 2016 Brandon Withrow. All rights reserved. -// - -#import -#import "LAModels.h" -#import "LAAnimatableLayer.h" - -@interface LARectShapeLayer : LAAnimatableLayer - -- (instancetype)initWithRectShape:(LAShapeRectangle *)rectShape - fill:(LAShapeFill *)fill - stroke:(LAShapeStroke *)stroke - transform:(LAShapeTransform *)transform - withDuration:(NSTimeInterval)duration; - -@end diff --git a/lottie-ios/Classes/LAShapeLayerView.h b/lottie-ios/Classes/LAShapeLayerView.h deleted file mode 100644 index 82a03b6945..0000000000 --- a/lottie-ios/Classes/LAShapeLayerView.h +++ /dev/null @@ -1,21 +0,0 @@ -// -// LAShapeLayerView.h -// LottieAnimator -// -// Created by Brandon Withrow on 7/13/16. -// Copyright © 2016 Brandon Withrow. All rights reserved. -// - -#import "LAAnimatableLayer.h" -#import "LAModels.h" - -@interface LAShapeLayerView : LAAnimatableLayer - -- (instancetype)initWithShape:(LAShapePath *)shape - fill:(LAShapeFill *)fill - stroke:(LAShapeStroke *)stroke - trim:(LAShapeTrimPath *)trim - transform:(LAShapeTransform *)transform - withDuration:(NSTimeInterval)duration; - -@end diff --git a/lottie-ios/Classes/LAShapeRectangle.h b/lottie-ios/Classes/LAShapeRectangle.h deleted file mode 100644 index db315b91e0..0000000000 --- a/lottie-ios/Classes/LAShapeRectangle.h +++ /dev/null @@ -1,22 +0,0 @@ -// -// LAShapeRectangle.h -// LottieAnimator -// -// Created by Brandon Withrow on 12/15/15. -// Copyright © 2015 Brandon Withrow. All rights reserved. -// - -#import -@class LAAnimatableBoundsValue; -@class LAAnimatablePointValue; -@class LAAnimatableNumberValue; - -@interface LAShapeRectangle : NSObject - -- (instancetype)initWithJSON:(NSDictionary *)jsonDictionary frameRate:(NSNumber *)frameRate; - -@property (nonatomic, readonly) LAAnimatablePointValue *position; -@property (nonatomic, readonly) LAAnimatablePointValue *size; -@property (nonatomic, readonly) LAAnimatableNumberValue *cornerRadius; - -@end diff --git a/lottie-ios/Classes/LAShapeStroke.h b/lottie-ios/Classes/LAShapeStroke.h deleted file mode 100644 index 1ed8f20c07..0000000000 --- a/lottie-ios/Classes/LAShapeStroke.h +++ /dev/null @@ -1,39 +0,0 @@ -// -// LAShapeStroke.h -// LottieAnimator -// -// Created by Brandon Withrow on 12/15/15. -// Copyright © 2015 Brandon Withrow. All rights reserved. -// - -#import - -@class LAAnimatableColorValue; -@class LAAnimatableNumberValue; - -typedef enum : NSUInteger { - LALineCapTypeButt, - LALineCapTypeRound, - LALineCapTypeUnknown -} LALineCapType; - -typedef enum : NSUInteger { - LALineJoinTypeMiter, - LALineJoinTypeRound, - LALineJoinTypeBevel -} LALineJoinType; - -@interface LAShapeStroke : NSObject - -- (instancetype)initWithJSON:(NSDictionary *)jsonDictionary frameRate:(NSNumber *)frameRate; - -@property (nonatomic, readonly) BOOL fillEnabled; -@property (nonatomic, readonly) LAAnimatableColorValue *color; -@property (nonatomic, readonly) LAAnimatableNumberValue *opacity; -@property (nonatomic, readonly) LAAnimatableNumberValue *width; -@property (nonatomic, readonly) LALineCapType capType; -@property (nonatomic, readonly) LALineJoinType joinType; - -@property (nonatomic, readonly) NSArray *lineDashPattern; - -@end diff --git a/lottie-ios/Classes/LAShapeTransform.h b/lottie-ios/Classes/LAShapeTransform.h deleted file mode 100644 index 5df37e4135..0000000000 --- a/lottie-ios/Classes/LAShapeTransform.h +++ /dev/null @@ -1,29 +0,0 @@ -// -// LAShapeTransform.h -// LottieAnimator -// -// Created by Brandon Withrow on 12/15/15. -// Copyright © 2015 Brandon Withrow. All rights reserved. -// - -#import -#import - -@class LAAnimatableNumberValue; -@class LAAnimatablePointValue; -@class LAAnimatableScaleValue; - -@interface LAShapeTransform : NSObject - -+ (instancetype)transformIdentityWithCompBounds:(CGRect)compBounds; - -- (instancetype)initWithJSON:(NSDictionary *)jsonDictionary frameRate:(NSNumber *)frameRate compBounds:(CGRect)compBounds; - -@property (nonatomic, readonly) CGRect compBounds; -@property (nonatomic, readonly) LAAnimatablePointValue *position; -@property (nonatomic, readonly) LAAnimatablePointValue *anchor; -@property (nonatomic, readonly) LAAnimatableScaleValue *scale; -@property (nonatomic, readonly) LAAnimatableNumberValue *rotation; -@property (nonatomic, readonly) LAAnimatableNumberValue *opacity; - -@end diff --git a/lottie-ios/Classes/LAShapeTrimPath.h b/lottie-ios/Classes/LAShapeTrimPath.h deleted file mode 100644 index dafb6699f2..0000000000 --- a/lottie-ios/Classes/LAShapeTrimPath.h +++ /dev/null @@ -1,19 +0,0 @@ -// -// LAShapeTrimPath.h -// LottieAnimator -// -// Created by brandon_withrow on 7/26/16. -// Copyright © 2016 Brandon Withrow. All rights reserved. -// - -#import -@class LAAnimatableNumberValue; - -@interface LAShapeTrimPath : NSObject - -- (instancetype)initWithJSON:(NSDictionary *)jsonDictionary frameRate:(NSNumber *)frameRate; - -@property (nonatomic, readonly) LAAnimatableNumberValue *start; -@property (nonatomic, readonly) LAAnimatableNumberValue *end; -@property (nonatomic, readonly) LAAnimatableNumberValue *offset; -@end diff --git a/lottie-ios/Classes/LAComposition.h b/lottie-ios/Classes/Models/LOTComposition.h similarity index 75% rename from lottie-ios/Classes/LAComposition.h rename to lottie-ios/Classes/Models/LOTComposition.h index c4530958fa..8332508242 100644 --- a/lottie-ios/Classes/LAComposition.h +++ b/lottie-ios/Classes/Models/LOTComposition.h @@ -1,5 +1,5 @@ // -// LAScene.h +// LOTScene.h // LottieAnimator // // Created by Brandon Withrow on 12/14/15. @@ -9,19 +9,19 @@ #import #import -@class LALayer; +@class LOTLayer; -@interface LAComposition : NSObject +@interface LOTComposition : NSObject - (instancetype)initWithJSON:(NSDictionary *)jsonDictionary; -@property (nonatomic, readonly) NSArray *layers; +@property (nonatomic, readonly) NSArray *layers; @property (nonatomic, readonly) CGRect compBounds; @property (nonatomic, readonly) NSNumber *startFrame; @property (nonatomic, readonly) NSNumber *endFrame; @property (nonatomic, readonly) NSNumber *framerate; @property (nonatomic, readonly) NSTimeInterval timeDuration; -- (LALayer *)layerModelForID:(NSNumber *)layerID; +- (LOTLayer *)layerModelForID:(NSNumber *)layerID; @end diff --git a/lottie-ios/Classes/LAComposition.m b/lottie-ios/Classes/Models/LOTComposition.m similarity index 85% rename from lottie-ios/Classes/LAComposition.m rename to lottie-ios/Classes/Models/LOTComposition.m index 9b920d8f2d..5326adf0b8 100644 --- a/lottie-ios/Classes/LAComposition.m +++ b/lottie-ios/Classes/Models/LOTComposition.m @@ -1,15 +1,15 @@ // -// LAScene.m +// LOTScene.m // LottieAnimator // // Created by Brandon Withrow on 12/14/15. // Copyright © 2015 Brandon Withrow. All rights reserved. // -#import "LAComposition.h" -#import "LALayer.h" +#import "LOTComposition.h" +#import "LOTLayer.h" -@implementation LAComposition { +@implementation LOTComposition { NSDictionary *_modelMap; } @@ -44,7 +44,7 @@ NSMutableDictionary *modelMap = [NSMutableDictionary dictionary]; for (NSDictionary *layerJSON in layersJSON) { - LALayer *layer = [[LALayer alloc] initWithJSON:layerJSON fromComposition:self]; + LOTLayer *layer = [[LOTLayer alloc] initWithJSON:layerJSON fromComposition:self]; [layers addObject:layer]; modelMap[layer.layerID] = layer; } @@ -53,7 +53,7 @@ _layers = layers; } -- (LALayer *)layerModelForID:(NSNumber *)layerID { +- (LOTLayer *)layerModelForID:(NSNumber *)layerID { return _modelMap[layerID]; } diff --git a/lottie-ios/Classes/Models/LOTLayer.h b/lottie-ios/Classes/Models/LOTLayer.h new file mode 100644 index 0000000000..c3e5842ab5 --- /dev/null +++ b/lottie-ios/Classes/Models/LOTLayer.h @@ -0,0 +1,74 @@ +// +// LOTLayer.h +// LottieAnimator +// +// Created by Brandon Withrow on 12/14/15. +// Copyright © 2015 Brandon Withrow. All rights reserved. +// + +#import +#import "LOTPlatformCompat.h" + +@class LOTShapeGroup; +@class LOTMask; +@class LOTAnimatableColorValue; +@class LOTAnimatablePointValue; +@class LOTAnimatableNumberValue; +@class LOTAnimatableScaleValue; +@class LOTComposition; + +typedef enum : NSInteger { + LOTLayerTypeNone, + LOTLayerTypeSolid, + LOTLayerTypeUnknown, + LOTLayerTypeNull, + LOTLayerTypeShape +} LOTLayerType; + +typedef enum : NSInteger { + LOTMatteTypeNone, + LOTMatteTypeAdd, + LOTMatteTypeInvert, + LOTLayerTypeUknown +} LOTMatteType; + +@interface LOTLayer : NSObject + +- (instancetype)initWithJSON:(NSDictionary *)jsonDictionary fromComposition:(LOTComposition *)composition; + +@property (nonatomic, readonly) NSString *layerName; +@property (nonatomic, readonly) NSNumber *layerID; +@property (nonatomic, readonly) LOTLayerType layerType; +@property (nonatomic, readonly) NSNumber *parentID; +@property (nonatomic, readonly) NSNumber *inFrame; +@property (nonatomic, readonly) NSNumber *outFrame; +@property (nonatomic, readonly) CGRect compBounds; +@property (nonatomic, readonly) NSNumber *framerate; + +@property (nonatomic, readonly) NSArray *shapes; +@property (nonatomic, readonly) NSArray *masks; + +@property (nonatomic, readonly) NSNumber *solidWidth; +@property (nonatomic, readonly) NSNumber *solidHeight; +@property (nonatomic, readonly) UIColor *solidColor; + +@property (nonatomic, readonly) LOTAnimatableNumberValue *opacity; +@property (nonatomic, readonly) LOTAnimatableNumberValue *rotation; +@property (nonatomic, readonly) LOTAnimatablePointValue *position; + +@property (nonatomic, readonly) LOTAnimatableNumberValue *positionX; +@property (nonatomic, readonly) LOTAnimatableNumberValue *positionY; + +@property (nonatomic, readonly) LOTAnimatablePointValue *anchor; +@property (nonatomic, readonly) LOTAnimatableScaleValue *scale; + +@property (nonatomic, readonly) BOOL hasOutAnimation; +@property (nonatomic, readonly) BOOL hasInAnimation; +@property (nonatomic, readonly) BOOL hasInOutAnimation; +@property (nonatomic, readonly) NSArray *inOutKeyframes; +@property (nonatomic, readonly) NSArray *inOutKeyTimes; +@property (nonatomic, readonly) NSTimeInterval compDuration; + +@property (nonatomic, readonly) LOTMatteType matteType; + +@end diff --git a/lottie-ios/Classes/LALayer.m b/lottie-ios/Classes/Models/LOTLayer.m similarity index 69% rename from lottie-ios/Classes/LALayer.m rename to lottie-ios/Classes/Models/LOTLayer.m index c3e5aa4d22..c6fc0e4c2f 100644 --- a/lottie-ios/Classes/LALayer.m +++ b/lottie-ios/Classes/Models/LOTLayer.m @@ -1,24 +1,24 @@ // -// LALayer.m +// LOTLayer.m // LottieAnimator // // Created by Brandon Withrow on 12/14/15. // Copyright © 2015 Brandon Withrow. All rights reserved. // -#import "LALayer.h" -#import "LAAnimatableColorValue.h" -#import "LAAnimatablePointValue.h" -#import "LAAnimatableNumberValue.h" -#import "LAAnimatableScaleValue.h" -#import "LAShapeGroup.h" -#import "LAComposition.h" -#import "LAHelpers.h" -#import "LAMask.h" +#import "LOTLayer.h" +#import "LOTAnimatableColorValue.h" +#import "LOTAnimatablePointValue.h" +#import "LOTAnimatableNumberValue.h" +#import "LOTAnimatableScaleValue.h" +#import "LOTShapeGroup.h" +#import "LOTComposition.h" +#import "LOTHelpers.h" +#import "LOTMask.h" -@implementation LALayer +@implementation LOTLayer -- (instancetype)initWithJSON:(NSDictionary *)jsonDictionary fromComposition:(LAComposition *)composition { +- (instancetype)initWithJSON:(NSDictionary *)jsonDictionary fromComposition:(LOTComposition *)composition { self = [super init]; if (self) { [self _mapFromJSON:jsonDictionary fromComposition:composition]; @@ -26,35 +26,35 @@ return self; } -- (void)_mapFromJSON:(NSDictionary *)jsonDictionary fromComposition:(LAComposition *)composition { +- (void)_mapFromJSON:(NSDictionary *)jsonDictionary fromComposition:(LOTComposition *)composition { _layerName = [jsonDictionary[@"nm"] copy]; _layerID = [jsonDictionary[@"ind"] copy]; _compBounds = composition.compBounds; _framerate = composition.framerate; NSNumber *layerType = jsonDictionary[@"ty"]; - if (layerType.integerValue <= LALayerTypeShape) { + if (layerType.integerValue <= LOTLayerTypeShape) { _layerType = layerType.integerValue; } else { - _layerType = LALayerTypeUnknown; + _layerType = LOTLayerTypeUnknown; } _parentID = [jsonDictionary[@"parent"] copy]; _inFrame = [jsonDictionary[@"ip"] copy]; _outFrame = [jsonDictionary[@"op"] copy]; - if (_layerType == LALayerTypeSolid) { + if (_layerType == LOTLayerTypeSolid) { _solidWidth = jsonDictionary[@"sw"]; _solidHeight = jsonDictionary[@"sh"]; _compBounds = CGRectMake(0, 0, _solidWidth.floatValue, _solidHeight.floatValue); NSString *solidColor = jsonDictionary[@"sc"]; - _solidColor = [UIColor colorWithHexString:solidColor]; + _solidColor = [UIColor LOT_colorWithHexString:solidColor]; } NSDictionary *ks = jsonDictionary[@"ks"]; NSDictionary *opacity = ks[@"o"]; if (opacity) { - _opacity = [[LAAnimatableNumberValue alloc] initWithNumberValues:opacity frameRate:_framerate]; + _opacity = [[LOTAnimatableNumberValue alloc] initWithNumberValues:opacity frameRate:_framerate]; [_opacity remapValuesFromMin:@0 fromMax:@100 toMin:@0 toMax:@1]; } @@ -63,7 +63,7 @@ rotation = ks[@"rz"]; } if (rotation) { - _rotation = [[LAAnimatableNumberValue alloc] initWithNumberValues:rotation frameRate:_framerate]; + _rotation = [[LOTAnimatableNumberValue alloc] initWithNumberValues:rotation frameRate:_framerate]; [_rotation remapValueWithBlock:^CGFloat(CGFloat inValue) { return DegreesToRadians(inValue); }]; @@ -72,22 +72,22 @@ NSDictionary *position = ks[@"p"]; if ([position[@"s"] boolValue]) { // Seperate dimensions - _positionX = [[LAAnimatableNumberValue alloc] initWithNumberValues:position[@"x"] frameRate:_framerate]; - _positionY = [[LAAnimatableNumberValue alloc] initWithNumberValues:position[@"y"] frameRate:_framerate]; + _positionX = [[LOTAnimatableNumberValue alloc] initWithNumberValues:position[@"x"] frameRate:_framerate]; + _positionY = [[LOTAnimatableNumberValue alloc] initWithNumberValues:position[@"y"] frameRate:_framerate]; } else { - _position = [[LAAnimatablePointValue alloc] initWithPointValues:position frameRate:_framerate]; + _position = [[LOTAnimatablePointValue alloc] initWithPointValues:position frameRate:_framerate]; } NSDictionary *anchor = ks[@"a"]; if (anchor) { - _anchor = [[LAAnimatablePointValue alloc] initWithPointValues:anchor frameRate:_framerate]; + _anchor = [[LOTAnimatablePointValue alloc] initWithPointValues:anchor frameRate:_framerate]; [_anchor remapPointsFromBounds:_compBounds toBounds:CGRectMake(0, 0, 1, 1)]; _anchor.usePathAnimation = NO; } NSDictionary *scale = ks[@"s"]; if (scale) { - _scale = [[LAAnimatableScaleValue alloc] initWithScaleValues:scale frameRate:_framerate]; + _scale = [[LOTAnimatableScaleValue alloc] initWithScaleValues:scale frameRate:_framerate]; } _matteType = [jsonDictionary[@"tt"] integerValue]; @@ -95,14 +95,14 @@ NSMutableArray *masks = [NSMutableArray array]; for (NSDictionary *maskJSON in jsonDictionary[@"masksProperties"]) { - LAMask *mask = [[LAMask alloc] initWithJSON:maskJSON frameRate:_framerate]; + LOTMask *mask = [[LOTMask alloc] initWithJSON:maskJSON frameRate:_framerate]; [masks addObject:mask]; } _masks = masks.count ? masks : nil; NSMutableArray *shapes = [NSMutableArray array]; for (NSDictionary *shapeJSON in jsonDictionary[@"shapes"]) { - id shapeItem = [LAShapeGroup shapeItemWithJSON:shapeJSON frameRate:_framerate compBounds:_compBounds]; + id shapeItem = [LOTShapeGroup shapeItemWithJSON:shapeJSON frameRate:_framerate compBounds:_compBounds]; if (shapeItem) { [shapes addObject:shapeItem]; } diff --git a/lottie-ios/Classes/Models/LOTMask.h b/lottie-ios/Classes/Models/LOTMask.h new file mode 100644 index 0000000000..dd792dba8a --- /dev/null +++ b/lottie-ios/Classes/Models/LOTMask.h @@ -0,0 +1,30 @@ +// +// LOTMask.h +// LottieAnimator +// +// Created by Brandon Withrow on 12/14/15. +// Copyright © 2015 Brandon Withrow. All rights reserved. +// + +#import +@class LOTAnimatableShapeValue; +@class LOTAnimatableNumberValue; + +typedef enum : NSUInteger { + LOTMaskModeAdd, + LOTMaskModeSubtract, + LOTMaskModeIntersect, + LOTMaskModeUnknown +} LOTMaskMode; + +@interface LOTMask : NSObject + +- (instancetype)initWithJSON:(NSDictionary *)jsonDictionary frameRate:(NSNumber *)frameRate; + +@property (nonatomic, readonly) BOOL closed; +@property (nonatomic, readonly) BOOL inverted; +@property (nonatomic, readonly) LOTMaskMode maskMode; +@property (nonatomic, readonly) LOTAnimatableShapeValue *maskPath; +@property (nonatomic, readonly) LOTAnimatableNumberValue *opacity; + +@end diff --git a/lottie-ios/Classes/LAMask.m b/lottie-ios/Classes/Models/LOTMask.m similarity index 67% rename from lottie-ios/Classes/LAMask.m rename to lottie-ios/Classes/Models/LOTMask.m index 622a7efb44..0000a49db8 100644 --- a/lottie-ios/Classes/LAMask.m +++ b/lottie-ios/Classes/Models/LOTMask.m @@ -1,16 +1,16 @@ // -// LAMask.m +// LOTMask.m // LottieAnimator // // Created by Brandon Withrow on 12/14/15. // Copyright © 2015 Brandon Withrow. All rights reserved. // -#import "LAMask.h" -#import "LAAnimatableShapeValue.h" -#import "LAAnimatableNumberValue.h" +#import "LOTMask.h" +#import "LOTAnimatableShapeValue.h" +#import "LOTAnimatableNumberValue.h" -@implementation LAMask +@implementation LOTMask - (instancetype)initWithJSON:(NSDictionary *)jsonDictionary frameRate:(NSNumber *)frameRate { self = [super init]; @@ -29,23 +29,23 @@ NSString *mode = jsonDictionary[@"mode"]; if ([mode isEqualToString:@"a"]) { - _maskMode = LAMaskModeAdd; + _maskMode = LOTMaskModeAdd; } else if ([mode isEqualToString:@"s"]) { - _maskMode = LAMaskModeSubtract; + _maskMode = LOTMaskModeSubtract; } else if ([mode isEqualToString:@"i"]) { - _maskMode = LAMaskModeIntersect; + _maskMode = LOTMaskModeIntersect; } else { - _maskMode = LAMaskModeUnknown; + _maskMode = LOTMaskModeUnknown; } NSDictionary *maskshape = jsonDictionary[@"pt"]; if (maskshape) { - _maskPath = [[LAAnimatableShapeValue alloc] initWithShapeValues:maskshape frameRate:frameRate closed:_closed]; + _maskPath = [[LOTAnimatableShapeValue alloc] initWithShapeValues:maskshape frameRate:frameRate closed:_closed]; } NSDictionary *opacity = jsonDictionary[@"o"]; if (opacity) { - _opacity = [[LAAnimatableNumberValue alloc] initWithNumberValues:opacity frameRate:frameRate]; + _opacity = [[LOTAnimatableNumberValue alloc] initWithNumberValues:opacity frameRate:frameRate]; [_opacity remapValuesFromMin:@0 fromMax:@100 toMin:@0 toMax:@1]; } } diff --git a/lottie-ios/Classes/Models/LOTModels.h b/lottie-ios/Classes/Models/LOTModels.h new file mode 100644 index 0000000000..b35f0c3aa5 --- /dev/null +++ b/lottie-ios/Classes/Models/LOTModels.h @@ -0,0 +1,32 @@ +// +// LOTModels.h +// LottieAnimator +// +// Created by Brandon Withrow on 12/15/15. +// Copyright © 2015 Brandon Withrow. All rights reserved. +// + +#ifndef LOTModels_h +#define LOTModels_h + +#import "CAAnimationGroup+LOTAnimatableGroup.h" +#import "LOTAnimatableBoundsValue.h" +#import "LOTAnimatableColorValue.h" +#import "LOTAnimatableNumberValue.h" +#import "LOTAnimatablePointValue.h" +#import "LOTAnimatableScaleValue.h" +#import "LOTAnimatableShapeValue.h" +#import "LOTAnimatableValue.h" +#import "LOTComposition.h" +#import "LOTLayer.h" +#import "LOTMask.h" +#import "LOTShapeCircle.h" +#import "LOTShapeFill.h" +#import "LOTShapeGroup.h" +#import "LOTShapePath.h" +#import "LOTShapeRectangle.h" +#import "LOTShapeStroke.h" +#import "LOTShapeTransform.h" +#import "LOTShapeTrimPath.h" + +#endif /* LOTModels_h */ diff --git a/lottie-ios/Classes/LAShapeCircle.h b/lottie-ios/Classes/Models/LOTShapeCircle.h similarity index 51% rename from lottie-ios/Classes/LAShapeCircle.h rename to lottie-ios/Classes/Models/LOTShapeCircle.h index 32d49675b1..95809430cf 100644 --- a/lottie-ios/Classes/LAShapeCircle.h +++ b/lottie-ios/Classes/Models/LOTShapeCircle.h @@ -1,5 +1,5 @@ // -// LAShapeCircle.h +// LOTShapeCircle.h // LottieAnimator // // Created by Brandon Withrow on 12/15/15. @@ -7,14 +7,14 @@ // #import -@class LAAnimatablePointValue; -@class LAAnimatableScaleValue; +@class LOTAnimatablePointValue; +@class LOTAnimatableScaleValue; -@interface LAShapeCircle : NSObject +@interface LOTShapeCircle : NSObject - (instancetype)initWithJSON:(NSDictionary *)jsonDictionary frameRate:(NSNumber *)frameRate; -@property (nonatomic, readonly) LAAnimatablePointValue *position; -@property (nonatomic, readonly) LAAnimatablePointValue *size; +@property (nonatomic, readonly) LOTAnimatablePointValue *position; +@property (nonatomic, readonly) LOTAnimatablePointValue *size; @end diff --git a/lottie-ios/Classes/LAShapeCircle.m b/lottie-ios/Classes/Models/LOTShapeCircle.m similarity index 65% rename from lottie-ios/Classes/LAShapeCircle.m rename to lottie-ios/Classes/Models/LOTShapeCircle.m index b6c49fbd6e..1cdeec9abe 100644 --- a/lottie-ios/Classes/LAShapeCircle.m +++ b/lottie-ios/Classes/Models/LOTShapeCircle.m @@ -1,16 +1,16 @@ // -// LAShapeCircle.m +// LOTShapeCircle.m // LottieAnimator // // Created by Brandon Withrow on 12/15/15. // Copyright © 2015 Brandon Withrow. All rights reserved. // -#import "LAShapeCircle.h" -#import "LAAnimatablePointValue.h" -#import "LAAnimatableScaleValue.h" +#import "LOTShapeCircle.h" +#import "LOTAnimatablePointValue.h" +#import "LOTAnimatableScaleValue.h" -@implementation LAShapeCircle +@implementation LOTShapeCircle - (instancetype)initWithJSON:(NSDictionary *)jsonDictionary frameRate:(NSNumber *)frameRate { self = [super init]; @@ -23,13 +23,13 @@ - (void)_mapFromJSON:(NSDictionary *)jsonDictionary frameRate:(NSNumber *)frameRate { NSDictionary *position = jsonDictionary[@"p"]; if (position) { - _position = [[LAAnimatablePointValue alloc] initWithPointValues:position frameRate:frameRate]; + _position = [[LOTAnimatablePointValue alloc] initWithPointValues:position frameRate:frameRate]; _position.usePathAnimation = NO; } NSDictionary *size= jsonDictionary[@"s"]; if (size) { - _size = [[LAAnimatablePointValue alloc] initWithPointValues:size frameRate:frameRate]; + _size = [[LOTAnimatablePointValue alloc] initWithPointValues:size frameRate:frameRate]; _size.usePathAnimation = NO; } } diff --git a/lottie-ios/Classes/LAShapeFill.h b/lottie-ios/Classes/Models/LOTShapeFill.h similarity index 56% rename from lottie-ios/Classes/LAShapeFill.h rename to lottie-ios/Classes/Models/LOTShapeFill.h index 151ed98eda..12e2ac11e0 100644 --- a/lottie-ios/Classes/LAShapeFill.h +++ b/lottie-ios/Classes/Models/LOTShapeFill.h @@ -1,5 +1,5 @@ // -// LAShapeFill.h +// LOTShapeFill.h // LottieAnimator // // Created by Brandon Withrow on 12/15/15. @@ -8,15 +8,15 @@ #import -@class LAAnimatableColorValue; -@class LAAnimatableNumberValue; +@class LOTAnimatableColorValue; +@class LOTAnimatableNumberValue; -@interface LAShapeFill : NSObject +@interface LOTShapeFill : NSObject - (instancetype)initWithJSON:(NSDictionary *)jsonDictionary frameRate:(NSNumber *)frameRate; @property (nonatomic, readonly) BOOL fillEnabled; -@property (nonatomic, readonly) LAAnimatableColorValue *color; -@property (nonatomic, readonly) LAAnimatableNumberValue *opacity; +@property (nonatomic, readonly) LOTAnimatableColorValue *color; +@property (nonatomic, readonly) LOTAnimatableNumberValue *opacity; @end diff --git a/lottie-ios/Classes/LAShapeFill.m b/lottie-ios/Classes/Models/LOTShapeFill.m similarity index 68% rename from lottie-ios/Classes/LAShapeFill.m rename to lottie-ios/Classes/Models/LOTShapeFill.m index 9bf5258c51..54c8dfac80 100644 --- a/lottie-ios/Classes/LAShapeFill.m +++ b/lottie-ios/Classes/Models/LOTShapeFill.m @@ -1,16 +1,16 @@ // -// LAShapeFill.m +// LOTShapeFill.m // LottieAnimator // // Created by Brandon Withrow on 12/15/15. // Copyright © 2015 Brandon Withrow. All rights reserved. // -#import "LAShapeFill.h" -#import "LAAnimatableNumberValue.h" -#import "LAAnimatableColorValue.h" +#import "LOTShapeFill.h" +#import "LOTAnimatableNumberValue.h" +#import "LOTAnimatableColorValue.h" -@implementation LAShapeFill +@implementation LOTShapeFill - (instancetype)initWithJSON:(NSDictionary *)jsonDictionary frameRate:(NSNumber *)frameRate { self = [super init]; @@ -23,12 +23,12 @@ - (void)_mapFromJSON:(NSDictionary *)jsonDictionary frameRate:(NSNumber *)frameRate { NSDictionary *color = jsonDictionary[@"c"]; if (color) { - _color = [[LAAnimatableColorValue alloc] initWithColorValues:color frameRate:frameRate]; + _color = [[LOTAnimatableColorValue alloc] initWithColorValues:color frameRate:frameRate]; } NSDictionary *opacity = jsonDictionary[@"o"]; if (opacity) { - _opacity = [[LAAnimatableNumberValue alloc] initWithNumberValues:opacity frameRate:frameRate]; + _opacity = [[LOTAnimatableNumberValue alloc] initWithNumberValues:opacity frameRate:frameRate]; [_opacity remapValuesFromMin:@0 fromMax:@100 toMin:@0 toMax:@1]; } diff --git a/lottie-ios/Classes/LAShapeGroup.h b/lottie-ios/Classes/Models/LOTShapeGroup.h similarity index 90% rename from lottie-ios/Classes/LAShapeGroup.h rename to lottie-ios/Classes/Models/LOTShapeGroup.h index 406ba50f4d..254a558c1d 100644 --- a/lottie-ios/Classes/LAShapeGroup.h +++ b/lottie-ios/Classes/Models/LOTShapeGroup.h @@ -1,5 +1,5 @@ // -// LAShape.h +// LOTShape.h // LottieAnimator // // Created by Brandon Withrow on 12/14/15. @@ -9,7 +9,7 @@ #import #import -@interface LAShapeGroup : NSObject +@interface LOTShapeGroup : NSObject - (instancetype)initWithJSON:(NSDictionary *)jsonDictionary frameRate:(NSNumber *)frameRate compBounds:(CGRect)compBounds; diff --git a/lottie-ios/Classes/LAShapeGroup.m b/lottie-ios/Classes/Models/LOTShapeGroup.m similarity index 55% rename from lottie-ios/Classes/LAShapeGroup.m rename to lottie-ios/Classes/Models/LOTShapeGroup.m index 2f9f999efd..f91056ec96 100644 --- a/lottie-ios/Classes/LAShapeGroup.m +++ b/lottie-ios/Classes/Models/LOTShapeGroup.m @@ -1,21 +1,21 @@ // -// LAShape.m +// LOTShape.m // LottieAnimator // // Created by Brandon Withrow on 12/14/15. // Copyright © 2015 Brandon Withrow. All rights reserved. // -#import "LAShapeGroup.h" -#import "LAShapeFill.h" -#import "LAShapePath.h" -#import "LAShapeCircle.h" -#import "LAShapeStroke.h" -#import "LAShapeTransform.h" -#import "LAShapeRectangle.h" -#import "LAShapeTrimPath.h" +#import "LOTShapeGroup.h" +#import "LOTShapeFill.h" +#import "LOTShapePath.h" +#import "LOTShapeCircle.h" +#import "LOTShapeStroke.h" +#import "LOTShapeTransform.h" +#import "LOTShapeRectangle.h" +#import "LOTShapeTrimPath.h" -@implementation LAShapeGroup +@implementation LOTShapeGroup - (instancetype)initWithJSON:(NSDictionary *)jsonDictionary frameRate:(NSNumber *)frameRate compBounds:(CGRect)compBounds { self = [super init]; @@ -29,7 +29,7 @@ NSArray *itemsJSON = jsonDictionary[@"it"]; NSMutableArray *items = [NSMutableArray array]; for (NSDictionary *itemJSON in itemsJSON) { - id newItem = [LAShapeGroup shapeItemWithJSON:itemJSON frameRate:frameRate compBounds:compBounds]; + id newItem = [LOTShapeGroup shapeItemWithJSON:itemJSON frameRate:frameRate compBounds:compBounds]; if (newItem) { [items addObject:newItem]; } @@ -40,28 +40,28 @@ + (id)shapeItemWithJSON:(NSDictionary *)itemJSON frameRate:(NSNumber *)frameRate compBounds:(CGRect)compBounds { NSString *type = itemJSON[@"ty"]; if ([type isEqualToString:@"gr"]) { - LAShapeGroup *group = [[LAShapeGroup alloc] initWithJSON:itemJSON frameRate:frameRate compBounds:compBounds]; + LOTShapeGroup *group = [[LOTShapeGroup alloc] initWithJSON:itemJSON frameRate:frameRate compBounds:compBounds]; return group; } else if ([type isEqualToString:@"st"]) { - LAShapeStroke *stroke = [[LAShapeStroke alloc] initWithJSON:itemJSON frameRate:frameRate]; + LOTShapeStroke *stroke = [[LOTShapeStroke alloc] initWithJSON:itemJSON frameRate:frameRate]; return stroke; } else if ([type isEqualToString:@"fl"]) { - LAShapeFill *fill = [[LAShapeFill alloc] initWithJSON:itemJSON frameRate:frameRate]; + LOTShapeFill *fill = [[LOTShapeFill alloc] initWithJSON:itemJSON frameRate:frameRate]; return fill; } else if ([type isEqualToString:@"tr"]) { - LAShapeTransform *transform = [[LAShapeTransform alloc] initWithJSON:itemJSON frameRate:frameRate compBounds:compBounds]; + LOTShapeTransform *transform = [[LOTShapeTransform alloc] initWithJSON:itemJSON frameRate:frameRate compBounds:compBounds]; return transform; } else if ([type isEqualToString:@"sh"]) { - LAShapePath *path = [[LAShapePath alloc] initWithJSON:itemJSON frameRate:frameRate]; + LOTShapePath *path = [[LOTShapePath alloc] initWithJSON:itemJSON frameRate:frameRate]; return path; } else if ([type isEqualToString:@"el"]) { - LAShapeCircle *circle = [[LAShapeCircle alloc] initWithJSON:itemJSON frameRate:frameRate]; + LOTShapeCircle *circle = [[LOTShapeCircle alloc] initWithJSON:itemJSON frameRate:frameRate]; return circle; } else if ([type isEqualToString:@"rc"]) { - LAShapeRectangle *rectangle = [[LAShapeRectangle alloc] initWithJSON:itemJSON frameRate:frameRate]; + LOTShapeRectangle *rectangle = [[LOTShapeRectangle alloc] initWithJSON:itemJSON frameRate:frameRate]; return rectangle; } else if ([type isEqualToString:@"tm"]) { - LAShapeTrimPath *trim = [[LAShapeTrimPath alloc] initWithJSON:itemJSON frameRate:frameRate]; + LOTShapeTrimPath *trim = [[LOTShapeTrimPath alloc] initWithJSON:itemJSON frameRate:frameRate]; return trim; } return nil; diff --git a/lottie-ios/Classes/LAShapePath.h b/lottie-ios/Classes/Models/LOTShapePath.h similarity index 70% rename from lottie-ios/Classes/LAShapePath.h rename to lottie-ios/Classes/Models/LOTShapePath.h index 6b48657e0a..c1cc8c2d31 100644 --- a/lottie-ios/Classes/LAShapePath.h +++ b/lottie-ios/Classes/Models/LOTShapePath.h @@ -1,5 +1,5 @@ // -// LAShapePath.h +// LOTShapePath.h // LottieAnimator // // Created by Brandon Withrow on 12/15/15. @@ -8,14 +8,14 @@ #import -@class LAAnimatableShapeValue; +@class LOTAnimatableShapeValue; -@interface LAShapePath : NSObject +@interface LOTShapePath : NSObject - (instancetype)initWithJSON:(NSDictionary *)jsonDictionary frameRate:(NSNumber *)frameRate; @property (nonatomic, readonly) BOOL closed; @property (nonatomic, readonly) NSNumber *index; -@property (nonatomic, readonly) LAAnimatableShapeValue *shapePath; +@property (nonatomic, readonly) LOTAnimatableShapeValue *shapePath; @end diff --git a/lottie-ios/Classes/LAShapePath.m b/lottie-ios/Classes/Models/LOTShapePath.m similarity index 72% rename from lottie-ios/Classes/LAShapePath.m rename to lottie-ios/Classes/Models/LOTShapePath.m index 8153589d9d..61d57fc1c9 100644 --- a/lottie-ios/Classes/LAShapePath.m +++ b/lottie-ios/Classes/Models/LOTShapePath.m @@ -1,15 +1,15 @@ // -// LAShapePath.m +// LOTShapePath.m // LottieAnimator // // Created by Brandon Withrow on 12/15/15. // Copyright © 2015 Brandon Withrow. All rights reserved. // -#import "LAShapePath.h" -#import "LAAnimatableShapeValue.h" +#import "LOTShapePath.h" +#import "LOTAnimatableShapeValue.h" -@implementation LAShapePath +@implementation LOTShapePath - (instancetype)initWithJSON:(NSDictionary *)jsonDictionary frameRate:(NSNumber *)frameRate { self = [super init]; @@ -24,7 +24,7 @@ _closed = [jsonDictionary[@"closed"] boolValue]; NSDictionary *shape = jsonDictionary[@"ks"]; if (shape) { - _shapePath = [[LAAnimatableShapeValue alloc] initWithShapeValues:shape frameRate:frameRate closed:_closed]; + _shapePath = [[LOTAnimatableShapeValue alloc] initWithShapeValues:shape frameRate:frameRate closed:_closed]; } } diff --git a/lottie-ios/Classes/Models/LOTShapeRectangle.h b/lottie-ios/Classes/Models/LOTShapeRectangle.h new file mode 100644 index 0000000000..d5a8d6db4b --- /dev/null +++ b/lottie-ios/Classes/Models/LOTShapeRectangle.h @@ -0,0 +1,22 @@ +// +// LOTShapeRectangle.h +// LottieAnimator +// +// Created by Brandon Withrow on 12/15/15. +// Copyright © 2015 Brandon Withrow. All rights reserved. +// + +#import +@class LOTAnimatableBoundsValue; +@class LOTAnimatablePointValue; +@class LOTAnimatableNumberValue; + +@interface LOTShapeRectangle : NSObject + +- (instancetype)initWithJSON:(NSDictionary *)jsonDictionary frameRate:(NSNumber *)frameRate; + +@property (nonatomic, readonly) LOTAnimatablePointValue *position; +@property (nonatomic, readonly) LOTAnimatablePointValue *size; +@property (nonatomic, readonly) LOTAnimatableNumberValue *cornerRadius; + +@end diff --git a/lottie-ios/Classes/LAShapeRectangle.m b/lottie-ios/Classes/Models/LOTShapeRectangle.m similarity index 58% rename from lottie-ios/Classes/LAShapeRectangle.m rename to lottie-ios/Classes/Models/LOTShapeRectangle.m index d123b3806a..aa4e735a4a 100644 --- a/lottie-ios/Classes/LAShapeRectangle.m +++ b/lottie-ios/Classes/Models/LOTShapeRectangle.m @@ -1,17 +1,17 @@ // -// LAShapeRectangle.m +// LOTShapeRectangle.m // LottieAnimator // // Created by Brandon Withrow on 12/15/15. // Copyright © 2015 Brandon Withrow. All rights reserved. // -#import "LAShapeRectangle.h" -#import "LAAnimatableBoundsValue.h" -#import "LAAnimatablePointValue.h" -#import "LAAnimatableNumberValue.h" +#import "LOTShapeRectangle.h" +#import "LOTAnimatableBoundsValue.h" +#import "LOTAnimatablePointValue.h" +#import "LOTAnimatableNumberValue.h" -@implementation LAShapeRectangle +@implementation LOTShapeRectangle - (instancetype)initWithJSON:(NSDictionary *)jsonDictionary frameRate:(NSNumber *)frameRate { self = [super init]; @@ -24,18 +24,18 @@ - (void)_mapFromJSON:(NSDictionary *)jsonDictionary frameRate:(NSNumber *)frameRate { NSDictionary *position = jsonDictionary[@"p"]; if (position) { - _position = [[LAAnimatablePointValue alloc] initWithPointValues:position frameRate:frameRate]; + _position = [[LOTAnimatablePointValue alloc] initWithPointValues:position frameRate:frameRate]; _position.usePathAnimation = NO; } NSDictionary *cornerRadius = jsonDictionary[@"r"]; if (cornerRadius) { - _cornerRadius = [[LAAnimatableNumberValue alloc] initWithNumberValues:cornerRadius frameRate:frameRate]; + _cornerRadius = [[LOTAnimatableNumberValue alloc] initWithNumberValues:cornerRadius frameRate:frameRate]; } NSDictionary *size = jsonDictionary[@"s"]; if (size) { - _size = [[LAAnimatablePointValue alloc] initWithPointValues:size frameRate:frameRate]; + _size = [[LOTAnimatablePointValue alloc] initWithPointValues:size frameRate:frameRate]; } } diff --git a/lottie-ios/Classes/Models/LOTShapeStroke.h b/lottie-ios/Classes/Models/LOTShapeStroke.h new file mode 100644 index 0000000000..6a9ce24d93 --- /dev/null +++ b/lottie-ios/Classes/Models/LOTShapeStroke.h @@ -0,0 +1,39 @@ +// +// LOTShapeStroke.h +// LottieAnimator +// +// Created by Brandon Withrow on 12/15/15. +// Copyright © 2015 Brandon Withrow. All rights reserved. +// + +#import + +@class LOTAnimatableColorValue; +@class LOTAnimatableNumberValue; + +typedef enum : NSUInteger { + LOTLineCapTypeButt, + LOTLineCapTypeRound, + LOTLineCapTypeUnknown +} LOTLineCapType; + +typedef enum : NSUInteger { + LOTLineJoinTypeMiter, + LOTLineJoinTypeRound, + LOTLineJoinTypeBevel +} LOTLineJoinType; + +@interface LOTShapeStroke : NSObject + +- (instancetype)initWithJSON:(NSDictionary *)jsonDictionary frameRate:(NSNumber *)frameRate; + +@property (nonatomic, readonly) BOOL fillEnabled; +@property (nonatomic, readonly) LOTAnimatableColorValue *color; +@property (nonatomic, readonly) LOTAnimatableNumberValue *opacity; +@property (nonatomic, readonly) LOTAnimatableNumberValue *width; +@property (nonatomic, readonly) LOTLineCapType capType; +@property (nonatomic, readonly) LOTLineJoinType joinType; + +@property (nonatomic, readonly) NSArray *lineDashPattern; + +@end diff --git a/lottie-ios/Classes/LAShapeStroke.m b/lottie-ios/Classes/Models/LOTShapeStroke.m similarity index 69% rename from lottie-ios/Classes/LAShapeStroke.m rename to lottie-ios/Classes/Models/LOTShapeStroke.m index 89c136a5e4..4f07c082d9 100644 --- a/lottie-ios/Classes/LAShapeStroke.m +++ b/lottie-ios/Classes/Models/LOTShapeStroke.m @@ -1,16 +1,16 @@ // -// LAShapeStroke.m +// LOTShapeStroke.m // LottieAnimator // // Created by Brandon Withrow on 12/15/15. // Copyright © 2015 Brandon Withrow. All rights reserved. // -#import "LAShapeStroke.h" -#import "LAAnimatableNumberValue.h" -#import "LAAnimatableColorValue.h" +#import "LOTShapeStroke.h" +#import "LOTAnimatableNumberValue.h" +#import "LOTAnimatableColorValue.h" -@implementation LAShapeStroke +@implementation LOTShapeStroke - (instancetype)initWithJSON:(NSDictionary *)jsonDictionary frameRate:(NSNumber *)frameRate { self = [super init]; @@ -23,17 +23,17 @@ - (void)_mapFromJSON:(NSDictionary *)jsonDictionary frameRate:(NSNumber *)frameRate { NSDictionary *color = jsonDictionary[@"c"]; if (color) { - _color = [[LAAnimatableColorValue alloc] initWithColorValues:color frameRate:frameRate]; + _color = [[LOTAnimatableColorValue alloc] initWithColorValues:color frameRate:frameRate]; } NSDictionary *width = jsonDictionary[@"w"]; if (width) { - _width = [[LAAnimatableNumberValue alloc] initWithNumberValues:width frameRate:frameRate]; + _width = [[LOTAnimatableNumberValue alloc] initWithNumberValues:width frameRate:frameRate]; } NSDictionary *opacity = jsonDictionary[@"o"]; if (opacity) { - _opacity = [[LAAnimatableNumberValue alloc] initWithNumberValues:opacity frameRate:frameRate]; + _opacity = [[LOTAnimatableNumberValue alloc] initWithNumberValues:opacity frameRate:frameRate]; [_opacity remapValuesFromMin:@0 fromMax:@100 toMin:@0 toMax:@1]; } @@ -51,7 +51,7 @@ continue; } NSDictionary *value = dash[@"v"]; - LAAnimatableNumberValue *numberValue = [[LAAnimatableNumberValue alloc] initWithNumberValues:value frameRate:frameRate]; + LOTAnimatableNumberValue *numberValue = [[LOTAnimatableNumberValue alloc] initWithNumberValues:value frameRate:frameRate]; [dashPattern addObject:[numberValue.initialValue copy]]; } _lineDashPattern = dashPattern; diff --git a/lottie-ios/Classes/Models/LOTShapeTransform.h b/lottie-ios/Classes/Models/LOTShapeTransform.h new file mode 100644 index 0000000000..fe7acf456f --- /dev/null +++ b/lottie-ios/Classes/Models/LOTShapeTransform.h @@ -0,0 +1,29 @@ +// +// LOTShapeTransform.h +// LottieAnimator +// +// Created by Brandon Withrow on 12/15/15. +// Copyright © 2015 Brandon Withrow. All rights reserved. +// + +#import +#import + +@class LOTAnimatableNumberValue; +@class LOTAnimatablePointValue; +@class LOTAnimatableScaleValue; + +@interface LOTShapeTransform : NSObject + ++ (instancetype)transformIdentityWithCompBounds:(CGRect)compBounds; + +- (instancetype)initWithJSON:(NSDictionary *)jsonDictionary frameRate:(NSNumber *)frameRate compBounds:(CGRect)compBounds; + +@property (nonatomic, readonly) CGRect compBounds; +@property (nonatomic, readonly) LOTAnimatablePointValue *position; +@property (nonatomic, readonly) LOTAnimatablePointValue *anchor; +@property (nonatomic, readonly) LOTAnimatableScaleValue *scale; +@property (nonatomic, readonly) LOTAnimatableNumberValue *rotation; +@property (nonatomic, readonly) LOTAnimatableNumberValue *opacity; + +@end diff --git a/lottie-ios/Classes/LAShapeTransform.m b/lottie-ios/Classes/Models/LOTShapeTransform.m similarity index 61% rename from lottie-ios/Classes/LAShapeTransform.m rename to lottie-ios/Classes/Models/LOTShapeTransform.m index ee807c6118..30bf21b018 100644 --- a/lottie-ios/Classes/LAShapeTransform.m +++ b/lottie-ios/Classes/Models/LOTShapeTransform.m @@ -1,18 +1,18 @@ // -// LAShapeTransform.m +// LOTShapeTransform.m // LottieAnimator // // Created by Brandon Withrow on 12/15/15. // Copyright © 2015 Brandon Withrow. All rights reserved. // -#import "LAShapeTransform.h" -#import "LAAnimatableNumberValue.h" -#import "LAAnimatablePointValue.h" -#import "LAAnimatableScaleValue.h" -#import "LAHelpers.h" +#import "LOTShapeTransform.h" +#import "LOTAnimatableNumberValue.h" +#import "LOTAnimatablePointValue.h" +#import "LOTAnimatableScaleValue.h" +#import "LOTHelpers.h" -@implementation LAShapeTransform +@implementation LOTShapeTransform + (instancetype)transformIdentityWithCompBounds:(CGRect)compBounds { NSDictionary *transformIdentity = @{@"p" : @{@"k" : @[@0, @0]}, @@ -22,7 +22,7 @@ @"o" : @{@"k" : @[@100]}}; - return [[LAShapeTransform alloc] initWithJSON:transformIdentity frameRate:@60 compBounds:compBounds]; + return [[LOTShapeTransform alloc] initWithJSON:transformIdentity frameRate:@60 compBounds:compBounds]; } - (instancetype)initWithJSON:(NSDictionary *)jsonDictionary frameRate:(NSNumber *)frameRate compBounds:(CGRect)compBounds { @@ -38,24 +38,24 @@ NSDictionary *position = jsonDictionary[@"p"]; if (position) { - _position = [[LAAnimatablePointValue alloc] initWithPointValues:position frameRate:frameRate]; + _position = [[LOTAnimatablePointValue alloc] initWithPointValues:position frameRate:frameRate]; } NSDictionary *anchor = jsonDictionary[@"a"]; if (anchor) { - _anchor = [[LAAnimatablePointValue alloc] initWithPointValues:anchor frameRate:frameRate]; + _anchor = [[LOTAnimatablePointValue alloc] initWithPointValues:anchor frameRate:frameRate]; [_anchor remapPointsFromBounds:compBounds toBounds:CGRectMake(0, 0, 1, 1)]; _anchor.usePathAnimation = NO; } NSDictionary *scale = jsonDictionary[@"s"]; if (scale) { - _scale = [[LAAnimatableScaleValue alloc] initWithScaleValues:scale frameRate:frameRate]; + _scale = [[LOTAnimatableScaleValue alloc] initWithScaleValues:scale frameRate:frameRate]; } NSDictionary *rotation = jsonDictionary[@"r"]; if (rotation) { - _rotation = [[LAAnimatableNumberValue alloc] initWithNumberValues:rotation frameRate:frameRate]; + _rotation = [[LOTAnimatableNumberValue alloc] initWithNumberValues:rotation frameRate:frameRate]; [_rotation remapValueWithBlock:^CGFloat(CGFloat inValue) { return DegreesToRadians(inValue); }]; @@ -63,13 +63,13 @@ NSDictionary *opacity = jsonDictionary[@"o"]; if (opacity) { - _opacity = [[LAAnimatableNumberValue alloc] initWithNumberValues:opacity frameRate:frameRate]; + _opacity = [[LOTAnimatableNumberValue alloc] initWithNumberValues:opacity frameRate:frameRate]; [_opacity remapValuesFromMin:@0 fromMax:@100 toMin:@0 toMax:@1]; } } - (NSString *)description { - return [NSString stringWithFormat:@"LAShapeTransform \"Position: %@ Anchor: %@ Scale: %@ Rotation: %@ Opacity: %@\"", _position.description, _anchor.description, _scale.description, _rotation.description, _opacity.description]; + return [NSString stringWithFormat:@"LOTShapeTransform \"Position: %@ Anchor: %@ Scale: %@ Rotation: %@ Opacity: %@\"", _position.description, _anchor.description, _scale.description, _rotation.description, _opacity.description]; } @end diff --git a/lottie-ios/Classes/Models/LOTShapeTrimPath.h b/lottie-ios/Classes/Models/LOTShapeTrimPath.h new file mode 100644 index 0000000000..6ca3ba14f2 --- /dev/null +++ b/lottie-ios/Classes/Models/LOTShapeTrimPath.h @@ -0,0 +1,19 @@ +// +// LOTShapeTrimPath.h +// LottieAnimator +// +// Created by brandon_withrow on 7/26/16. +// Copyright © 2016 Brandon Withrow. All rights reserved. +// + +#import +@class LOTAnimatableNumberValue; + +@interface LOTShapeTrimPath : NSObject + +- (instancetype)initWithJSON:(NSDictionary *)jsonDictionary frameRate:(NSNumber *)frameRate; + +@property (nonatomic, readonly) LOTAnimatableNumberValue *start; +@property (nonatomic, readonly) LOTAnimatableNumberValue *end; +@property (nonatomic, readonly) LOTAnimatableNumberValue *offset; +@end diff --git a/lottie-ios/Classes/LAShapeTrimPath.m b/lottie-ios/Classes/Models/LOTShapeTrimPath.m similarity index 65% rename from lottie-ios/Classes/LAShapeTrimPath.m rename to lottie-ios/Classes/Models/LOTShapeTrimPath.m index 92fb3c1dbb..42847ab250 100644 --- a/lottie-ios/Classes/LAShapeTrimPath.m +++ b/lottie-ios/Classes/Models/LOTShapeTrimPath.m @@ -1,15 +1,15 @@ // -// LAShapeTrimPath.m +// LOTShapeTrimPath.m // LottieAnimator // // Created by brandon_withrow on 7/26/16. // Copyright © 2016 Brandon Withrow. All rights reserved. // -#import "LAShapeTrimPath.h" -#import "LAAnimatableNumberValue.h" +#import "LOTShapeTrimPath.h" +#import "LOTAnimatableNumberValue.h" -@implementation LAShapeTrimPath +@implementation LOTShapeTrimPath - (instancetype)initWithJSON:(NSDictionary *)jsonDictionary frameRate:(NSNumber *)frameRate { self = [super init]; @@ -22,19 +22,19 @@ - (void)_mapFromJSON:(NSDictionary *)jsonDictionary frameRate:(NSNumber *)frameRate { NSDictionary *start = jsonDictionary[@"s"]; if (start) { - _start = [[LAAnimatableNumberValue alloc] initWithNumberValues:start frameRate:frameRate]; + _start = [[LOTAnimatableNumberValue alloc] initWithNumberValues:start frameRate:frameRate]; [_start remapValuesFromMin:@0 fromMax:@100 toMin:@0 toMax:@1]; } NSDictionary *end = jsonDictionary[@"e"]; if (end) { - _end = [[LAAnimatableNumberValue alloc] initWithNumberValues:end frameRate:frameRate]; + _end = [[LOTAnimatableNumberValue alloc] initWithNumberValues:end frameRate:frameRate]; [_end remapValuesFromMin:@0 fromMax:@100 toMin:@0 toMax:@1]; } NSDictionary *offset = jsonDictionary[@"o"]; if (offset) { - _offset = [[LAAnimatableNumberValue alloc] initWithNumberValues:offset frameRate:frameRate]; + _offset = [[LOTAnimatableNumberValue alloc] initWithNumberValues:offset frameRate:frameRate]; } } diff --git a/lottie-ios/Classes/CADisplayLink.h b/lottie-ios/Classes/OSX Compatability/CADisplayLink.h similarity index 100% rename from lottie-ios/Classes/CADisplayLink.h rename to lottie-ios/Classes/OSX Compatability/CADisplayLink.h diff --git a/lottie-ios/Classes/CADisplayLink.m b/lottie-ios/Classes/OSX Compatability/CADisplayLink.m similarity index 100% rename from lottie-ios/Classes/CADisplayLink.m rename to lottie-ios/Classes/OSX Compatability/CADisplayLink.m diff --git a/lottie-ios/Classes/CALayer+Compat.h b/lottie-ios/Classes/OSX Compatability/CALayer+Compat.h similarity index 100% rename from lottie-ios/Classes/CALayer+Compat.h rename to lottie-ios/Classes/OSX Compatability/CALayer+Compat.h diff --git a/lottie-ios/Classes/CALayer+Compat.m b/lottie-ios/Classes/OSX Compatability/CALayer+Compat.m similarity index 100% rename from lottie-ios/Classes/CALayer+Compat.m rename to lottie-ios/Classes/OSX Compatability/CALayer+Compat.m diff --git a/lottie-ios/Classes/LAPlatformCompat.h b/lottie-ios/Classes/OSX Compatability/LOTPlatformCompat.h similarity index 88% rename from lottie-ios/Classes/LAPlatformCompat.h rename to lottie-ios/Classes/OSX Compatability/LOTPlatformCompat.h index a7e5177794..0ae167b3c4 100644 --- a/lottie-ios/Classes/LAPlatformCompat.h +++ b/lottie-ios/Classes/OSX Compatability/LOTPlatformCompat.h @@ -1,13 +1,13 @@ // -// LAPlatformCompat.h +// LOTPlatformCompat.h // Lottie // // Created by Oleksii Pavlovskyi on 2/2/17. // Copyright (c) 2017 Airbnb. All rights reserved. // -#ifndef LAPlatformCompat_h -#define LAPlatformCompat_h +#ifndef LOTPlatformCompat_h +#define LOTPlatformCompat_h #import "TargetConditionals.h" diff --git a/lottie-ios/Classes/NSValue+Compat.h b/lottie-ios/Classes/OSX Compatability/NSValue+Compat.h similarity index 100% rename from lottie-ios/Classes/NSValue+Compat.h rename to lottie-ios/Classes/OSX Compatability/NSValue+Compat.h diff --git a/lottie-ios/Classes/NSValue+Compat.m b/lottie-ios/Classes/OSX Compatability/NSValue+Compat.m similarity index 100% rename from lottie-ios/Classes/NSValue+Compat.m rename to lottie-ios/Classes/OSX Compatability/NSValue+Compat.m diff --git a/lottie-ios/Classes/UIBezierPath.h b/lottie-ios/Classes/OSX Compatability/UIBezierPath.h similarity index 100% rename from lottie-ios/Classes/UIBezierPath.h rename to lottie-ios/Classes/OSX Compatability/UIBezierPath.h diff --git a/lottie-ios/Classes/UIBezierPath.m b/lottie-ios/Classes/OSX Compatability/UIBezierPath.m similarity index 100% rename from lottie-ios/Classes/UIBezierPath.m rename to lottie-ios/Classes/OSX Compatability/UIBezierPath.m diff --git a/lottie-ios/Classes/UIColor.h b/lottie-ios/Classes/OSX Compatability/UIColor.h similarity index 100% rename from lottie-ios/Classes/UIColor.h rename to lottie-ios/Classes/OSX Compatability/UIColor.h diff --git a/lottie-ios/Classes/UIColor.m b/lottie-ios/Classes/OSX Compatability/UIColor.m similarity index 100% rename from lottie-ios/Classes/UIColor.m rename to lottie-ios/Classes/OSX Compatability/UIColor.m diff --git a/lottie-ios/Classes/LAAnimationTransitionController.m b/lottie-ios/Classes/Private/LOTAnimationTransitionController.m similarity index 90% rename from lottie-ios/Classes/LAAnimationTransitionController.m rename to lottie-ios/Classes/Private/LOTAnimationTransitionController.m index 3b4462e1f3..520ebd2567 100644 --- a/lottie-ios/Classes/LAAnimationTransitionController.m +++ b/lottie-ios/Classes/Private/LOTAnimationTransitionController.m @@ -1,5 +1,5 @@ // -// LAAnimationTransitionController.m +// LOTAnimationTransitionController.m // Lottie // // Created by Brandon Withrow on 1/18/17. @@ -8,11 +8,11 @@ #if TARGET_OS_IPHONE || TARGET_IPHONE_SIMULATOR -#import "LAAnimationTransitionController.h" -#import "LAAnimationView.h" +#import "LOTAnimationTransitionController.h" +#import "LOTAnimationView.h" -@implementation LAAnimationTransitionController { - LAAnimationView *tranistionAnimationView_; +@implementation LOTAnimationTransitionController { + LOTAnimationView *tranistionAnimationView_; NSString *fromLayerName_; NSString *toLayerName_; } @@ -22,7 +22,7 @@ toLayerNamed:(NSString *)toLayer { self = [super init]; if (self) { - tranistionAnimationView_ = [LAAnimationView animationNamed:animation]; + tranistionAnimationView_ = [LOTAnimationView animationNamed:animation]; fromLayerName_ = fromLayer; toLayerName_ = toLayer; } @@ -92,4 +92,4 @@ @end -#endif \ No newline at end of file +#endif diff --git a/lottie-ios/Classes/LAAnimationView.m b/lottie-ios/Classes/Private/LOTAnimationView.m similarity index 79% rename from lottie-ios/Classes/LAAnimationView.m rename to lottie-ios/Classes/Private/LOTAnimationView.m index 466e346c6a..7d28d383cd 100644 --- a/lottie-ios/Classes/LAAnimationView.m +++ b/lottie-ios/Classes/Private/LOTAnimationView.m @@ -1,22 +1,22 @@ // -// LAAnimationView +// LOTAnimationView // LottieAnimator // // Created by Brandon Withrow on 12/14/15. // Copyright © 2015 Brandon Withrow. All rights reserved. // -#import "LAAnimationView.h" -#import "LAPlatformCompat.h" -#import "LALayerView.h" -#import "LAModels.h" -#import "LAHelpers.h" -#import "LAAnimationView_Internal.h" -#import "LAAnimationCache.h" +#import "LOTAnimationView.h" +#import "LOTPlatformCompat.h" +#import "LOTLayerView.h" +#import "LOTModels.h" +#import "LOTHelpers.h" +#import "LOTAnimationView_Internal.h" +#import "LOTAnimationCache.h" const NSTimeInterval singleFrameTimeValue = 1.0 / 60.0; -@implementation LAAnimationState { +@implementation LOTAnimationState { BOOL _animationIsPlaying; BOOL _playFromBeginning; CFTimeInterval _previousLocalTime; @@ -147,25 +147,25 @@ const NSTimeInterval singleFrameTimeValue = 1.0 / 60.0; - (void)logStats:(NSString *)logName { CFTimeInterval localTime = [_layer convertTime:CACurrentMediaTime() fromLayer:nil]; - NSLog(@"LAAnimationState %@ || Is Playing %@ || Duration %f || Speed %lf || Progress %lf || Local Time %lf || ", + NSLog(@"LOTAnimationState %@ || Is Playing %@ || Duration %f || Speed %lf || Progress %lf || Local Time %lf || ", logName, (_animationIsPlaying ? @"YES" : @"NO"), self.animationDuration, _layer.speed, self.animatedProgress, localTime); } @end -@interface LACustomChild : NSObject +@interface LOTCustomChild : NSObject -@property (nonatomic, strong) LAView *childView; -@property (nonatomic, weak) LALayerView *layer; -@property (nonatomic, assign) LAConstraintType constraint; +@property (nonatomic, strong) LOTView *childView; +@property (nonatomic, weak) LOTLayerView *layer; +@property (nonatomic, assign) LOTConstraintType constraint; @end -@implementation LACustomChild +@implementation LOTCustomChild @end -@implementation LAAnimationView { +@implementation LOTAnimationView { NSDictionary *_layerMap; NSDictionary *_layerNameMap; NSMutableArray *_customLayers; @@ -180,9 +180,9 @@ const NSTimeInterval singleFrameTimeValue = 1.0 / 60.0; NSArray *components = [animationName componentsSeparatedByString:@"."]; animationName = components.firstObject; - LAComposition *comp = [[LAAnimationCache sharedCache] animationForKey:animationName]; + LOTComposition *comp = [[LOTAnimationCache sharedCache] animationForKey:animationName]; if (comp) { - return [[LAAnimationView alloc] initWithModel:comp]; + return [[LOTAnimationView alloc] initWithModel:comp]; } NSError *error; @@ -191,28 +191,28 @@ const NSTimeInterval singleFrameTimeValue = 1.0 / 60.0; NSDictionary *JSONObject = jsonData ? [NSJSONSerialization JSONObjectWithData:jsonData options:0 error:&error] : nil; if (JSONObject && !error) { - LAComposition *laScene = [[LAComposition alloc] initWithJSON:JSONObject]; - [[LAAnimationCache sharedCache] addAnimation:laScene forKey:animationName]; - return [[LAAnimationView alloc] initWithModel:laScene]; + LOTComposition *laScene = [[LOTComposition alloc] initWithJSON:JSONObject]; + [[LOTAnimationCache sharedCache] addAnimation:laScene forKey:animationName]; + return [[LOTAnimationView alloc] initWithModel:laScene]; } - return [[LAAnimationView alloc] initWithModel:nil]; + return [[LOTAnimationView alloc] initWithModel:nil]; } + (instancetype)animationFromJSON:(NSDictionary *)animationJSON { - LAComposition *laScene = [[LAComposition alloc] initWithJSON:animationJSON]; - return [[LAAnimationView alloc] initWithModel:laScene]; + LOTComposition *laScene = [[LOTComposition alloc] initWithJSON:animationJSON]; + return [[LOTAnimationView alloc] initWithModel:laScene]; } - (instancetype)initWithContentsOfURL:(NSURL *)url { self = [super initWithFrame:CGRectZero]; if (self) { - LAComposition *laScene = [[LAAnimationCache sharedCache] animationForKey:url.absoluteString]; + LOTComposition *laScene = [[LOTAnimationCache sharedCache] animationForKey:url.absoluteString]; if (laScene) { [self _initializeAnimationContainer]; [self _setupWithSceneModel:laScene restoreAnimationState:NO]; } else { - _animationState = [[LAAnimationState alloc] initWithDuration:singleFrameTimeValue layer:nil]; + _animationState = [[LOTAnimationState alloc] initWithDuration:singleFrameTimeValue layer:nil]; dispatch_async(dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(void){ NSData *animationData = [NSData dataWithContentsOfURL:url]; if (!animationData) { @@ -225,9 +225,9 @@ const NSTimeInterval singleFrameTimeValue = 1.0 / 60.0; return; } - LAComposition *laScene = [[LAComposition alloc] initWithJSON:animationJSON]; + LOTComposition *laScene = [[LOTComposition alloc] initWithJSON:animationJSON]; dispatch_async(dispatch_get_main_queue(), ^(void){ - [[LAAnimationCache sharedCache] addAnimation:laScene forKey:url.absoluteString]; + [[LOTAnimationCache sharedCache] addAnimation:laScene forKey:url.absoluteString]; [self _initializeAnimationContainer]; [self _setupWithSceneModel:laScene restoreAnimationState:YES]; }); @@ -237,7 +237,7 @@ const NSTimeInterval singleFrameTimeValue = 1.0 / 60.0; return self; } -- (instancetype)initWithModel:(LAComposition *)model { +- (instancetype)initWithModel:(LOTComposition *)model { self = [super initWithFrame:model.compBounds]; if (self) { [self _initializeAnimationContainer]; @@ -268,11 +268,11 @@ const NSTimeInterval singleFrameTimeValue = 1.0 / 60.0; #endif -- (void)_setupWithSceneModel:(LAComposition *)model restoreAnimationState:(BOOL)restoreAnimation { +- (void)_setupWithSceneModel:(LOTComposition *)model restoreAnimationState:(BOOL)restoreAnimation { _sceneModel = model; [self _buildSubviewsFromModel]; - LAAnimationState *oldState = _animationState; - _animationState = [[LAAnimationState alloc] initWithDuration:_sceneModel.timeDuration layer:_animationContainer]; + LOTAnimationState *oldState = _animationState; + _animationState = [[LOTAnimationState alloc] initWithDuration:_sceneModel.timeDuration layer:_animationContainer]; if (restoreAnimation && oldState) { [self setLoopAnimation:oldState.loopAnimation]; @@ -290,7 +290,7 @@ const NSTimeInterval singleFrameTimeValue = 1.0 / 60.0; - (void)_buildSubviewsFromModel { if (_customLayers) { - for (LACustomChild *child in _customLayers) { + for (LOTCustomChild *child in _customLayers) { [child.childView.layer removeFromSuperlayer]; } _customLayers = nil; @@ -314,16 +314,16 @@ const NSTimeInterval singleFrameTimeValue = 1.0 / 60.0; NSArray *reversedItems = [[_sceneModel.layers reverseObjectEnumerator] allObjects]; - LALayerView *maskedLayer = nil; - for (LALayer *layer in reversedItems) { - LALayerView *layerView = [[LALayerView alloc] initWithModel:layer inComposition:_sceneModel]; + LOTLayerView *maskedLayer = nil; + for (LOTLayer *layer in reversedItems) { + LOTLayerView *layerView = [[LOTLayerView alloc] initWithModel:layer inComposition:_sceneModel]; layerMap[layer.layerID] = layerView; layerNameMap[layer.layerName] = layerView; if (maskedLayer) { maskedLayer.mask = layerView; maskedLayer = nil; } else { - if (layer.matteType == LAMatteTypeAdd) { + if (layer.matteType == LOTMatteTypeAdd) { maskedLayer = layerView; } [_animationContainer addSublayer:layerView]; @@ -338,12 +338,12 @@ const NSTimeInterval singleFrameTimeValue = 1.0 / 60.0; return; } - for (LACustomChild *child in _customLayers) { + for (LOTCustomChild *child in _customLayers) { switch (child.constraint) { - case LAConstraintTypeAlignToLayer: + case LOTConstraintTypeAlignToLayer: child.childView.frame = child.layer.bounds; break; - case LAConstraintTypeAlignToBounds: { + case LOTConstraintTypeAlignToBounds: { CGRect selfBounds = _animationContainer.frame; CGRect convertedBounds = [child.childView.layer.superlayer convertRect:selfBounds fromLayer:self.layer]; child.childView.layer.frame = convertedBounds; @@ -360,7 +360,7 @@ const NSTimeInterval singleFrameTimeValue = 1.0 / 60.0; [self playWithCompletion:nil]; } -- (void)playWithCompletion:(LAAnimationCompletionBlock)completion { +- (void)playWithCompletion:(LOTAnimationCompletionBlock)completion { if (completion) { self.completionBlock = completion; } @@ -390,11 +390,11 @@ const NSTimeInterval singleFrameTimeValue = 1.0 / 60.0; } } -- (void)addSubview:(LAView *)view +- (void)addSubview:(LOTView *)view toLayerNamed:(NSString *)layer { - LAConstraintType constraint = LAConstraintTypeAlignToBounds; - LALayerView *layerObject = _layerNameMap[layer]; - LACustomChild *newChild = [[LACustomChild alloc] init]; + LOTConstraintType constraint = LOTConstraintTypeAlignToBounds; + LOTLayerView *layerObject = _layerNameMap[layer]; + LOTCustomChild *newChild = [[LOTCustomChild alloc] init]; newChild.constraint = constraint; newChild.childView = view; @@ -502,22 +502,22 @@ const NSTimeInterval singleFrameTimeValue = 1.0 / 60.0; #if TARGET_OS_IPHONE || TARGET_IPHONE_SIMULATOR -#define LAViewContentMode UIViewContentMode -#define LAViewContentModeScaleToFill UIViewContentModeScaleToFill -#define LAViewContentModeScaleAspectFit UIViewContentModeScaleAspectFit -#define LAViewContentModeScaleAspectFill UIViewContentModeScaleAspectFill -#define LAViewContentModeRedraw UIViewContentModeRedraw -#define LAViewContentModeCenter UIViewContentModeCenter -#define LAViewContentModeTop UIViewContentModeTop -#define LAViewContentModeBottom UIViewContentModeBottom -#define LAViewContentModeLeft UIViewContentModeLeft -#define LAViewContentModeRight UIViewContentModeRight -#define LAViewContentModeTopLeft UIViewContentModeTopLeft -#define LAViewContentModeTopRight UIViewContentModeTopRight -#define LAViewContentModeBottomLeft UIViewContentModeBottomLeft -#define LAViewContentModeBottomRight UIViewContentModeBottomRight +#define LOTViewContentMode UIViewContentMode +#define LOTViewContentModeScaleToFill UIViewContentModeScaleToFill +#define LOTViewContentModeScaleAspectFit UIViewContentModeScaleAspectFit +#define LOTViewContentModeScaleAspectFill UIViewContentModeScaleAspectFill +#define LOTViewContentModeRedraw UIViewContentModeRedraw +#define LOTViewContentModeCenter UIViewContentModeCenter +#define LOTViewContentModeTop UIViewContentModeTop +#define LOTViewContentModeBottom UIViewContentModeBottom +#define LOTViewContentModeLeft UIViewContentModeLeft +#define LOTViewContentModeRight UIViewContentModeRight +#define LOTViewContentModeTopLeft UIViewContentModeTopLeft +#define LOTViewContentModeTopRight UIViewContentModeTopRight +#define LOTViewContentModeBottomLeft UIViewContentModeBottomLeft +#define LOTViewContentModeBottomRight UIViewContentModeBottomRight -- (void)setContentMode:(LAViewContentMode)contentMode { +- (void)setContentMode:(LOTViewContentMode)contentMode { [super setContentMode:contentMode]; [self setNeedsLayout]; } @@ -529,7 +529,7 @@ const NSTimeInterval singleFrameTimeValue = 1.0 / 60.0; #else -- (void)setContentMode:(LAViewContentMode)contentMode { +- (void)setContentMode:(LOTViewContentMode)contentMode { _contentMode = contentMode; [self setNeedsLayout]; } @@ -562,11 +562,11 @@ const NSTimeInterval singleFrameTimeValue = 1.0 / 60.0; CGPoint centerPoint = CGRectGetCenterPoint(self.bounds); CATransform3D xform; - if (self.contentMode == LAViewContentModeScaleToFill) { + if (self.contentMode == LOTViewContentModeScaleToFill) { CGSize scaleSize = CGSizeMake(self.bounds.size.width / self.sceneModel.compBounds.size.width, self.bounds.size.height / self.sceneModel.compBounds.size.height); xform = CATransform3DMakeScale(scaleSize.width, scaleSize.height, 1); - } else if (self.contentMode == LAViewContentModeScaleAspectFit) { + } else if (self.contentMode == LOTViewContentModeScaleAspectFit) { CGFloat compAspect = self.sceneModel.compBounds.size.width / self.sceneModel.compBounds.size.height; CGFloat viewAspect = self.bounds.size.width / self.bounds.size.height; BOOL scaleWidth = compAspect > viewAspect; @@ -574,7 +574,7 @@ const NSTimeInterval singleFrameTimeValue = 1.0 / 60.0; CGFloat compDimension = scaleWidth ? self.sceneModel.compBounds.size.width : self.sceneModel.compBounds.size.height; CGFloat scale = dominantDimension / compDimension; xform = CATransform3DMakeScale(scale, scale, 1); - } else if (self.contentMode == LAViewContentModeScaleAspectFill) { + } else if (self.contentMode == LOTViewContentModeScaleAspectFill) { CGFloat compAspect = self.sceneModel.compBounds.size.width / self.sceneModel.compBounds.size.height; CGFloat viewAspect = self.bounds.size.width / self.bounds.size.height; BOOL scaleWidth = compAspect < viewAspect; diff --git a/lottie-ios/Classes/LAAnimationView_Internal.h b/lottie-ios/Classes/Private/LOTAnimationView_Internal.h similarity index 65% rename from lottie-ios/Classes/LAAnimationView_Internal.h rename to lottie-ios/Classes/Private/LOTAnimationView_Internal.h index f2957c6f07..1f47dfb3fb 100644 --- a/lottie-ios/Classes/LAAnimationView_Internal.h +++ b/lottie-ios/Classes/Private/LOTAnimationView_Internal.h @@ -1,5 +1,5 @@ // -// LAAnimationView_Internal.h +// LOTAnimationView_Internal.h // Lottie // // Created by Brandon Withrow on 12/7/16. @@ -7,12 +7,12 @@ // typedef enum : NSUInteger { - LAConstraintTypeAlignToBounds, - LAConstraintTypeAlignToLayer, - LAConstraintTypeNone -} LAConstraintType; + LOTConstraintTypeAlignToBounds, + LOTConstraintTypeAlignToLayer, + LOTConstraintTypeNone +} LOTConstraintType; -@interface LAAnimationState : NSObject +@interface LOTAnimationState : NSObject - (_Nonnull instancetype)initWithDuration:(CGFloat)duration layer:( CALayer * _Nullable)layer; @@ -33,10 +33,10 @@ typedef enum : NSUInteger { @end -@interface LAAnimationView () +@interface LOTAnimationView () -@property (nonatomic, readonly) LAComposition * _Nonnull sceneModel; -@property (nonatomic, strong) LAAnimationState *_Nonnull animationState; -@property (nonatomic, copy, nullable) LAAnimationCompletionBlock completionBlock; +@property (nonatomic, readonly) LOTComposition * _Nonnull sceneModel; +@property (nonatomic, strong) LOTAnimationState *_Nonnull animationState; +@property (nonatomic, copy, nullable) LOTAnimationCompletionBlock completionBlock; @end diff --git a/lottie-ios/Classes/PublicHeaders/LAAnimationView_Compat.h b/lottie-ios/Classes/PublicHeaders/LAAnimationView_Compat.h deleted file mode 100644 index 3f1bea6303..0000000000 --- a/lottie-ios/Classes/PublicHeaders/LAAnimationView_Compat.h +++ /dev/null @@ -1,36 +0,0 @@ -// -// LAAnimationView_Compat.h -// Lottie -// -// Created by Oleksii Pavlovskyi on 2/2/17. -// Copyright (c) 2017 Airbnb. All rights reserved. -// - -#if TARGET_OS_IPHONE || TARGET_IPHONE_SIMULATOR - -#import -@compatibility_alias LAView UIView; - -#else - -#import -@compatibility_alias LAView NSView; - -typedef NS_ENUM(NSInteger, LAViewContentMode) { - LAViewContentModeScaleToFill, - LAViewContentModeScaleAspectFit, - LAViewContentModeScaleAspectFill, - LAViewContentModeRedraw, - LAViewContentModeCenter, - LAViewContentModeTop, - LAViewContentModeBottom, - LAViewContentModeLeft, - LAViewContentModeRight, - LAViewContentModeTopLeft, - LAViewContentModeTopRight, - LAViewContentModeBottomLeft, - LAViewContentModeBottomRight, -}; - -#endif - diff --git a/lottie-ios/Classes/PublicHeaders/LAAnimationTransitionController.h b/lottie-ios/Classes/PublicHeaders/LOTAnimationTransitionController.h similarity index 88% rename from lottie-ios/Classes/PublicHeaders/LAAnimationTransitionController.h rename to lottie-ios/Classes/PublicHeaders/LOTAnimationTransitionController.h index 26606fd25e..ab1dfa25e4 100644 --- a/lottie-ios/Classes/PublicHeaders/LAAnimationTransitionController.h +++ b/lottie-ios/Classes/PublicHeaders/LOTAnimationTransitionController.h @@ -1,5 +1,5 @@ // -// LAAnimationTransitionController.h +// LOTAnimationTransitionController.h // Lottie // // Created by Brandon Withrow on 1/18/17. @@ -11,7 +11,7 @@ #import #import -/** LAAnimationTransitionController +/** LOTAnimationTransitionController * * This class creates a custom UIViewController transisiton animation * using a Lottie animation to transition between two view controllers @@ -22,7 +22,7 @@ * */ -@interface LAAnimationTransitionController : NSObject +@interface LOTAnimationTransitionController : NSObject /** The initializer to create a new transition animation. @@ -43,4 +43,4 @@ @end -#endif \ No newline at end of file +#endif diff --git a/lottie-ios/Classes/PublicHeaders/LAAnimationView.h b/lottie-ios/Classes/PublicHeaders/LOTAnimationView.h similarity index 70% rename from lottie-ios/Classes/PublicHeaders/LAAnimationView.h rename to lottie-ios/Classes/PublicHeaders/LOTAnimationView.h index e38ac051ed..026e794a47 100644 --- a/lottie-ios/Classes/PublicHeaders/LAAnimationView.h +++ b/lottie-ios/Classes/PublicHeaders/LOTAnimationView.h @@ -1,5 +1,5 @@ // -// LAAnimationView +// LOTAnimationView // LottieAnimator // // Created by Brandon Withrow on 12/14/15. @@ -7,11 +7,11 @@ // #import -#import "LAAnimationView_Compat.h" +#import "LOTAnimationView_Compat.h" -typedef void (^LAAnimationCompletionBlock)(BOOL animationFinished); +typedef void (^LOTAnimationCompletionBlock)(BOOL animationFinished); -@interface LAAnimationView : LAView +@interface LOTAnimationView : LOTView + (instancetype)animationNamed:(NSString *)animationName; + (instancetype)animationFromJSON:(NSDictionary *)animationJSON; @@ -24,15 +24,15 @@ typedef void (^LAAnimationCompletionBlock)(BOOL animationFinished); @property (nonatomic, assign) CGFloat animationSpeed; @property (nonatomic, readonly) CGFloat animationDuration; -- (void)playWithCompletion:(LAAnimationCompletionBlock)completion; +- (void)playWithCompletion:(LOTAnimationCompletionBlock)completion; - (void)play; - (void)pause; -- (void)addSubview:(LAView *)view +- (void)addSubview:(LOTView *)view toLayerNamed:(NSString *)layer; #if !TARGET_OS_IPHONE && !TARGET_IPHONE_SIMULATOR -@property (nonatomic) LAViewContentMode contentMode; +@property (nonatomic) LOTViewContentMode contentMode; #endif @end diff --git a/lottie-ios/Classes/PublicHeaders/LOTAnimationView_Compat.h b/lottie-ios/Classes/PublicHeaders/LOTAnimationView_Compat.h new file mode 100644 index 0000000000..9b28060bbb --- /dev/null +++ b/lottie-ios/Classes/PublicHeaders/LOTAnimationView_Compat.h @@ -0,0 +1,36 @@ +// +// LOTAnimationView_Compat.h +// Lottie +// +// Created by Oleksii Pavlovskyi on 2/2/17. +// Copyright (c) 2017 Airbnb. All rights reserved. +// + +#if TARGET_OS_IPHONE || TARGET_IPHONE_SIMULATOR + +#import +@compatibility_alias LOTView UIView; + +#else + +#import +@compatibility_alias LOTView NSView; + +typedef NS_ENUM(NSInteger, LOTViewContentMode) { + LOTViewContentModeScaleToFill, + LOTViewContentModeScaleAspectFit, + LOTViewContentModeScaleAspectFill, + LOTViewContentModeRedraw, + LOTViewContentModeCenter, + LOTViewContentModeTop, + LOTViewContentModeBottom, + LOTViewContentModeLeft, + LOTViewContentModeRight, + LOTViewContentModeTopLeft, + LOTViewContentModeTopRight, + LOTViewContentModeBottomLeft, + LOTViewContentModeBottomRight, +}; + +#endif + diff --git a/lottie-ios/Classes/PublicHeaders/Lottie.h b/lottie-ios/Classes/PublicHeaders/Lottie.h index 45ba055c9c..e8f03fa8b4 100644 --- a/lottie-ios/Classes/PublicHeaders/Lottie.h +++ b/lottie-ios/Classes/PublicHeaders/Lottie.h @@ -9,7 +9,7 @@ #ifndef Lottie_h #define Lottie_h -#import "LAAnimationTransitionController.h" -#import "LAAnimationView.h" +#import "LOTAnimationTransitionController.h" +#import "LOTAnimationView.h" #endif /* Lottie_h */ diff --git a/lottie-ios/Classes/UIColor+Expanded.h b/lottie-ios/Classes/UIColor+Expanded.h deleted file mode 100644 index 5a6dcc75f4..0000000000 --- a/lottie-ios/Classes/UIColor+Expanded.h +++ /dev/null @@ -1,51 +0,0 @@ -#import "LAPlatformCompat.h" - -// From http://github.com/ars/uicolor-utilities -#define CLAMP(val,min,max) MIN(MAX(val,min),max) - -@interface UIColor (UIColor_Expanded) -@property (nonatomic, readonly) CGColorSpaceModel colorSpaceModel; -@property (nonatomic, readonly) BOOL canProvideRGBComponents; -@property (nonatomic, readonly) CGFloat red; // Only valid if canProvideRGBComponents is YES -@property (nonatomic, readonly) CGFloat green; // Only valid if canProvideRGBComponents is YES -@property (nonatomic, readonly) CGFloat blue; // Only valid if canProvideRGBComponents is YES -@property (nonatomic, readonly) CGFloat white; // Only valid if colorSpaceModel == kCGColorSpaceModelMonochrome -@property (nonatomic, readonly) CGFloat alpha; -@property (nonatomic, readonly) UInt32 rgbHex; - -- (NSString *)colorSpaceString; - -- (NSArray *)arrayFromRGBAComponents; - -- (BOOL)red:(CGFloat *)r green:(CGFloat *)g blue:(CGFloat *)b alpha:(CGFloat *)a; - -- (UIColor *)colorByLuminanceMapping; - -- (UIColor *)colorByMultiplyingByRed:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha; -- (UIColor *) colorByAddingRed:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha; -- (UIColor *) colorByLighteningToRed:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha; -- (UIColor *) colorByDarkeningToRed:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha; - -- (UIColor *)colorByMultiplyingBy:(CGFloat)f; -- (UIColor *) colorByAdding:(CGFloat)f; -- (UIColor *) colorByLighteningTo:(CGFloat)f; -- (UIColor *) colorByDarkeningTo:(CGFloat)f; - -- (UIColor *)colorByMultiplyingByColor:(UIColor *)color; -- (UIColor *) colorByAddingColor:(UIColor *)color; -- (UIColor *) colorByLighteningToColor:(UIColor *)color; -- (UIColor *) colorByDarkeningToColor:(UIColor *)color; - -- (NSString *)stringFromColor; -- (NSString *)hexStringValue; - -+ (UIColor *)randomColor; -+ (UIColor *)colorWithString:(NSString *)stringToConvert; -+ (UIColor *)colorWithRGBHex:(UInt32)hex; -+ (UIColor *)colorWithHexString:(NSString *)stringToConvert; - -+ (UIColor *)colorWithName:(NSString *)cssColorName; - -+ (UIColor *)colorByLerpingFromColor:(UIColor *)fromColor toColor:(UIColor *)toColor amount:(CGFloat)amount; - -@end \ No newline at end of file