<doc>
    <assembly>
        <name>SkiaSharp.Skottie</name>
    </assembly>
    <members>
        <member name="T:SkiaSharp.Skottie.Animation">
            <summary>Represents a Lottie animation that can be loaded, positioned, and rendered to a canvas.</summary>
            <remarks>
                <para>Skottie is a Lottie animation player built on top of the Skia graphics library. Lottie is an animation file format that allows designers to create animations in tools like Adobe After Effects and export them as JSON files for use in applications.</para>
                <para>Use the <see cref="M:SkiaSharp.Skottie.Animation.Create(System.String)" /> or <see cref="M:SkiaSharp.Skottie.Animation.Parse(System.String)" /> factory methods to load an animation, then use <see cref="M:SkiaSharp.Skottie.Animation.Seek(System.Double,SkiaSharp.SceneGraph.InvalidationController)" /> or <see cref="M:SkiaSharp.Skottie.Animation.SeekFrame(System.Double,SkiaSharp.SceneGraph.InvalidationController)" /> to set the animation state, and finally call <see cref="M:SkiaSharp.Skottie.Animation.Render(SkiaSharp.SKCanvas,SkiaSharp.SKRect)" /> to draw the current frame.</para>
                <para>For more control over the animation loading process, use <see cref="M:SkiaSharp.Skottie.Animation.CreateBuilder(SkiaSharp.Skottie.AnimationBuilderFlags)" /> to obtain an <see cref="T:SkiaSharp.Skottie.AnimationBuilder" />.</para>
            </remarks>
        </member>
        <member name="M:SkiaSharp.Skottie.Animation.Create(SkiaSharp.SKData)">
            <param name="data">The Lottie animation data in JSON format.</param>
            <summary>Creates an animation from Lottie JSON data.</summary>
            <returns>A new <see cref="T:SkiaSharp.Skottie.Animation" /> instance, or <see langword="null" /> if the data could not be parsed.</returns>
            <remarks>Use the Builder helper for more options and control over the loading process.</remarks>
        </member>
        <member name="M:SkiaSharp.Skottie.Animation.Create(SkiaSharp.SKStream)">
            <param name="stream">A Skia stream containing Lottie animation JSON data.</param>
            <summary>Creates an animation from a Skia stream containing Lottie JSON data.</summary>
            <returns>A new <see cref="T:SkiaSharp.Skottie.Animation" /> instance, or <see langword="null" /> if the stream could not be parsed.</returns>
            <remarks>Use the Builder helper for more options and control over the loading process.</remarks>
        </member>
        <member name="M:SkiaSharp.Skottie.Animation.Create(System.IO.Stream)">
            <param name="stream">A .NET stream containing Lottie animation JSON data.</param>
            <summary>Creates an animation from a .NET stream containing Lottie JSON data.</summary>
            <returns>A new <see cref="T:SkiaSharp.Skottie.Animation" /> instance, or <see langword="null" /> if the stream could not be parsed.</returns>
            <remarks>Use the Builder helper for more options and control over the loading process.</remarks>
        </member>
        <member name="M:SkiaSharp.Skottie.Animation.Create(System.String)">
            <param name="path">The path to a Lottie animation JSON file.</param>
            <summary>Creates an animation from a Lottie JSON file.</summary>
            <returns>A new <see cref="T:SkiaSharp.Skottie.Animation" /> instance, or <see langword="null" /> if the file could not be loaded or parsed.</returns>
            <remarks>Use the Builder helper for more options and control over the loading process.</remarks>
        </member>
        <member name="M:SkiaSharp.Skottie.Animation.CreateBuilder(SkiaSharp.Skottie.AnimationBuilderFlags)">
            <param name="flags">Builder flags to control the loading process.</param>
            <summary>Creates a new animation builder with the specified flags.</summary>
            <returns>A new <see cref="T:SkiaSharp.Skottie.AnimationBuilder" /> instance.</returns>
            <remarks>Use the builder for more options and control over the loading process, such as setting a custom font manager or resource provider.</remarks>
        </member>
        <member name="M:SkiaSharp.Skottie.Animation.DisposeNative">
            <summary>Disposes of the native resources associated with this animation.</summary>
            <remarks>Called when the animation is disposed.</remarks>
        </member>
        <member name="P:SkiaSharp.Skottie.Animation.Duration">
            <summary>Gets the animation duration.</summary>
            <value>The total duration of the animation.</value>
            <remarks />
        </member>
        <member name="P:SkiaSharp.Skottie.Animation.Fps">
            <summary>Gets the animation frame rate.</summary>
            <value>The animation frame rate in frames per second (FPS).</value>
            <remarks />
        </member>
        <member name="P:SkiaSharp.Skottie.Animation.InPoint">
            <summary>Gets the animation "in" point.</summary>
            <value>The animation "in" point (time in frames).</value>
            <remarks>This is the frame number where the animation playback should start. Seek values are clamped to the [<see cref="P:SkiaSharp.Skottie.Animation.InPoint" />, <see cref="P:SkiaSharp.Skottie.Animation.OutPoint" />] range.</remarks>
        </member>
        <member name="P:SkiaSharp.Skottie.Animation.OutPoint">
            <summary>Gets the animation "out" point.</summary>
            <value>The animation "out" point (time in frames).</value>
            <remarks>This is the frame number where the animation playback should end. Seek values are clamped to the [<see cref="P:SkiaSharp.Skottie.Animation.InPoint" />, <see cref="P:SkiaSharp.Skottie.Animation.OutPoint" />] range.</remarks>
        </member>
        <member name="M:SkiaSharp.Skottie.Animation.Parse(System.String)">
            <param name="json">A string containing the Lottie animation JSON.</param>
            <summary>Parses an animation from a Lottie JSON string.</summary>
            <returns>A new <see cref="T:SkiaSharp.Skottie.Animation" /> instance, or <see langword="null" /> if the JSON could not be parsed.</returns>
            <remarks>Use the Builder helper for more options and control over the loading process.</remarks>
        </member>
        <member name="M:SkiaSharp.Skottie.Animation.Render(SkiaSharp.SKCanvas,SkiaSharp.SKRect)">
            <param name="canvas">The canvas to render onto.</param>
            <param name="dst">The destination rectangle.</param>
            <summary>Renders the current animation frame to a canvas.</summary>
            <remarks>The current frame is determined by the most recent <see cref="M:SkiaSharp.Skottie.Animation.Seek(System.Double,SkiaSharp.SceneGraph.InvalidationController)" /> or <see cref="M:SkiaSharp.Skottie.Animation.SeekFrame(System.Double,SkiaSharp.SceneGraph.InvalidationController)" /> call. The animation is scaled to fit the destination rectangle while preserving the aspect ratio.</remarks>
        </member>
        <member name="M:SkiaSharp.Skottie.Animation.Render(SkiaSharp.SKCanvas,SkiaSharp.SKRect,SkiaSharp.Skottie.AnimationRenderFlags)">
            <param name="canvas">The canvas to render onto.</param>
            <param name="dst">The destination rectangle.</param>
            <param name="flags">Render flags that control the rendering behavior.</param>
            <summary>Renders the current animation frame to a canvas with the specified render flags.</summary>
            <remarks>The current frame is determined by the most recent <see cref="M:SkiaSharp.Skottie.Animation.Seek(System.Double,SkiaSharp.SceneGraph.InvalidationController)" /> or <see cref="M:SkiaSharp.Skottie.Animation.SeekFrame(System.Double,SkiaSharp.SceneGraph.InvalidationController)" /> call. The animation is scaled to fit the destination rectangle while preserving the aspect ratio.</remarks>
        </member>
        <member name="M:SkiaSharp.Skottie.Animation.Seek(System.Double,SkiaSharp.SceneGraph.InvalidationController)">
            <param name="percent">The normalized position in the animation, where 0.0 is the start and 1.0 is the end.</param>
            <param name="ic">An optional invalidation controller that tracks the regions requiring repaint.</param>
            <summary>Sets the animation state at a normalized position.</summary>
            <remarks>Values are clamped to the [0, 1] interval. When a seek triggers an invalidation, any dirty regions are reported to the optional invalidation controller.</remarks>
        </member>
        <member name="M:SkiaSharp.Skottie.Animation.SeekFrame(System.Double,SkiaSharp.SceneGraph.InvalidationController)">
            <param name="frame">The frame number to seek to.</param>
            <param name="ic">An optional invalidation controller that tracks the regions requiring repaint.</param>
            <summary>Sets the animation state at a specific frame number.</summary>
            <remarks>The frame number is clamped to the [<see cref="P:SkiaSharp.Skottie.Animation.InPoint" />, <see cref="P:SkiaSharp.Skottie.Animation.OutPoint" />] interval. When a seek triggers an invalidation, any dirty regions are reported to the optional invalidation controller.</remarks>
        </member>
        <member name="M:SkiaSharp.Skottie.Animation.SeekFrameTime(System.Double,SkiaSharp.SceneGraph.InvalidationController)">
            <param name="seconds">The time in seconds to seek to.</param>
            <param name="ic">An optional invalidation controller that tracks the regions requiring repaint.</param>
            <summary>Sets the animation state at a specific time position in seconds.</summary>
            <remarks>Values are clamped to the animation duration. When a seek triggers an invalidation, any dirty regions are reported to the optional invalidation controller.</remarks>
        </member>
        <member name="M:SkiaSharp.Skottie.Animation.SeekFrameTime(System.TimeSpan,SkiaSharp.SceneGraph.InvalidationController)">
            <param name="time">The time to seek to.</param>
            <param name="ic">An optional invalidation controller that tracks the regions requiring repaint.</param>
            <summary>Sets the animation state at a specific time position.</summary>
            <remarks>Values are clamped to the animation duration. When a seek triggers an invalidation, any dirty regions are reported to the optional invalidation controller.</remarks>
        </member>
        <member name="P:SkiaSharp.Skottie.Animation.Size">
            <summary>Gets the animation size.</summary>
            <value>The intrinsic size of the animation.</value>
            <remarks />
        </member>
        <member name="M:SkiaSharp.Skottie.Animation.TryCreate(SkiaSharp.SKData,SkiaSharp.Skottie.Animation@)">
            <param name="data">The Lottie animation data in JSON format.</param>
            <param name="animation">When this method returns, contains the animation, or <see langword="null" /> if the creation failed.</param>
            <summary>Attempts to create an animation from Lottie JSON data.</summary>
            <returns>
                <see langword="true" /> if the animation was created successfully; otherwise, <see langword="false" />.</returns>
            <remarks>Use the Builder helper for more options and control over the loading process.</remarks>
        </member>
        <member name="M:SkiaSharp.Skottie.Animation.TryCreate(SkiaSharp.SKStream,SkiaSharp.Skottie.Animation@)">
            <param name="stream">A Skia stream containing Lottie animation JSON data.</param>
            <param name="animation">When this method returns, contains the animation, or <see langword="null" /> if the creation failed.</param>
            <summary>Attempts to create an animation from a Skia stream containing Lottie JSON data.</summary>
            <returns>
                <see langword="true" /> if the animation was created successfully; otherwise, <see langword="false" />.</returns>
            <remarks>Use the Builder helper for more options and control over the loading process.</remarks>
        </member>
        <member name="M:SkiaSharp.Skottie.Animation.TryCreate(System.IO.Stream,SkiaSharp.Skottie.Animation@)">
            <param name="stream">A .NET stream containing Lottie animation JSON data.</param>
            <param name="animation">When this method returns, contains the animation, or <see langword="null" /> if the creation failed.</param>
            <summary>Attempts to create an animation from a .NET stream containing Lottie JSON data.</summary>
            <returns>
                <see langword="true" /> if the animation was created successfully; otherwise, <see langword="false" />.</returns>
            <remarks>Use the Builder helper for more options and control over the loading process.</remarks>
        </member>
        <member name="M:SkiaSharp.Skottie.Animation.TryCreate(System.String,SkiaSharp.Skottie.Animation@)">
            <param name="path">The path to a Lottie animation JSON file.</param>
            <param name="animation">When this method returns, contains the animation, or <see langword="null" /> if the creation failed.</param>
            <summary>Attempts to create an animation from a Lottie JSON file.</summary>
            <returns>
                <see langword="true" /> if the animation was created successfully; otherwise, <see langword="false" />.</returns>
            <remarks>Use the Builder helper for more options and control over the loading process.</remarks>
        </member>
        <member name="M:SkiaSharp.Skottie.Animation.TryParse(System.String,SkiaSharp.Skottie.Animation@)">
            <param name="json">A string containing the Lottie animation JSON.</param>
            <param name="animation">When this method returns, contains the animation, or <see langword="null" /> if the parsing failed.</param>
            <summary>Attempts to parse an animation from a Lottie JSON string.</summary>
            <returns>
                <see langword="true" /> if the animation was parsed successfully; otherwise, <see langword="false" />.</returns>
            <remarks>Use the Builder helper for more options and control over the loading process.</remarks>
        </member>
        <member name="P:SkiaSharp.Skottie.Animation.Version">
            <summary>Gets the animation Lottie bodymovin version.</summary>
            <value>The version string from the Lottie JSON file.</value>
            <remarks />
        </member>
        <member name="T:SkiaSharp.Skottie.AnimationBuilder">
            <summary>Provides a builder pattern for creating animations with custom configuration.</summary>
            <remarks>
                <para>Use the builder to configure custom font managers and resource providers before loading an animation.</para>
                <para>Create a builder using <see cref="M:SkiaSharp.Skottie.Animation.CreateBuilder(SkiaSharp.Skottie.AnimationBuilderFlags)" />.</para>
            </remarks>
        </member>
        <member name="M:SkiaSharp.Skottie.AnimationBuilder.Build(SkiaSharp.SKData)">
            <param name="data">The Lottie animation data in JSON format.</param>
            <summary>Builds an animation from Lottie JSON data.</summary>
            <returns>A new <see cref="T:SkiaSharp.Skottie.Animation" /> instance, or <see langword="null" /> if the data could not be parsed.</returns>
            <remarks />
        </member>
        <member name="M:SkiaSharp.Skottie.AnimationBuilder.Build(SkiaSharp.SKStream)">
            <param name="stream">A Skia stream containing Lottie animation JSON data.</param>
            <summary>Builds an animation from a Skia stream containing Lottie JSON data.</summary>
            <returns>A new <see cref="T:SkiaSharp.Skottie.Animation" /> instance, or <see langword="null" /> if the stream could not be parsed.</returns>
            <remarks />
        </member>
        <member name="M:SkiaSharp.Skottie.AnimationBuilder.Build(System.IO.Stream)">
            <param name="stream">A .NET stream containing Lottie animation JSON data.</param>
            <summary>Builds an animation from a .NET stream containing Lottie JSON data.</summary>
            <returns>A new <see cref="T:SkiaSharp.Skottie.Animation" /> instance, or <see langword="null" /> if the stream could not be parsed.</returns>
            <remarks />
        </member>
        <member name="M:SkiaSharp.Skottie.AnimationBuilder.Build(System.String)">
            <param name="path">The path to a Lottie animation JSON file.</param>
            <summary>Builds an animation from a Lottie JSON file.</summary>
            <returns>A new <see cref="T:SkiaSharp.Skottie.Animation" /> instance, or <see langword="null" /> if the file could not be loaded or parsed.</returns>
            <remarks />
        </member>
        <member name="M:SkiaSharp.Skottie.AnimationBuilder.DisposeNative">
            <summary>Disposes of the native resources associated with this builder.</summary>
            <remarks>Called when the builder is disposed.</remarks>
        </member>
        <member name="M:SkiaSharp.Skottie.AnimationBuilder.SetFontManager(SkiaSharp.SKFontManager)">
            <param name="fontManager">The font manager to use for text rendering.</param>
            <summary>Sets the font manager used for text rendering in the animation.</summary>
            <returns>This builder instance for method chaining.</returns>
            <remarks>Use this method to provide custom fonts for animations that contain text layers.</remarks>
        </member>
        <member name="M:SkiaSharp.Skottie.AnimationBuilder.SetResourceProvider(SkiaSharp.Resources.ResourceProvider)">
            <param name="resourceProvider">The resource provider to use for loading external assets.</param>
            <summary>Sets the resource provider used for loading external assets referenced by the animation.</summary>
            <returns>This builder instance for method chaining.</returns>
            <remarks>Use this method to provide custom resource loading for animations that reference external files such as images.</remarks>
        </member>
        <member name="P:SkiaSharp.Skottie.AnimationBuilder.Stats">
            <summary>Gets the statistics for the most recent animation build operation.</summary>
            <value>Statistics about the animation parsing and loading process.</value>
            <remarks>Check this property after calling <see cref="M:SkiaSharp.Skottie.AnimationBuilder.Build(System.String)" /> to get timing and size information about the build process.</remarks>
        </member>
        <member name="T:SkiaSharp.Skottie.AnimationBuilderFlags">
            <summary>Specifies flags that control animation builder behavior.</summary>
            <remarks />
        </member>
        <member name="F:SkiaSharp.Skottie.AnimationBuilderFlags.DeferImageLoading">
            <summary>Defer image loading in the animation builder. Images will be loaded on demand instead of at build time.</summary>
        </member>
        <member name="F:SkiaSharp.Skottie.AnimationBuilderFlags.None">
            <summary>No flags. Use default behavior.</summary>
        </member>
        <member name="F:SkiaSharp.Skottie.AnimationBuilderFlags.PreferEmbeddedFonts">
            <summary>Prefer fonts embedded in the Lottie JSON file over externally loaded fonts.</summary>
        </member>
        <member name="T:SkiaSharp.Skottie.AnimationBuilderStats">
            <summary>Contains statistics about the animation build process.</summary>
            <remarks>These statistics are available from <see cref="P:SkiaSharp.Skottie.AnimationBuilder.Stats" /> after calling one of the build methods.</remarks>
        </member>
        <member name="P:SkiaSharp.Skottie.AnimationBuilderStats.AnimatorCount">
            <summary>Gets the total number of animators in the animation scene graph.</summary>
            <value>The number of animators created during the build process.</value>
            <remarks />
        </member>
        <member name="M:SkiaSharp.Skottie.AnimationBuilderStats.Equals(SkiaSharp.Skottie.AnimationBuilderStats)">
            <param name="obj">The object to compare with the current instance.</param>
            <summary>Determines whether the specified <see cref="T:SkiaSharp.Skottie.AnimationBuilderStats" /> is equal to the current instance.</summary>
            <returns>
                <see langword="true" /> if the specified object is equal to the current instance; otherwise, <see langword="false" />.</returns>
            <remarks />
        </member>
        <member name="M:SkiaSharp.Skottie.AnimationBuilderStats.Equals(System.Object)">
            <param name="obj">The object to compare with the current instance.</param>
            <summary>Determines whether the specified object is equal to the current instance.</summary>
            <returns>
                <see langword="true" /> if the specified object is equal to the current instance; otherwise, <see langword="false" />.</returns>
            <remarks />
        </member>
        <member name="M:SkiaSharp.Skottie.AnimationBuilderStats.GetHashCode">
            <summary>Returns a hash code for this instance.</summary>
            <returns>A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.</returns>
            <remarks />
        </member>
        <member name="P:SkiaSharp.Skottie.AnimationBuilderStats.JsonParseTime">
            <summary>Gets the time spent parsing the JSON data.</summary>
            <value>The duration of the JSON parsing phase.</value>
            <remarks />
        </member>
        <member name="P:SkiaSharp.Skottie.AnimationBuilderStats.JsonSize">
            <summary>Gets the size of the JSON data in bytes.</summary>
            <value>The size of the Lottie JSON data in bytes.</value>
            <remarks />
        </member>
        <member name="M:SkiaSharp.Skottie.AnimationBuilderStats.op_Equality(SkiaSharp.Skottie.AnimationBuilderStats,SkiaSharp.Skottie.AnimationBuilderStats)">
            <param name="left">The first value to compare.</param>
            <param name="right">The second value to compare.</param>
            <summary>Determines whether two specified <see cref="T:SkiaSharp.Skottie.AnimationBuilderStats" /> values are equal.</summary>
            <returns>
                <see langword="true" /> if the values are equal; otherwise, <see langword="false" />.</returns>
            <remarks />
        </member>
        <member name="M:SkiaSharp.Skottie.AnimationBuilderStats.op_Inequality(SkiaSharp.Skottie.AnimationBuilderStats,SkiaSharp.Skottie.AnimationBuilderStats)">
            <param name="left">The first value to compare.</param>
            <param name="right">The second value to compare.</param>
            <summary>Determines whether two specified <see cref="T:SkiaSharp.Skottie.AnimationBuilderStats" /> values are not equal.</summary>
            <returns>
                <see langword="true" /> if the values are not equal; otherwise, <see langword="false" />.</returns>
            <remarks />
        </member>
        <member name="P:SkiaSharp.Skottie.AnimationBuilderStats.SceneParseTime">
            <summary>Gets the time spent parsing the scene graph.</summary>
            <value>The duration of the scene graph construction phase.</value>
            <remarks />
        </member>
        <member name="P:SkiaSharp.Skottie.AnimationBuilderStats.TotalLoadTime">
            <summary>Gets the total time spent loading the animation.</summary>
            <value>The total duration of the animation loading process, including JSON parsing and scene graph construction.</value>
            <remarks />
        </member>
        <member name="T:SkiaSharp.Skottie.AnimationRenderFlags">
            <summary>Specifies flags that control animation rendering behavior.</summary>
            <remarks />
        </member>
        <member name="F:SkiaSharp.Skottie.AnimationRenderFlags.DisableTopLevelClipping">
            <summary>Disable the implicit top-level clipping to the animation bounds.</summary>
        </member>
        <member name="F:SkiaSharp.Skottie.AnimationRenderFlags.SkipTopLevelIsolation">
            <summary>When rendering into a transparent canvas, skip the implicit layer isolation. This can be used to improve performance when it is known that no animation blend modes or layer effects require isolation.</summary>
        </member>
    </members>
</doc>
