@octane-xplat/lottie 0.0.1 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +56 -2
- package/dist/native/cx.mobile.js +11 -0
- package/dist/native/escape-props.js +39 -0
- package/dist/native/index.js +183 -0
- package/dist/native/layout-child.js +38 -0
- package/dist/native/octane-client-build.json +8 -0
- package/dist/native/vendor/ui-lottie/index.android.js +286 -0
- package/dist/native/vendor/ui-lottie/index.ios.js +214 -0
- package/dist/native/vendor/ui-lottie/src/lottie/index.common.js +50 -0
- package/dist/native/vendor/ui-lottie/src/lottie/utils.js +6 -0
- package/dist/web/escape-props.web.js +17 -0
- package/dist/web/index.js +346 -0
- package/dist/web/layout-child.web.js +47 -0
- package/dist/web/octane-client-build.json +8 -0
- package/package.json +104 -11
- package/platforms/android/include.gradle +7 -0
- package/platforms/android/java/com/nativescript/lottie/LottieAnimationView.java +92 -0
- package/platforms/android/lottie.aar +0 -0
- package/platforms/android/native-api-usage.json +16 -0
- package/platforms/ios/Podfile +5 -0
- package/platforms/macos/LICENSE-EpoxyCore-Apache-2.0.txt +201 -0
- package/platforms/macos/LICENSE-LRUCache-MIT.txt +22 -0
- package/platforms/macos/LICENSE-Lottie-Apache-2.0.txt +201 -0
- package/platforms/macos/LICENSE-ZIPFoundation-MIT.txt +21 -0
- package/platforms/macos/UPSTREAM.md +13 -0
- package/platforms/macos/resources/PrivacyInfo.xcprivacy +23 -0
- package/platforms/macos/resources/THIRD-PARTY-NOTICES.txt +10 -0
- package/platforms/macos/src/XplatAppKitLottie.swift +246 -0
- package/platforms/macos/src/vendor/Lottie/PrivacyInfo.xcprivacy +23 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Animations/CAAnimation+TimingConfiguration.swift +81 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Animations/CALayer+addAnimation.swift +476 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Animations/CombinedShapeAnimation.swift +92 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Animations/CustomPathAnimation.swift +89 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Animations/DropShadowAnimation.swift +179 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Animations/EllipseAnimation.swift +53 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Animations/GradientAnimations.swift +287 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Animations/LayerProperty.swift +440 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Animations/OpacityAnimation.swift +53 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Animations/RectangleAnimation.swift +59 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Animations/ShapeAnimation.swift +246 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Animations/StarAnimation.swift +119 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Animations/StrokeAnimation.swift +96 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Animations/TransformAnimations.swift +380 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Animations/VisibilityAnimation.swift +63 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/CompatibilityTracker.swift +129 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/CoreAnimationLayer.swift +645 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Extensions/CALayer+fillBounds.swift +35 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Extensions/KeyframeGroup+exactlyOneKeyframe.swift +28 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Extensions/Keyframes+combined.swift +345 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Extensions/Keyframes+timeRemapping.swift +46 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Layers/AnimationLayer.swift +169 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Layers/BaseAnimationLayer.swift +46 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Layers/BaseCompositionLayer.swift +120 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Layers/CALayer+setupLayerHierarchy.swift +169 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Layers/GradientRenderLayer.swift +101 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Layers/ImageLayer.swift +81 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Layers/InfiniteOpaqueAnimationLayer.swift +57 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Layers/LayerModel+makeAnimationLayer.swift +59 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Layers/MaskCompositionLayer.swift +139 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Layers/PreCompLayer.swift +107 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Layers/RepeaterLayer.swift +113 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Layers/ShapeItemLayer.swift +346 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Layers/ShapeLayer.swift +569 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Layers/SolidLayer.swift +66 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Layers/TextLayer.swift +157 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/Layers/TransformLayer.swift +13 -0
- package/platforms/macos/src/vendor/Lottie/Private/CoreAnimation/ValueProviderStore.swift +157 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Diffing/Collection+Diff.swift +267 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Diffing/Diffable.swift +19 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Diffing/DiffableSection.swift +16 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Diffing/IndexChangeset.swift +187 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Diffing/SectionedChangeset.swift +22 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Logging/EpoxyLogger.swift +102 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Model/CallbackContextEpoxyModeled.swift +8 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Model/EpoxyModelArrayBuilder.swift +48 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Model/EpoxyModelProperty.swift +158 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Model/EpoxyModelStorage.swift +88 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Model/EpoxyModeled.swift +54 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Model/Internal/AnyEpoxyModelProperty.swift +31 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Model/Internal/ClassReference.swift +39 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Model/Providers/AnimatedProviding.swift +10 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Model/Providers/DataIDProviding.swift +58 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Model/Providers/DidDisplayProviding.swift +41 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Model/Providers/DidEndDisplayingProviding.swift +42 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Model/Providers/DidSelectProviding.swift +36 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Model/Providers/ErasedContentProviding.swift +49 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Model/Providers/MakeViewProviding.swift +61 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Model/Providers/SetBehaviorsProviding.swift +38 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Model/Providers/SetContentProviding.swift +38 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Model/Providers/StyleIDProviding.swift +38 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Model/Providers/TraitCollectionProviding.swift +14 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Model/Providers/ViewDifferentiatorProviding.swift +34 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Model/Providers/ViewProviding.swift +13 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Model/Providers/WillDisplayProviding.swift +41 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Model/ViewEpoxyModeled.swift +10 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/README.md +30 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/SwiftUI/EpoxySwiftUIIntrinsicContentSizeInvalidator.swift +34 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/SwiftUI/EpoxySwiftUILayoutMargins.swift +38 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/SwiftUI/EpoxyableView+SwiftUIView.swift +165 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/SwiftUI/LayoutUtilities/MeasuringViewRepresentable.swift +127 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/SwiftUI/LayoutUtilities/SwiftUIMeasurementContainer.swift +468 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/SwiftUI/SwiftUIView.swift +146 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/SwiftUI/UIView+SwiftUIView.swift +39 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/SwiftUI/UIViewConfiguringSwiftUIView.swift +41 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Views/BehaviorsConfigurableView.swift +45 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Views/ContentConfigurableView.swift +36 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Views/EpoxyableView.swift +5 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Views/StyledView.swift +43 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/EpoxyCore/Views/ViewType.swift +47 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/LRUCache/LRUCache.swift +257 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/LRUCache/README.md +24 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/README.md +43 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/ZipFoundation/Archive+BackingConfiguration.swift +149 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/ZipFoundation/Archive+Deprecated.swift +23 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/ZipFoundation/Archive+Helpers.swift +361 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/ZipFoundation/Archive+MemoryFile.swift +205 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/ZipFoundation/Archive+Progress.swift +66 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/ZipFoundation/Archive+Reading.swift +160 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/ZipFoundation/Archive+ReadingDeprecated.swift +50 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/ZipFoundation/Archive+Writing.swift +403 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/ZipFoundation/Archive+WritingDeprecated.swift +95 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/ZipFoundation/Archive+ZIP64.swift +191 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/ZipFoundation/Archive.swift +404 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/ZipFoundation/Data+Compression.swift +632 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/ZipFoundation/Data+CompressionDeprecated.swift +43 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/ZipFoundation/Data+Serialization.swift +146 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/ZipFoundation/Date+ZIP.swift +101 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/ZipFoundation/Entry+Serialization.swift +191 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/ZipFoundation/Entry+ZIP64.swift +170 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/ZipFoundation/Entry.swift +669 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/ZipFoundation/FileManager+ZIP.swift +405 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/ZipFoundation/FileManager+ZIPDeprecated.swift +28 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/ZipFoundation/README.md +24 -0
- package/platforms/macos/src/vendor/Lottie/Private/EmbeddedLibraries/ZipFoundation/URL+ZIP.swift +34 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/LayerContainers/CompLayers/CompositionLayer.swift +177 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/LayerContainers/CompLayers/ImageCompositionLayer.swift +54 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/LayerContainers/CompLayers/MaskContainerLayer.swift +191 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/LayerContainers/CompLayers/NullCompositionLayer.swift +28 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/LayerContainers/CompLayers/PreCompositionLayer.swift +137 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/LayerContainers/CompLayers/ShapeCompositionLayer.swift +60 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/LayerContainers/CompLayers/SolidCompositionLayer.swift +57 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/LayerContainers/CompLayers/TextCompositionLayer.swift +247 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/LayerContainers/MainThreadAnimationLayer.swift +321 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/LayerContainers/Utility/CachedImageProvider.swift +56 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/LayerContainers/Utility/CompositionLayersInitializer.swift +103 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/LayerContainers/Utility/CoreTextRenderLayer.swift +424 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/LayerContainers/Utility/InvertedMatteLayer.swift +55 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/LayerContainers/Utility/LayerFontProvider.swift +39 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/LayerContainers/Utility/LayerImageProvider.swift +52 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/LayerContainers/Utility/LayerTextProvider.swift +38 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/LayerContainers/Utility/LayerTransformNode.swift +149 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/Extensions/ItemsExtension.swift +146 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/NodeProperties/NodeProperty.swift +62 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/NodeProperties/Protocols/AnyNodeProperty.swift +53 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/NodeProperties/Protocols/AnyValueContainer.swift +26 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/NodeProperties/Protocols/KeypathSearchable.swift +23 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/NodeProperties/Protocols/NodePropertyMap.swift +43 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/NodeProperties/ValueContainer.swift +47 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/NodeProperties/ValueProviders/GroupInterpolator.swift +39 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/NodeProperties/ValueProviders/SingleValueProvider.swift +43 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/Nodes/LayerEffectNodes/DropShadowNode.swift +102 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/Nodes/LayerEffectNodes/LayerEffectNode.swift +25 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/Nodes/ModifierNodes/RoundedCornersNode.swift +85 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/Nodes/ModifierNodes/TrimPathNode.swift +281 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/Nodes/OutputNodes/GroupOutputNode.swift +74 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/Nodes/OutputNodes/PassThroughOutputNode.swift +47 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/Nodes/OutputNodes/PathOutputNode.swift +89 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/Nodes/OutputNodes/Renderables/FillRenderer.swift +69 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/Nodes/OutputNodes/Renderables/GradientFillRenderer.swift +253 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/Nodes/OutputNodes/Renderables/GradientStrokeRenderer.swift +64 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/Nodes/OutputNodes/Renderables/LegacyGradientFillRenderer.swift +158 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/Nodes/OutputNodes/Renderables/StrokeRenderer.swift +165 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/Nodes/PathNodes/EllipseNode.swift +143 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/Nodes/PathNodes/PolygonNode.swift +173 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/Nodes/PathNodes/RectNode.swift +238 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/Nodes/PathNodes/ShapeNode.swift +73 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/Nodes/PathNodes/StarNode.swift +224 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/Nodes/RenderContainers/GroupNode.swift +162 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/Nodes/RenderNodes/FillNode.swift +88 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/Nodes/RenderNodes/GradientFillNode.swift +103 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/Nodes/RenderNodes/GradientStrokeNode.swift +149 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/Nodes/RenderNodes/StrokeNode.swift +179 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/Nodes/Text/TextAnimatorNode.swift +345 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/Protocols/AnimatorNode.swift +197 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/Protocols/PathNode.swift +20 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/Protocols/RenderNode.swift +60 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/RenderLayers/ShapeContainerLayer.swift +78 -0
- package/platforms/macos/src/vendor/Lottie/Private/MainThread/NodeRenderSystem/RenderLayers/ShapeRenderLayer.swift +98 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/Assets/Asset.swift +51 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/Assets/AssetLibrary.swift +75 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/Assets/ImageAsset.swift +141 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/Assets/PrecompAsset.swift +47 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/DictionaryInitializable.swift +73 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/DotLottie/DotLottieAnimation.swift +57 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/DotLottie/DotLottieImageProvider.swift +89 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/DotLottie/DotLottieManifest.swift +42 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/DotLottie/DotLottieUtils.swift +71 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/Extensions/Bundle.swift +58 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/Extensions/KeyedDecodingContainerExtensions.swift +71 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/Keyframes/KeyframeData.swift +111 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/Keyframes/KeyframeGroup.swift +265 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/LayerEffects/DropShadowEffect.swift +52 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/LayerEffects/EffectValues/ColorEffectValue.swift +45 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/LayerEffects/EffectValues/EffectValue.swift +98 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/LayerEffects/EffectValues/Vector1DEffectValue.swift +45 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/LayerEffects/LayerEffect.swift +103 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/LayerStyles/DropShadowStyle.swift +79 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/LayerStyles/LayerStyle.swift +85 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/Layers/ImageLayerModel.swift +49 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/Layers/LayerModel.swift +266 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/Layers/PreCompLayerModel.swift +74 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/Layers/ShapeLayerModel.swift +50 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/Layers/SolidLayerModel.swift +63 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/Layers/TextLayerModel.swift +65 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/Objects/DashPattern.swift +42 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/Objects/Marker.swift +35 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/Objects/Mask.swift +80 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/Objects/Transform.swift +261 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/ShapeItems/Ellipse.swift +79 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/ShapeItems/Fill.swift +79 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/ShapeItems/GradientFill.swift +142 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/ShapeItems/GradientStroke.swift +244 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/ShapeItems/Group.swift +55 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/ShapeItems/Merge.swift +63 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/ShapeItems/Rectangle.swift +79 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/ShapeItems/Repeater.swift +181 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/ShapeItems/RoundedCorners.swift +53 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/ShapeItems/Shape.swift +63 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/ShapeItems/ShapeItem.swift +171 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/ShapeItems/ShapeTransform.swift +202 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/ShapeItems/Star.swift +136 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/ShapeItems/Stroke.swift +144 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/ShapeItems/Trim.swift +90 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/Text/Font.swift +67 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/Text/Glyph.swift +94 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/Text/TextAnimator.swift +240 -0
- package/platforms/macos/src/vendor/Lottie/Private/Model/Text/TextDocument.swift +142 -0
- package/platforms/macos/src/vendor/Lottie/Private/RootAnimationLayer.swift +54 -0
- package/platforms/macos/src/vendor/Lottie/Private/Utility/Debugging/AnimatorNodeDebugging.swift +23 -0
- package/platforms/macos/src/vendor/Lottie/Private/Utility/Debugging/LayerDebugging.swift +231 -0
- package/platforms/macos/src/vendor/Lottie/Private/Utility/Debugging/TestHelpers.swift +10 -0
- package/platforms/macos/src/vendor/Lottie/Private/Utility/Extensions/AnimationKeypathExtension.swift +303 -0
- package/platforms/macos/src/vendor/Lottie/Private/Utility/Extensions/BlendMode+Filter.swift +31 -0
- package/platforms/macos/src/vendor/Lottie/Private/Utility/Extensions/CGColor+RGB.swift +45 -0
- package/platforms/macos/src/vendor/Lottie/Private/Utility/Extensions/CGFloatExtensions.swift +152 -0
- package/platforms/macos/src/vendor/Lottie/Private/Utility/Extensions/DataExtension.swift +33 -0
- package/platforms/macos/src/vendor/Lottie/Private/Utility/Extensions/MathKit.swift +454 -0
- package/platforms/macos/src/vendor/Lottie/Private/Utility/Extensions/StringExtensions.swift +44 -0
- package/platforms/macos/src/vendor/Lottie/Private/Utility/Helpers/AnimationContext.swift +95 -0
- package/platforms/macos/src/vendor/Lottie/Private/Utility/Helpers/AnyEquatable.swift +23 -0
- package/platforms/macos/src/vendor/Lottie/Private/Utility/Helpers/Binding+Map.swift +19 -0
- package/platforms/macos/src/vendor/Lottie/Private/Utility/Helpers/View+ValueChanged.swift +35 -0
- package/platforms/macos/src/vendor/Lottie/Private/Utility/Interpolatable/InterpolatableExtensions.swift +143 -0
- package/platforms/macos/src/vendor/Lottie/Private/Utility/Interpolatable/KeyframeExtensions.swift +47 -0
- package/platforms/macos/src/vendor/Lottie/Private/Utility/Interpolatable/KeyframeInterpolator.swift +250 -0
- package/platforms/macos/src/vendor/Lottie/Private/Utility/LottieAnimationSource.swift +51 -0
- package/platforms/macos/src/vendor/Lottie/Private/Utility/Primitives/BezierPath.swift +509 -0
- package/platforms/macos/src/vendor/Lottie/Private/Utility/Primitives/BezierPathRoundExtension.swift +163 -0
- package/platforms/macos/src/vendor/Lottie/Private/Utility/Primitives/CGPointExtension.swift +35 -0
- package/platforms/macos/src/vendor/Lottie/Private/Utility/Primitives/ColorExtension.swift +101 -0
- package/platforms/macos/src/vendor/Lottie/Private/Utility/Primitives/CompoundBezierPath.swift +169 -0
- package/platforms/macos/src/vendor/Lottie/Private/Utility/Primitives/CurveVertex.swift +190 -0
- package/platforms/macos/src/vendor/Lottie/Private/Utility/Primitives/PathElement.swift +78 -0
- package/platforms/macos/src/vendor/Lottie/Private/Utility/Primitives/UnitBezier.swift +119 -0
- package/platforms/macos/src/vendor/Lottie/Private/Utility/Primitives/VectorsExtensions.swift +368 -0
- package/platforms/macos/src/vendor/Lottie/Public/Animation/LottieAnimation.swift +179 -0
- package/platforms/macos/src/vendor/Lottie/Public/Animation/LottieAnimationHelpers.swift +317 -0
- package/platforms/macos/src/vendor/Lottie/Public/Animation/LottieAnimationLayer.swift +1582 -0
- package/platforms/macos/src/vendor/Lottie/Public/Animation/LottieAnimationView.swift +1090 -0
- package/platforms/macos/src/vendor/Lottie/Public/Animation/LottieAnimationViewInitializers.swift +226 -0
- package/platforms/macos/src/vendor/Lottie/Public/Animation/LottiePlaybackMode.swift +266 -0
- package/platforms/macos/src/vendor/Lottie/Public/Animation/LottieView.swift +643 -0
- package/platforms/macos/src/vendor/Lottie/Public/AnimationCache/AnimationCacheProvider.swift +21 -0
- package/platforms/macos/src/vendor/Lottie/Public/AnimationCache/DefaultAnimationCache.swift +67 -0
- package/platforms/macos/src/vendor/Lottie/Public/AnimationCache/LRUAnimationCache.swift +11 -0
- package/platforms/macos/src/vendor/Lottie/Public/AnimationCache/LottieAnimationCache.swift +15 -0
- package/platforms/macos/src/vendor/Lottie/Public/Configuration/DecodingStrategy.swift +15 -0
- package/platforms/macos/src/vendor/Lottie/Public/Configuration/LottieConfiguration.swift +54 -0
- package/platforms/macos/src/vendor/Lottie/Public/Configuration/LottieURLSession.swift +31 -0
- package/platforms/macos/src/vendor/Lottie/Public/Configuration/ReducedMotionOption.swift +128 -0
- package/platforms/macos/src/vendor/Lottie/Public/Configuration/RenderingEngineOption.swift +117 -0
- package/platforms/macos/src/vendor/Lottie/Public/Controls/AnimatedButton.swift +128 -0
- package/platforms/macos/src/vendor/Lottie/Public/Controls/AnimatedControl.swift +248 -0
- package/platforms/macos/src/vendor/Lottie/Public/Controls/AnimatedSwitch.swift +271 -0
- package/platforms/macos/src/vendor/Lottie/Public/Controls/LottieButton.swift +119 -0
- package/platforms/macos/src/vendor/Lottie/Public/Controls/LottieSwitch.swift +144 -0
- package/platforms/macos/src/vendor/Lottie/Public/Controls/LottieViewType.swift +79 -0
- package/platforms/macos/src/vendor/Lottie/Public/DotLottie/Cache/DotLottieCache.swift +66 -0
- package/platforms/macos/src/vendor/Lottie/Public/DotLottie/Cache/DotLottieCacheProvider.swift +21 -0
- package/platforms/macos/src/vendor/Lottie/Public/DotLottie/DotLottieConfiguration.swift +72 -0
- package/platforms/macos/src/vendor/Lottie/Public/DotLottie/DotLottieFile.swift +186 -0
- package/platforms/macos/src/vendor/Lottie/Public/DotLottie/DotLottieFileHelpers.swift +386 -0
- package/platforms/macos/src/vendor/Lottie/Public/DynamicProperties/AnimationKeypath.swift +57 -0
- package/platforms/macos/src/vendor/Lottie/Public/DynamicProperties/AnyValueProvider.swift +132 -0
- package/platforms/macos/src/vendor/Lottie/Public/DynamicProperties/ValueProviders/ColorValueProvider.swift +96 -0
- package/platforms/macos/src/vendor/Lottie/Public/DynamicProperties/ValueProviders/FloatValueProvider.swift +81 -0
- package/platforms/macos/src/vendor/Lottie/Public/DynamicProperties/ValueProviders/GradientValueProvider.swift +138 -0
- package/platforms/macos/src/vendor/Lottie/Public/DynamicProperties/ValueProviders/PointValueProvider.swift +81 -0
- package/platforms/macos/src/vendor/Lottie/Public/DynamicProperties/ValueProviders/SizeValueProvider.swift +81 -0
- package/platforms/macos/src/vendor/Lottie/Public/FontProvider/AnimationFontProvider.swift +41 -0
- package/platforms/macos/src/vendor/Lottie/Public/ImageProvider/AnimationImageProvider.swift +43 -0
- package/platforms/macos/src/vendor/Lottie/Public/Keyframes/Interpolatable.swift +285 -0
- package/platforms/macos/src/vendor/Lottie/Public/Keyframes/Keyframe.swift +98 -0
- package/platforms/macos/src/vendor/Lottie/Public/Logging/LottieLogger.swift +138 -0
- package/platforms/macos/src/vendor/Lottie/Public/Primitives/AnimationTime.swift +15 -0
- package/platforms/macos/src/vendor/Lottie/Public/Primitives/LottieColor.swift +43 -0
- package/platforms/macos/src/vendor/Lottie/Public/Primitives/Vectors.swift +36 -0
- package/platforms/macos/src/vendor/Lottie/Public/TextProvider/AnimationTextProvider.swift +135 -0
- package/platforms/macos/src/vendor/Lottie/Public/iOS/AnimationSubview.swift +19 -0
- package/platforms/macos/src/vendor/Lottie/Public/iOS/BundleImageProvider.swift +98 -0
- package/platforms/macos/src/vendor/Lottie/Public/iOS/Compatibility/CompatibleAnimationKeypath.swift +33 -0
- package/platforms/macos/src/vendor/Lottie/Public/iOS/Compatibility/CompatibleAnimationView.swift +567 -0
- package/platforms/macos/src/vendor/Lottie/Public/iOS/Compatibility/CompatibleFontProvider.swift +41 -0
- package/platforms/macos/src/vendor/Lottie/Public/iOS/Compatibility/CompatibleImageProvider.swift +43 -0
- package/platforms/macos/src/vendor/Lottie/Public/iOS/FilepathImageProvider.swift +78 -0
- package/platforms/macos/src/vendor/Lottie/Public/iOS/LottieAnimationViewBase.swift +85 -0
- package/platforms/macos/src/vendor/Lottie/Public/iOS/UIColorExtension.swift +23 -0
- package/platforms/macos/src/vendor/Lottie/Public/macOS/AnimationSubview.macOS.swift +19 -0
- package/platforms/macos/src/vendor/Lottie/Public/macOS/BundleImageProvider.macOS.swift +90 -0
- package/platforms/macos/src/vendor/Lottie/Public/macOS/FilepathImageProvider.macOS.swift +86 -0
- package/platforms/macos/src/vendor/Lottie/Public/macOS/LottieAnimationViewBase.macOS.swift +102 -0
- package/src/Lottie.macos.tsrx +129 -0
- package/src/Lottie.tsrx +162 -0
- package/src/Lottie.web.tsrx +152 -0
- package/src/cx.mobile.ts +8 -0
- package/src/escape-props.ts +65 -0
- package/src/escape-props.web.ts +25 -0
- package/src/index.macos.ts +2 -0
- package/src/index.ts +2 -0
- package/src/index.web.ts +2 -0
- package/src/layout-child.ts +57 -0
- package/src/layout-child.web.ts +108 -0
- package/src/native-elements.d.ts +8 -0
- package/src/props.ts +133 -0
- package/src/references.d.ts +3 -0
- package/src/vendor/ui-lottie/LICENSE.md +21 -0
- package/src/vendor/ui-lottie/src/lottie/index.android.ts +447 -0
- package/src/vendor/ui-lottie/src/lottie/index.common.ts +84 -0
- package/src/vendor/ui-lottie/src/lottie/index.d.ts +133 -0
- package/src/vendor/ui-lottie/src/lottie/index.ios.ts +345 -0
- package/src/vendor/ui-lottie/src/lottie/typings/android.d.ts +4149 -0
- package/src/vendor/ui-lottie/src/lottie/typings/android.nativescript.d.ts +12 -0
- package/src/vendor/ui-lottie/src/lottie/typings/dotlottie.ios.d.ts +14 -0
- package/src/vendor/ui-lottie/src/lottie/typings/ios.d.ts +384 -0
- package/src/vendor/ui-lottie/src/lottie/utils.ts +9 -0
- package/types/generated/.tsrx-typegen-manifest.json +18 -0
- package/types/generated/Lottie.d.ts +7 -0
- package/types/generated/Lottie.web.d.ts +7 -0
- package/types/generated/cx.mobile.d.ts +6 -0
- package/types/generated/escape-props.d.ts +15 -0
- package/types/generated/escape-props.web.d.ts +5 -0
- package/types/generated/index.d.ts +2 -0
- package/types/generated/index.web.d.ts +2 -0
- package/types/generated/layout-child.d.ts +6 -0
- package/types/generated/layout-child.web.d.ts +15 -0
- package/types/generated/props.d.ts +110 -0
- package/types/generated/vendor/ui-lottie/src/lottie/index.common.d.ts +30 -0
- package/types/generated/vendor/ui-lottie/src/lottie/index.ios.d.ts +35 -0
- package/types/generated/vendor/ui-lottie/src/lottie/utils.d.ts +1 -0
- package/index.d.ts +0 -1
- package/index.js +0 -2
package/platforms/macos/src/vendor/Lottie/Public/Animation/LottieAnimationViewInitializers.swift
ADDED
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
//
|
|
2
|
+
// AnimationViewInitializers.swift
|
|
3
|
+
// lottie-swift-iOS
|
|
4
|
+
//
|
|
5
|
+
// Created by Brandon Withrow on 2/6/19.
|
|
6
|
+
//
|
|
7
|
+
|
|
8
|
+
import Foundation
|
|
9
|
+
|
|
10
|
+
extension LottieAnimationView {
|
|
11
|
+
|
|
12
|
+
// MARK: Lifecycle
|
|
13
|
+
|
|
14
|
+
/// Loads a Lottie animation from a JSON file in the supplied bundle.
|
|
15
|
+
///
|
|
16
|
+
/// - Parameter name: The string name of the lottie animation with no file extension provided.
|
|
17
|
+
/// - Parameter bundle: The bundle in which the animation is located. Defaults to the Main bundle.
|
|
18
|
+
/// - Parameter subdirectory: A subdirectory in the bundle in which the animation is located. Optional.
|
|
19
|
+
/// - Parameter imageProvider: An image provider for the animation's image data.
|
|
20
|
+
/// If none is supplied Lottie will search in the supplied bundle for images.
|
|
21
|
+
public convenience init(
|
|
22
|
+
name: String,
|
|
23
|
+
bundle: Bundle = Bundle.main,
|
|
24
|
+
subdirectory: String? = nil,
|
|
25
|
+
imageProvider: AnimationImageProvider? = nil,
|
|
26
|
+
animationCache: AnimationCacheProvider? = LottieAnimationCache.shared,
|
|
27
|
+
configuration: LottieConfiguration = .shared
|
|
28
|
+
) {
|
|
29
|
+
let animation = LottieAnimation.named(name, bundle: bundle, subdirectory: subdirectory, animationCache: animationCache)
|
|
30
|
+
let provider = imageProvider ?? BundleImageProvider(bundle: bundle, searchPath: nil)
|
|
31
|
+
self.init(animation: animation, imageProvider: provider, configuration: configuration)
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/// Loads a Lottie animation from a JSON file in a specific path on disk.
|
|
35
|
+
///
|
|
36
|
+
/// - Parameter name: The absolute path of the Lottie Animation.
|
|
37
|
+
/// - Parameter imageProvider: An image provider for the animation's image data.
|
|
38
|
+
/// If none is supplied Lottie will search in the supplied filepath for images.
|
|
39
|
+
public convenience init(
|
|
40
|
+
filePath: String,
|
|
41
|
+
imageProvider: AnimationImageProvider? = nil,
|
|
42
|
+
animationCache: AnimationCacheProvider? = LottieAnimationCache.shared,
|
|
43
|
+
configuration: LottieConfiguration = .shared
|
|
44
|
+
) {
|
|
45
|
+
let animation = LottieAnimation.filepath(filePath, animationCache: animationCache)
|
|
46
|
+
let provider = imageProvider ??
|
|
47
|
+
FilepathImageProvider(filepath: URL(fileURLWithPath: filePath).deletingLastPathComponent().path)
|
|
48
|
+
self.init(animation: animation, imageProvider: provider, configuration: configuration)
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/// Loads a Lottie animation asynchronously from the URL
|
|
52
|
+
///
|
|
53
|
+
/// - Parameter url: The url to load the animation from.
|
|
54
|
+
/// - Parameter imageProvider: An image provider for the animation's image data.
|
|
55
|
+
/// If none is supplied Lottie will search in the main bundle for images.
|
|
56
|
+
/// - Parameter session: The `LottieURLSession` used to load the animation. Defaults to `LottieConfiguration.defaultURLSession`.
|
|
57
|
+
/// - Parameter closure: A closure to be called when the animation has loaded.
|
|
58
|
+
public convenience init(
|
|
59
|
+
url: URL,
|
|
60
|
+
imageProvider: AnimationImageProvider? = nil,
|
|
61
|
+
session: LottieURLSession = LottieConfiguration.defaultURLSession,
|
|
62
|
+
closure: @escaping LottieAnimationView.DownloadClosure,
|
|
63
|
+
animationCache: AnimationCacheProvider? = LottieAnimationCache.shared,
|
|
64
|
+
configuration: LottieConfiguration = .shared
|
|
65
|
+
) {
|
|
66
|
+
if let animationCache, let animation = animationCache.animation(forKey: url.absoluteString) {
|
|
67
|
+
self.init(animation: animation, imageProvider: imageProvider, configuration: configuration)
|
|
68
|
+
closure(nil)
|
|
69
|
+
} else {
|
|
70
|
+
self.init(animation: nil, imageProvider: imageProvider, configuration: configuration)
|
|
71
|
+
|
|
72
|
+
LottieAnimation.loadedFrom(url: url, session: session, closure: { animation in
|
|
73
|
+
if let animation {
|
|
74
|
+
self.animation = animation
|
|
75
|
+
closure(nil)
|
|
76
|
+
} else {
|
|
77
|
+
closure(LottieDownloadError.downloadFailed)
|
|
78
|
+
}
|
|
79
|
+
}, animationCache: animationCache)
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
/// Loads a Lottie animation from a JSON file located in the Asset catalog of the supplied bundle.
|
|
84
|
+
/// - Parameter name: The string name of the lottie animation in the asset catalog.
|
|
85
|
+
/// - Parameter bundle: The bundle in which the animation is located.
|
|
86
|
+
/// Defaults to the Main bundle.
|
|
87
|
+
/// - Parameter imageProvider: An image provider for the animation's image data.
|
|
88
|
+
/// If none is supplied Lottie will search in the supplied bundle for images.
|
|
89
|
+
public convenience init(
|
|
90
|
+
asset name: String,
|
|
91
|
+
bundle: Bundle = Bundle.main,
|
|
92
|
+
imageProvider: AnimationImageProvider? = nil,
|
|
93
|
+
animationCache: AnimationCacheProvider? = LottieAnimationCache.shared,
|
|
94
|
+
configuration: LottieConfiguration = .shared
|
|
95
|
+
) {
|
|
96
|
+
let animation = LottieAnimation.asset(name, bundle: bundle, animationCache: animationCache)
|
|
97
|
+
let provider = imageProvider ?? BundleImageProvider(bundle: bundle, searchPath: nil)
|
|
98
|
+
self.init(animation: animation, imageProvider: provider, configuration: configuration)
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/// Loads a Lottie animation from a .lottie file in the supplied bundle.
|
|
102
|
+
///
|
|
103
|
+
/// - Parameter dotLottieName: The name of the lottie file without the lottie extension. EG "StarAnimation"
|
|
104
|
+
/// - Parameter bundle: The bundle in which the lottie is located. Defaults to `Bundle.main`
|
|
105
|
+
/// - Parameter subdirectory: A subdirectory in the bundle in which the lottie is located. Optional.
|
|
106
|
+
/// - Parameter animationId: Animation id to play. Optional
|
|
107
|
+
/// - Parameter completion: A closure that is called when the .lottie file is finished loading
|
|
108
|
+
/// Defaults to first animation in file
|
|
109
|
+
public convenience init(
|
|
110
|
+
dotLottieName name: String,
|
|
111
|
+
bundle: Bundle = Bundle.main,
|
|
112
|
+
subdirectory: String? = nil,
|
|
113
|
+
animationId: String? = nil,
|
|
114
|
+
dotLottieCache: DotLottieCacheProvider? = DotLottieCache.sharedCache,
|
|
115
|
+
configuration: LottieConfiguration = .shared,
|
|
116
|
+
completion: ((LottieAnimationView, Error?) -> Void)? = nil
|
|
117
|
+
) {
|
|
118
|
+
self.init(dotLottie: nil, animationId: animationId, configuration: configuration)
|
|
119
|
+
DotLottieFile.named(name, bundle: bundle, subdirectory: subdirectory, dotLottieCache: dotLottieCache) { result in
|
|
120
|
+
switch result {
|
|
121
|
+
case .success(let dotLottieFile):
|
|
122
|
+
self.loadAnimation(animationId, from: dotLottieFile)
|
|
123
|
+
completion?(self, nil)
|
|
124
|
+
|
|
125
|
+
case .failure(let error):
|
|
126
|
+
completion?(self, error)
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
/// Loads a Lottie from a .lottie file in a specific path on disk.
|
|
132
|
+
///
|
|
133
|
+
/// - Parameter dotLottieFilePath: The absolute path of the Lottie file.
|
|
134
|
+
/// - Parameter animationId: Animation id to play. Optional
|
|
135
|
+
/// - Parameter completion: A closure that is called when the .lottie file is finished loading
|
|
136
|
+
/// Defaults to first animation in file
|
|
137
|
+
public convenience init(
|
|
138
|
+
dotLottieFilePath filePath: String,
|
|
139
|
+
animationId: String? = nil,
|
|
140
|
+
dotLottieCache: DotLottieCacheProvider? = DotLottieCache.sharedCache,
|
|
141
|
+
configuration: LottieConfiguration = .shared,
|
|
142
|
+
completion: ((LottieAnimationView, Error?) -> Void)? = nil
|
|
143
|
+
) {
|
|
144
|
+
self.init(dotLottie: nil, animationId: animationId, configuration: configuration)
|
|
145
|
+
DotLottieFile.loadedFrom(filepath: filePath, dotLottieCache: dotLottieCache) { result in
|
|
146
|
+
switch result {
|
|
147
|
+
case .success(let dotLottieFile):
|
|
148
|
+
self.loadAnimation(animationId, from: dotLottieFile)
|
|
149
|
+
completion?(self, nil)
|
|
150
|
+
|
|
151
|
+
case .failure(let error):
|
|
152
|
+
completion?(self, error)
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
/// Loads a Lottie file asynchronously from the URL
|
|
158
|
+
///
|
|
159
|
+
/// - Parameter dotLottieUrl: The url to load the lottie file from.
|
|
160
|
+
/// - Parameter animationId: Animation id to play. Optional. Defaults to first animation in file.
|
|
161
|
+
/// - Parameter session: The `LottieURLSession` used to load the animation. Defaults to `LottieConfiguration.defaultURLSession`.
|
|
162
|
+
/// - Parameter completion: A closure to be called when the animation has loaded.
|
|
163
|
+
public convenience init(
|
|
164
|
+
dotLottieUrl url: URL,
|
|
165
|
+
animationId: String? = nil,
|
|
166
|
+
dotLottieCache: DotLottieCacheProvider? = DotLottieCache.sharedCache,
|
|
167
|
+
configuration: LottieConfiguration = .shared,
|
|
168
|
+
session: LottieURLSession = LottieConfiguration.defaultURLSession,
|
|
169
|
+
completion: ((LottieAnimationView, Error?) -> Void)? = nil
|
|
170
|
+
) {
|
|
171
|
+
if let dotLottieCache, let lottie = dotLottieCache.file(forKey: url.absoluteString) {
|
|
172
|
+
self.init(dotLottie: lottie, animationId: animationId, configuration: configuration)
|
|
173
|
+
completion?(self, nil)
|
|
174
|
+
} else {
|
|
175
|
+
self.init(dotLottie: nil, configuration: configuration)
|
|
176
|
+
DotLottieFile.loadedFrom(url: url, session: session, dotLottieCache: dotLottieCache) { result in
|
|
177
|
+
switch result {
|
|
178
|
+
case .success(let lottie):
|
|
179
|
+
self.loadAnimation(animationId, from: lottie)
|
|
180
|
+
completion?(self, nil)
|
|
181
|
+
|
|
182
|
+
case .failure(let error):
|
|
183
|
+
completion?(self, error)
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
/// Loads a Lottie from a .lottie file located in the Asset catalog of the supplied bundle.
|
|
190
|
+
/// - Parameter name: The string name of the lottie file in the asset catalog.
|
|
191
|
+
/// - Parameter bundle: The bundle in which the file is located. Defaults to the Main bundle.
|
|
192
|
+
/// - Parameter animationId: Animation id to play. Optional
|
|
193
|
+
/// - Parameter completion: A closure that is called when the .lottie file is finished loading
|
|
194
|
+
/// Defaults to first animation in file
|
|
195
|
+
public convenience init(
|
|
196
|
+
dotLottieAsset name: String,
|
|
197
|
+
bundle: Bundle = Bundle.main,
|
|
198
|
+
animationId: String? = nil,
|
|
199
|
+
dotLottieCache: DotLottieCacheProvider? = DotLottieCache.sharedCache,
|
|
200
|
+
configuration: LottieConfiguration = .shared,
|
|
201
|
+
completion: ((LottieAnimationView, Error?) -> Void)? = nil
|
|
202
|
+
) {
|
|
203
|
+
self.init(dotLottie: nil, animationId: animationId, configuration: configuration)
|
|
204
|
+
DotLottieFile.asset(named: name, bundle: bundle, dotLottieCache: dotLottieCache) { result in
|
|
205
|
+
switch result {
|
|
206
|
+
case .success(let dotLottieFile):
|
|
207
|
+
self.loadAnimation(animationId, from: dotLottieFile)
|
|
208
|
+
completion?(self, nil)
|
|
209
|
+
|
|
210
|
+
case .failure(let error):
|
|
211
|
+
completion?(self, error)
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
// MARK: Public
|
|
217
|
+
|
|
218
|
+
public typealias DownloadClosure = (Error?) -> Void
|
|
219
|
+
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
// MARK: - LottieDownloadError
|
|
223
|
+
|
|
224
|
+
enum LottieDownloadError: Error {
|
|
225
|
+
case downloadFailed
|
|
226
|
+
}
|
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
// Created by Cal Stephens on 8/3/23.
|
|
2
|
+
// Copyright © 2023 Airbnb Inc. All rights reserved.
|
|
3
|
+
|
|
4
|
+
import Foundation
|
|
5
|
+
|
|
6
|
+
// MARK: - LottiePlaybackMode
|
|
7
|
+
|
|
8
|
+
/// Configuration for how a Lottie animation should be played
|
|
9
|
+
public enum LottiePlaybackMode: Hashable {
|
|
10
|
+
|
|
11
|
+
/// The animation is paused at the given state (e.g. paused at a specific frame)
|
|
12
|
+
case paused(at: PausedState)
|
|
13
|
+
|
|
14
|
+
/// The animation is playing using the given playback mode (e.g. looping from the start to the end)
|
|
15
|
+
case playing(_ mode: PlaybackMode)
|
|
16
|
+
|
|
17
|
+
@available(*, deprecated, renamed: "LottiePlaybackMode.paused(at:)", message: "Will be removed in a future major release.")
|
|
18
|
+
case progress(_ progress: AnimationProgressTime)
|
|
19
|
+
|
|
20
|
+
@available(*, deprecated, renamed: "LottiePlaybackMode.paused(at:)", message: "Will be removed in a future major release.")
|
|
21
|
+
case frame(_ frame: AnimationFrameTime)
|
|
22
|
+
|
|
23
|
+
@available(*, deprecated, renamed: "LottiePlaybackMode.paused(at:)", message: "Will be removed in a future major release.")
|
|
24
|
+
case time(_ time: TimeInterval)
|
|
25
|
+
|
|
26
|
+
@available(*, deprecated, renamed: "LottiePlaybackMode.paused(at:)", message: "Will be removed in a future major release.")
|
|
27
|
+
case pause
|
|
28
|
+
|
|
29
|
+
@available(*, deprecated, renamed: "LottiePlaybackMode.playing(_:)", message: "Will be removed in a future major release.")
|
|
30
|
+
case fromProgress(_ fromProgress: AnimationProgressTime?, toProgress: AnimationProgressTime, loopMode: LottieLoopMode)
|
|
31
|
+
|
|
32
|
+
@available(*, deprecated, renamed: "LottiePlaybackMode.playing(_:)", message: "Will be removed in a future major release.")
|
|
33
|
+
case fromFrame(_ fromFrame: AnimationFrameTime?, toFrame: AnimationFrameTime, loopMode: LottieLoopMode)
|
|
34
|
+
|
|
35
|
+
@available(*, deprecated, renamed: "LottiePlaybackMode.playing(_:)", message: "Will be removed in a future major release.")
|
|
36
|
+
case fromMarker(
|
|
37
|
+
_ fromMarker: String?,
|
|
38
|
+
toMarker: String,
|
|
39
|
+
playEndMarkerFrame: Bool = true,
|
|
40
|
+
loopMode: LottieLoopMode
|
|
41
|
+
)
|
|
42
|
+
|
|
43
|
+
@available(*, deprecated, renamed: "LottiePlaybackMode.playing(_:)", message: "Will be removed in a future major release.")
|
|
44
|
+
case marker(_ marker: String, loopMode: LottieLoopMode)
|
|
45
|
+
|
|
46
|
+
@available(*, deprecated, renamed: "LottiePlaybackMode.playing(_:)", message: "Will be removed in a future major release.")
|
|
47
|
+
case markers(_ markers: [String])
|
|
48
|
+
|
|
49
|
+
// MARK: Public
|
|
50
|
+
|
|
51
|
+
public enum PausedState: Hashable {
|
|
52
|
+
/// Any existing animation will be paused at the current frame.
|
|
53
|
+
case currentFrame
|
|
54
|
+
|
|
55
|
+
/// The animation is paused at the given progress value,
|
|
56
|
+
/// a value between 0.0 (0% progress) and 1.0 (100% progress).
|
|
57
|
+
case progress(_ progress: AnimationProgressTime)
|
|
58
|
+
|
|
59
|
+
/// The animation is paused at the given frame of the animation.
|
|
60
|
+
case frame(_ frame: AnimationFrameTime)
|
|
61
|
+
|
|
62
|
+
/// The animation is paused at the given time value from the start of the animation.
|
|
63
|
+
case time(_ time: TimeInterval)
|
|
64
|
+
|
|
65
|
+
/// Pauses the animation at a given marker and position
|
|
66
|
+
case marker(_ name: String, position: LottieMarkerPosition = .start)
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
public enum PlaybackMode: Hashable {
|
|
70
|
+
/// Plays the animation from a progress (0-1) to a progress (0-1).
|
|
71
|
+
/// - Parameter fromProgress: The start progress of the animation. If `nil` the animation will start at the current progress.
|
|
72
|
+
/// - Parameter toProgress: The end progress of the animation.
|
|
73
|
+
/// - Parameter loopMode: The loop behavior of the animation.
|
|
74
|
+
case fromProgress(
|
|
75
|
+
_ fromProgress: AnimationProgressTime?,
|
|
76
|
+
toProgress: AnimationProgressTime,
|
|
77
|
+
loopMode: LottieLoopMode
|
|
78
|
+
)
|
|
79
|
+
|
|
80
|
+
/// The animation plays from the given `fromFrame` to the given `toFrame`.
|
|
81
|
+
/// - Parameter fromFrame: The start frame of the animation. If `nil` the animation will start at the current frame.
|
|
82
|
+
/// - Parameter toFrame: The end frame of the animation.
|
|
83
|
+
/// - Parameter loopMode: The loop behavior of the animation.
|
|
84
|
+
case fromFrame(
|
|
85
|
+
_ fromFrame: AnimationFrameTime?,
|
|
86
|
+
toFrame: AnimationFrameTime,
|
|
87
|
+
loopMode: LottieLoopMode
|
|
88
|
+
)
|
|
89
|
+
|
|
90
|
+
/// Plays the animation from a named marker to another marker.
|
|
91
|
+
///
|
|
92
|
+
/// Markers are point in time that are encoded into the Animation data and assigned a name.
|
|
93
|
+
///
|
|
94
|
+
/// NOTE: If markers are not found the play command will exit.
|
|
95
|
+
///
|
|
96
|
+
/// - Parameter fromMarker: The start marker for the animation playback. If `nil` the
|
|
97
|
+
/// animation will start at the current progress.
|
|
98
|
+
/// - Parameter toMarker: The end marker for the animation playback.
|
|
99
|
+
/// - Parameter playEndMarkerFrame: A flag to determine whether or not to play the frame of the end marker. If the
|
|
100
|
+
/// end marker represents the end of the section to play, it should be to true. If the provided end marker
|
|
101
|
+
/// represents the beginning of the next section, it should be false.
|
|
102
|
+
/// - Parameter loopMode: The loop behavior of the animation.
|
|
103
|
+
case fromMarker(
|
|
104
|
+
_ fromMarker: String?,
|
|
105
|
+
toMarker: String,
|
|
106
|
+
playEndMarkerFrame: Bool = true,
|
|
107
|
+
loopMode: LottieLoopMode
|
|
108
|
+
)
|
|
109
|
+
|
|
110
|
+
/// Plays the animation from a named marker to the end of the marker's duration.
|
|
111
|
+
///
|
|
112
|
+
/// A marker is a point in time with an associated duration that is encoded into the
|
|
113
|
+
/// animation data and assigned a name.
|
|
114
|
+
///
|
|
115
|
+
/// NOTE: If marker is not found the play command will exit.
|
|
116
|
+
///
|
|
117
|
+
/// - Parameter marker: The start marker for the animation playback.
|
|
118
|
+
/// - Parameter loopMode: The loop behavior of the animation.
|
|
119
|
+
case marker(
|
|
120
|
+
_ marker: String,
|
|
121
|
+
loopMode: LottieLoopMode
|
|
122
|
+
)
|
|
123
|
+
|
|
124
|
+
/// Plays the given markers sequentially in order.
|
|
125
|
+
///
|
|
126
|
+
/// A marker is a point in time with an associated duration that is encoded into the
|
|
127
|
+
/// animation data and assigned a name. Multiple markers can be played sequentially
|
|
128
|
+
/// to create programmable animations.
|
|
129
|
+
///
|
|
130
|
+
/// If a marker is not found, it will be skipped.
|
|
131
|
+
///
|
|
132
|
+
/// If a marker doesn't have a duration value, it will play with a duration of 0
|
|
133
|
+
/// (effectively being skipped).
|
|
134
|
+
///
|
|
135
|
+
/// If another animation is played (by calling any `play` method) while this
|
|
136
|
+
/// marker sequence is playing, the marker sequence will be cancelled.
|
|
137
|
+
///
|
|
138
|
+
/// - Parameter markers: The list of markers to play sequentially.
|
|
139
|
+
case markers(_ markers: [String])
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
extension LottiePlaybackMode {
|
|
145
|
+
public static var paused: Self {
|
|
146
|
+
.paused(at: .currentFrame)
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
@available(*, deprecated, renamed: "LottiePlaybackMode.playing(_:)", message: "Will be removed in a future major release.")
|
|
150
|
+
public static func toProgress(_ toProgress: AnimationProgressTime, loopMode: LottieLoopMode) -> LottiePlaybackMode {
|
|
151
|
+
.playing(.fromProgress(nil, toProgress: toProgress, loopMode: loopMode))
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
@available(*, deprecated, renamed: "LottiePlaybackMode.playing(_:)", message: "Will be removed in a future major release.")
|
|
155
|
+
public static func toFrame(_ toFrame: AnimationFrameTime, loopMode: LottieLoopMode) -> LottiePlaybackMode {
|
|
156
|
+
.playing(.fromFrame(nil, toFrame: toFrame, loopMode: loopMode))
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
@available(*, deprecated, renamed: "LottiePlaybackMode.playing(_:)", message: "Will be removed in a future major release.")
|
|
160
|
+
public static func toMarker(
|
|
161
|
+
_ toMarker: String,
|
|
162
|
+
playEndMarkerFrame: Bool = true,
|
|
163
|
+
loopMode: LottieLoopMode
|
|
164
|
+
) -> LottiePlaybackMode {
|
|
165
|
+
.playing(.fromMarker(nil, toMarker: toMarker, playEndMarkerFrame: playEndMarkerFrame, loopMode: loopMode))
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
extension LottiePlaybackMode.PlaybackMode {
|
|
170
|
+
/// Plays the animation from the current progress to a progress value (0-1).
|
|
171
|
+
/// - Parameter toProgress: The end progress of the animation.
|
|
172
|
+
/// - Parameter loopMode: The loop behavior of the animation.
|
|
173
|
+
public static func toProgress(_ toProgress: AnimationProgressTime, loopMode: LottieLoopMode) -> Self {
|
|
174
|
+
.fromProgress(nil, toProgress: toProgress, loopMode: loopMode)
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
/// Plays the animation from the current frame to the given frame.
|
|
178
|
+
/// - Parameter toFrame: The end frame of the animation.
|
|
179
|
+
/// - Parameter loopMode: The loop behavior of the animation.
|
|
180
|
+
public static func toFrame(_ toFrame: AnimationFrameTime, loopMode: LottieLoopMode) -> Self {
|
|
181
|
+
.fromFrame(nil, toFrame: toFrame, loopMode: loopMode)
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
/// Plays the animation from the current frame to some marker.
|
|
185
|
+
///
|
|
186
|
+
/// Markers are point in time that are encoded into the Animation data and assigned a name.
|
|
187
|
+
///
|
|
188
|
+
/// NOTE: If the marker isn't found the play command will exit.
|
|
189
|
+
///
|
|
190
|
+
/// - Parameter toMarker: The end marker for the animation playback.
|
|
191
|
+
/// - Parameter playEndMarkerFrame: A flag to determine whether or not to play the frame of the end marker. If the
|
|
192
|
+
/// end marker represents the end of the section to play, it should be to true. If the provided end marker
|
|
193
|
+
/// represents the beginning of the next section, it should be false.
|
|
194
|
+
/// - Parameter loopMode: The loop behavior of the animation.
|
|
195
|
+
public static func toMarker(
|
|
196
|
+
_ toMarker: String,
|
|
197
|
+
playEndMarkerFrame: Bool = true,
|
|
198
|
+
loopMode: LottieLoopMode
|
|
199
|
+
) -> Self {
|
|
200
|
+
.fromMarker(nil, toMarker: toMarker, playEndMarkerFrame: playEndMarkerFrame, loopMode: loopMode)
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
// MARK: - LottieMarkerPosition
|
|
205
|
+
|
|
206
|
+
/// The position within a marker.
|
|
207
|
+
public enum LottieMarkerPosition: Hashable {
|
|
208
|
+
case start
|
|
209
|
+
case end
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
extension LottiePlaybackMode {
|
|
213
|
+
/// Returns a copy of this `PlaybackMode` with the `LottieLoopMode` updated to the given value
|
|
214
|
+
func loopMode(_ updatedLoopMode: LottieLoopMode) -> LottiePlaybackMode {
|
|
215
|
+
switch self {
|
|
216
|
+
case .playing(let playbackMode):
|
|
217
|
+
.playing(playbackMode.loopMode(updatedLoopMode))
|
|
218
|
+
|
|
219
|
+
case .fromProgress(let fromProgress, toProgress: let toProgress, _):
|
|
220
|
+
.playing(.fromProgress(
|
|
221
|
+
fromProgress,
|
|
222
|
+
toProgress: toProgress,
|
|
223
|
+
loopMode: updatedLoopMode
|
|
224
|
+
))
|
|
225
|
+
|
|
226
|
+
case .fromFrame(let fromFrame, toFrame: let toFrame, _):
|
|
227
|
+
.playing(.fromFrame(
|
|
228
|
+
fromFrame,
|
|
229
|
+
toFrame: toFrame,
|
|
230
|
+
loopMode: updatedLoopMode
|
|
231
|
+
))
|
|
232
|
+
|
|
233
|
+
case .fromMarker(let fromMarker, let toMarker, let playEndMarkerFrame, _):
|
|
234
|
+
.playing(.fromMarker(
|
|
235
|
+
fromMarker,
|
|
236
|
+
toMarker: toMarker,
|
|
237
|
+
playEndMarkerFrame: playEndMarkerFrame,
|
|
238
|
+
loopMode: updatedLoopMode
|
|
239
|
+
))
|
|
240
|
+
|
|
241
|
+
case .marker(let marker, _):
|
|
242
|
+
.playing(.marker(marker, loopMode: updatedLoopMode))
|
|
243
|
+
|
|
244
|
+
case .pause, .paused, .progress(_), .time(_), .frame(_), .markers:
|
|
245
|
+
self
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
extension LottiePlaybackMode.PlaybackMode {
|
|
251
|
+
/// Returns a copy of this `PlaybackMode` with the `LottieLoopMode` updated to the given value
|
|
252
|
+
func loopMode(_ updatedLoopMode: LottieLoopMode) -> LottiePlaybackMode.PlaybackMode {
|
|
253
|
+
switch self {
|
|
254
|
+
case .fromProgress(let fromProgress, let toProgress, _):
|
|
255
|
+
.fromProgress(fromProgress, toProgress: toProgress, loopMode: updatedLoopMode)
|
|
256
|
+
case .fromFrame(let fromFrame, let toFrame, _):
|
|
257
|
+
.fromFrame(fromFrame, toFrame: toFrame, loopMode: updatedLoopMode)
|
|
258
|
+
case .fromMarker(let fromMarker, let toMarker, let playEndMarkerFrame, _):
|
|
259
|
+
.fromMarker(fromMarker, toMarker: toMarker, playEndMarkerFrame: playEndMarkerFrame, loopMode: updatedLoopMode)
|
|
260
|
+
case .marker(let marker, _):
|
|
261
|
+
.marker(marker, loopMode: updatedLoopMode)
|
|
262
|
+
case .markers:
|
|
263
|
+
self
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
}
|