Skip to content

Commit

Permalink
Update .NET to 8.0 (#2927)
Browse files Browse the repository at this point in the history
* Update the Dockerfiles
* Use newer Xcode
* Update Blazor WASM Sample
* Update Uno Samples
  • Loading branch information
mattleibow authored Jul 25, 2024
1 parent 8f901fd commit 171e086
Show file tree
Hide file tree
Showing 285 changed files with 3,023 additions and 4,180 deletions.
23 changes: 17 additions & 6 deletions .config/dotnet-tools.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,28 +3,39 @@
"isRoot": true,
"tools": {
"cake.tool": {
"version": "2.3.0",
"version": "4.0.0",
"commands": [
"dotnet-cake"
]
],
"rollForward": false
},
"nano-api-scan": {
"version": "1.0.1",
"commands": [
"nano-api-scan"
]
],
"rollForward": false
},
"dotnet-reportgenerator-globaltool": {
"version": "5.1.19",
"commands": [
"reportgenerator"
]
],
"rollForward": false
},
"microsoft.dotnet.xharness.cli": {
"version": "8.0.0-prerelease.23407.2",
"version": "9.0.0-prerelease.24317.3",
"commands": [
"xharness"
]
],
"rollForward": false
},
"api-tools": {
"version": "1.4.0",
"commands": [
"api-tools"
],
"rollForward": false
}
}
}
1 change: 1 addition & 0 deletions benchmarks/SkiaSharp.Benchmarks/Benchmarks/TheBenchmark.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ namespace SkiaSharp.Benchmarks;
[MemoryDiagnoser]
[SimpleJob(RuntimeMoniker.Net472)]
[SimpleJob(RuntimeMoniker.Net70)]
[SimpleJob(RuntimeMoniker.Net80)]
public class TheBenchmark
{
[GlobalSetup]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net7.0</TargetFramework>
<TargetFramework>$(TFMCurrent)</TargetFramework>
<RootNamespace>SkiaSharp.Benchmarks</RootNamespace>
<AssemblyName>SkiaSharp.Benchmarks</AssemblyName>
<SkipGenerateAssemblyVersionInfo>true</SkipGenerateAssemblyVersionInfo>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
<NativeFileReference Include="$(HarfBuzzSharpStaticLibraryPath)\2.0.23\*.a" Condition="$([MSBuild]::VersionEquals($(TargetFrameworkVersion), '6.0'))" />
<NativeFileReference Include="$(HarfBuzzSharpStaticLibraryPath)\3.1.12\st\*.a" Condition="$([MSBuild]::VersionEquals($(TargetFrameworkVersion), '7.0'))" />
<NativeFileReference Include="$(HarfBuzzSharpStaticLibraryPath)\3.1.34\st\*.a" Condition="$([MSBuild]::VersionEquals($(TargetFrameworkVersion), '8.0'))" />
<NativeFileReference Include="$(HarfBuzzSharpStaticLibraryPath)\3.1.34\st\*.a" Condition="$([MSBuild]::VersionGreaterThan($(TargetFrameworkVersion), '8.0'))" />
</ItemGroup>

</Project>
3 changes: 2 additions & 1 deletion binding/IncludeNativeAssets.HarfBuzzSharp.targets
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<!-- This file is exactly the same as IncludeNativeAssets.SkiaSharp.targets, but with a find-replace 'SkiaSharp' to 'HarfBuzzSharp' -->

<ItemGroup Condition="!$(TargetFramework.Contains('-'))">
<ItemGroup Condition="!$(TargetFramework.Contains('-')) or $(TargetFramework.Contains('-desktop'))">
<Content Include="$(MSBuildThisFileDirectory)..\output\native\windows\x64\libHarfBuzzSharp.*" Condition="'$(Platform)' == '' or '$(Platform)' == 'AnyCPU' or '$(Platform)' == 'Any CPU'" Visible="False" CopyToOutputDirectory="PreserveNewest" />
<Content Include="$(MSBuildThisFileDirectory)..\output\native\windows\$(Platform)\libHarfBuzzSharp.*" Condition="'$(Platform)' != '' and '$(Platform)' != 'AnyCPU' and '$(Platform)' != 'Any CPU'" Visible="False" CopyToOutputDirectory="PreserveNewest" />
<Content Include="$(MSBuildThisFileDirectory)..\output\native\osx\libHarfBuzzSharp.*" Visible="False" CopyToOutputDirectory="PreserveNewest" />
Expand Down Expand Up @@ -69,6 +69,7 @@
<NativeFileReference Include="$(MSBuildThisFileDirectory)..\output\native\wasm\libHarfBuzzSharp.a\2.0.23\*.a" Condition="$([MSBuild]::VersionEquals($(TargetFrameworkVersion), '6.0'))" />
<NativeFileReference Include="$(MSBuildThisFileDirectory)..\output\native\wasm\libHarfBuzzSharp.a\3.1.12\st\*.a" Condition="$([MSBuild]::VersionEquals($(TargetFrameworkVersion), '7.0'))" />
<NativeFileReference Include="$(MSBuildThisFileDirectory)..\output\native\wasm\libHarfBuzzSharp.a\3.1.34\st\*.a" Condition="$([MSBuild]::VersionEquals($(TargetFrameworkVersion), '8.0'))" />
<NativeFileReference Include="$(MSBuildThisFileDirectory)..\output\native\wasm\libHarfBuzzSharp.a\3.1.34\st\*.a" Condition="$([MSBuild]::VersionGreaterThan($(TargetFrameworkVersion), '8.0'))" />
</ItemGroup>

</Project>
2 changes: 1 addition & 1 deletion binding/IncludeNativeAssets.SkiaSharp.WinUI.targets
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

<ItemGroup>
<ItemGroup Condition="'$(IsUnoHead)' != 'True'">
<Content Include="$(MSBuildThisFileDirectory)..\output\native\winui\any\*.dll" Visible="False" />
</ItemGroup>

Expand Down
5 changes: 3 additions & 2 deletions binding/IncludeNativeAssets.SkiaSharp.targets
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<!-- This file is exactly the same as IncludeNativeAssets.HarfBuzzSharp.targets, but with a find-replace 'HarfBuzzSharp' to 'SkiaSharp' -->

<ItemGroup Condition="!$(TargetFramework.Contains('-'))">
<ItemGroup Condition="!$(TargetFramework.Contains('-')) or $(TargetFramework.Contains('-desktop'))">
<Content Include="$(MSBuildThisFileDirectory)..\output\native\windows\x64\libSkiaSharp.*" Condition="'$(Platform)' == '' or '$(Platform)' == 'AnyCPU' or '$(Platform)' == 'Any CPU'" Visible="False" CopyToOutputDirectory="PreserveNewest" />
<Content Include="$(MSBuildThisFileDirectory)..\output\native\windows\$(Platform)\libSkiaSharp.*" Condition="'$(Platform)' != '' and '$(Platform)' != 'AnyCPU' and '$(Platform)' != 'Any CPU'" Visible="False" CopyToOutputDirectory="PreserveNewest" />
<Content Include="$(MSBuildThisFileDirectory)..\output\native\osx\libSkiaSharp.*" Visible="False" CopyToOutputDirectory="PreserveNewest" />
Expand Down Expand Up @@ -62,7 +62,7 @@
<Content Include="$(MSBuildThisFileDirectory)..\output\native\wasm\libSkiaSharp.a\**\*.a" Visible="false" />
</ItemGroup>
<ItemGroup Condition="'$(IsUnoHead)' == 'True' and '$(UnoRuntimeIdentifier)' == 'WebAssembly'">
<WasmShellEmccExportedRuntimeMethod Include="GL" />
<WasmShellExtraEmccFlags Include="-s USE_WEBGL2=1"/>
<WasmShellExtraEmccFlags Condition="'$(WasmShellEnableThreads)'=='True'" Include="-s OFFSCREEN_FRAMEBUFFER=1" />
</ItemGroup>

Expand All @@ -74,6 +74,7 @@
<NativeFileReference Include="$(MSBuildThisFileDirectory)..\output\native\wasm\libSkiaSharp.a\2.0.23\*.a" Condition="$([MSBuild]::VersionEquals($(TargetFrameworkVersion), '6.0'))" />
<NativeFileReference Include="$(MSBuildThisFileDirectory)..\output\native\wasm\libSkiaSharp.a\3.1.12\st\*.a" Condition="$([MSBuild]::VersionEquals($(TargetFrameworkVersion), '7.0'))" />
<NativeFileReference Include="$(MSBuildThisFileDirectory)..\output\native\wasm\libSkiaSharp.a\3.1.34\st\*.a" Condition="$([MSBuild]::VersionEquals($(TargetFrameworkVersion), '8.0'))" />
<NativeFileReference Include="$(MSBuildThisFileDirectory)..\output\native\wasm\libSkiaSharp.a\3.1.34\st\*.a" Condition="$([MSBuild]::VersionGreaterThan($(TargetFrameworkVersion), '8.0'))" />
</ItemGroup>

</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@
<ItemGroup Condition="'$(IsUnoHead)' == 'True' and '$(UnoRuntimeIdentifier)' == 'WebAssembly'">
<!-- Include the GL symbol when running under net7 (https://github.com/dotnet/runtime/issues/76077) -->
<WasmShellEmccExportedRuntimeMethod Include="GL" />
<!-- Include the emscripten_gl* symbols in net8 -->
<WasmShellExtraEmccFlags Include="-s USE_WEBGL2=1"/>
<!-- Enable GLCtx when threading is available -->
<WasmShellExtraEmccFlags Condition="'$(WasmShellEnableThreads)'=='True'" Include="-s OFFSCREEN_FRAMEBUFFER=1" />
</ItemGroup>
Expand All @@ -20,6 +22,7 @@
<NativeFileReference Include="$(SkiaSharpStaticLibraryPath)\2.0.23\*.a" Condition="$([MSBuild]::VersionEquals($(TargetFrameworkVersion), '6.0'))" />
<NativeFileReference Include="$(SkiaSharpStaticLibraryPath)\3.1.12\st\*.a" Condition="$([MSBuild]::VersionEquals($(TargetFrameworkVersion), '7.0'))" />
<NativeFileReference Include="$(SkiaSharpStaticLibraryPath)\3.1.34\st\*.a" Condition="$([MSBuild]::VersionEquals($(TargetFrameworkVersion), '8.0'))" />
<NativeFileReference Include="$(SkiaSharpStaticLibraryPath)\3.1.34\st\*.a" Condition="$([MSBuild]::VersionGreaterThan($(TargetFrameworkVersion), '8.0'))" />
</ItemGroup>

</Project>
14 changes: 14 additions & 0 deletions binding/SkiaSharp/SKCanvas.cs
Original file line number Diff line number Diff line change
Expand Up @@ -450,7 +450,9 @@ public void DrawPoint (float x, float y, SKColor color)

public void DrawImage (SKImage image, SKPoint p, SKPaint paint = null)
{
#pragma warning disable CS0618 // 'SKPaint.FilterQuality' is obsolete: 'Use SKSamplingOptions instead.'
DrawImage (image, p.X, p.Y, paint?.FilterQuality.ToSamplingOptions() ?? SKSamplingOptions.Default, paint);
#pragma warning restore CS0618 // 'SKPaint.FilterQuality' is obsolete: 'Use SKSamplingOptions instead.'
}

public void DrawImage (SKImage image, SKPoint p, SKSamplingOptions sampling, SKPaint paint = null)
Expand All @@ -460,7 +462,9 @@ public void DrawImage (SKImage image, SKPoint p, SKSamplingOptions sampling, SKP

public void DrawImage (SKImage image, float x, float y, SKPaint paint = null)
{
#pragma warning disable CS0618 // 'SKPaint.FilterQuality' is obsolete: 'Use SKSamplingOptions instead.'
DrawImage (image, x, y, paint?.FilterQuality.ToSamplingOptions() ?? SKSamplingOptions.Default, paint);
#pragma warning restore CS0618 // 'SKPaint.FilterQuality' is obsolete: 'Use SKSamplingOptions instead.'
}

public void DrawImage (SKImage image, float x, float y, SKSamplingOptions sampling, SKPaint paint = null)
Expand All @@ -472,7 +476,9 @@ public void DrawImage (SKImage image, float x, float y, SKSamplingOptions sampli

public void DrawImage (SKImage image, SKRect dest, SKPaint paint = null)
{
#pragma warning disable CS0618 // 'SKPaint.FilterQuality' is obsolete: 'Use SKSamplingOptions instead.'
DrawImage (image, null, &dest, paint?.FilterQuality.ToSamplingOptions() ?? SKSamplingOptions.Default, paint);
#pragma warning restore CS0618 // 'SKPaint.FilterQuality' is obsolete: 'Use SKSamplingOptions instead.'
}

public void DrawImage (SKImage image, SKRect dest, SKSamplingOptions sampling, SKPaint paint = null)
Expand All @@ -482,7 +488,9 @@ public void DrawImage (SKImage image, SKRect dest, SKSamplingOptions sampling, S

public void DrawImage (SKImage image, SKRect source, SKRect dest, SKPaint paint = null)
{
#pragma warning disable CS0618 // 'SKPaint.FilterQuality' is obsolete: 'Use SKSamplingOptions instead.'
DrawImage (image, &source, &dest, paint?.FilterQuality.ToSamplingOptions() ?? SKSamplingOptions.Default, paint);
#pragma warning restore CS0618 // 'SKPaint.FilterQuality' is obsolete: 'Use SKSamplingOptions instead.'
}

public void DrawImage (SKImage image, SKRect source, SKRect dest, SKSamplingOptions sampling, SKPaint paint = null)
Expand Down Expand Up @@ -942,19 +950,25 @@ public void DrawRoundRectDifference (SKRoundRect outer, SKRoundRect inner, SKPai
// DrawAtlas

public void DrawAtlas (SKImage atlas, SKRect[] sprites, SKRotationScaleMatrix[] transforms, SKPaint paint = null) =>
#pragma warning disable CS0618 // 'SKPaint.FilterQuality' is obsolete: 'Use SKSamplingOptions instead.'
DrawAtlas (atlas, sprites, transforms, null, SKBlendMode.Dst, paint?.FilterQuality.ToSamplingOptions() ?? SKSamplingOptions.Default, null, paint);
#pragma warning restore CS0618 // 'SKPaint.FilterQuality' is obsolete: 'Use SKSamplingOptions instead.'

public void DrawAtlas (SKImage atlas, SKRect[] sprites, SKRotationScaleMatrix[] transforms, SKSamplingOptions sampling, SKPaint paint = null) =>
DrawAtlas (atlas, sprites, transforms, null, SKBlendMode.Dst, sampling, null, paint);

public void DrawAtlas (SKImage atlas, SKRect[] sprites, SKRotationScaleMatrix[] transforms, SKColor[] colors, SKBlendMode mode, SKPaint paint = null) =>
#pragma warning disable CS0618 // 'SKPaint.FilterQuality' is obsolete: 'Use SKSamplingOptions instead.'
DrawAtlas (atlas, sprites, transforms, colors, mode, paint?.FilterQuality.ToSamplingOptions() ?? SKSamplingOptions.Default, null, paint);
#pragma warning restore CS0618 // 'SKPaint.FilterQuality' is obsolete: 'Use SKSamplingOptions instead.'

public void DrawAtlas (SKImage atlas, SKRect[] sprites, SKRotationScaleMatrix[] transforms, SKColor[] colors, SKBlendMode mode, SKSamplingOptions sampling, SKPaint paint = null) =>
DrawAtlas (atlas, sprites, transforms, colors, mode, sampling, null, paint);

public void DrawAtlas (SKImage atlas, SKRect[] sprites, SKRotationScaleMatrix[] transforms, SKColor[] colors, SKBlendMode mode, SKRect cullRect, SKPaint paint = null) =>
#pragma warning disable CS0618 // 'SKPaint.FilterQuality' is obsolete: 'Use SKSamplingOptions instead.'
DrawAtlas (atlas, sprites, transforms, colors, mode, paint?.FilterQuality.ToSamplingOptions() ?? SKSamplingOptions.Default, &cullRect, paint);
#pragma warning restore CS0618 // 'SKPaint.FilterQuality' is obsolete: 'Use SKSamplingOptions instead.'

public void DrawAtlas (SKImage atlas, SKRect[] sprites, SKRotationScaleMatrix[] transforms, SKColor[] colors, SKBlendMode mode, SKSamplingOptions sampling, SKRect cullRect, SKPaint paint = null) =>
DrawAtlas (atlas, sprites, transforms, colors, mode, sampling, &cullRect, paint);
Expand Down
24 changes: 12 additions & 12 deletions build.cake
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,13 @@
#addin nuget:?package=Cake.XCode&version=5.0.0
#addin nuget:?package=Cake.FileHelpers&version=4.0.1
#addin nuget:?package=Cake.Json&version=6.0.1
#addin nuget:?package=NuGet.Packaging.Core&version=5.11.0
#addin nuget:?package=NuGet.Packaging&version=6.9.1
#addin nuget:?package=SharpCompress&version=0.32.2
#addin nuget:?package=Mono.Cecil&version=0.10.0
#addin nuget:?package=Mono.ApiTools&version=5.14.0.2
#addin nuget:?package=Mono.ApiTools.NuGetDiff&version=1.3.5
#addin nuget:?package=Mono.Cecil&version=0.11.5
#addin nuget:?package=Mono.ApiTools.ApiInfo&version=1.4.1
#addin nuget:?package=Mono.ApiTools.ApiDiff&version=1.4.1
#addin nuget:?package=Mono.ApiTools.ApiDiffFormatted&version=1.4.1
#addin nuget:?package=Mono.ApiTools.NuGetDiff&version=1.4.1

#tool nuget:?package=mdoc&version=5.8.9
#tool nuget:?package=xunit.runner.console&version=2.4.2
Expand Down Expand Up @@ -251,7 +253,7 @@ Task ("tests-netcore")

var failedTests = 0;

var tfm = "net7.0";
var tfm = "net8.0";
var testAssemblies = new List<string> { "SkiaSharp.Tests.Console" };
if (SUPPORT_VULKAN)
testAssemblies.Add ("SkiaSharp.Vulkan.Tests.Console");
Expand Down Expand Up @@ -297,7 +299,7 @@ Task ("tests-android")

FilePath csproj = "./tests/SkiaSharp.Tests.Devices/SkiaSharp.Tests.Devices.csproj";
var configuration = "Release";
var tfm = "net7.0-android";
var tfm = "net8.0-android";
var rid = "android-" + RuntimeInformation.ProcessArchitecture.ToString ().ToLower ();
FilePath app = $"./tests/SkiaSharp.Tests.Devices/bin/{configuration}/{tfm}/{rid}/com.companyname.SkiaSharpTests-Signed.apk";

Expand Down Expand Up @@ -329,7 +331,7 @@ Task ("tests-ios")

FilePath csproj = "./tests/SkiaSharp.Tests.Devices/SkiaSharp.Tests.Devices.csproj";
var configuration = "Debug";
var tfm = "net7.0-ios";
var tfm = "net8.0-ios";
var rid = "iossimulator-" + RuntimeInformation.ProcessArchitecture.ToString ().ToLower ();
FilePath app = $"./tests/SkiaSharp.Tests.Devices/bin/{configuration}/{tfm}/{rid}/SkiaSharp.Tests.Devices.app";

Expand Down Expand Up @@ -361,7 +363,7 @@ Task ("tests-maccatalyst")

FilePath csproj = "./tests/SkiaSharp.Tests.Devices/SkiaSharp.Tests.Devices.csproj";
var configuration = "Debug";
var tfm = "net7.0-maccatalyst";
var tfm = "net8.0-maccatalyst";
var rid = "maccatalyst-" + RuntimeInformation.ProcessArchitecture.ToString ().ToLower ();
FilePath app = $"./tests/SkiaSharp.Tests.Devices/bin/{configuration}/{tfm}/{rid}/SkiaSharp.Tests.Devices.app";

Expand Down Expand Up @@ -395,10 +397,8 @@ Task ("tests-wasm")

IProcess serverProc = null;
try {
serverProc = RunAndReturnProcess (PYTHON_EXE, new ProcessSettings {
Arguments = MakeAbsolute (File ("./tests/SkiaSharp.Tests.Wasm/server.py")).FullPath,
WorkingDirectory = "./tests/SkiaSharp.Tests.Wasm/bin/Release/net7.0/dist",
});
var wasmProj = MakeAbsolute (File ("./tests/SkiaSharp.Tests.Wasm/SkiaSharp.Tests.Wasm.csproj")).FullPath;
serverProc = RunAndReturnProcess ("dotnet", $"run --project {wasmProj} --no-build -c {CONFIGURATION}");
DotNetRun ("./utils/WasmTestRunner/WasmTestRunner.csproj",
$"--output=\"./output/logs/testlogs/SkiaSharp.Tests.Wasm/{DATE_TIME_STR}/\" " +
(string.IsNullOrEmpty (CHROMEWEBDRIVER) ? "" : $"--driver=\"{CHROMEWEBDRIVER}\" ") +
Expand Down
46 changes: 46 additions & 0 deletions changelogs/SkiaSharp.Resources/3.0.0/SkiaSharp.Resources.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# API diff: SkiaSharp.Resources.dll

## SkiaSharp.Resources.dll

> Assembly Version Changed: 3.0.0.0 vs 0.0.0.0
### New Namespace SkiaSharp.Resources

#### New Type: SkiaSharp.Resources.CachingResourceProvider

```csharp
public sealed class CachingResourceProvider : SkiaSharp.Resources.ResourceProvider, SkiaSharp.ISKReferenceCounted, SkiaSharp.ISKSkipObjectRegistration {
// constructors
public CachingResourceProvider (ResourceProvider resourceProvider);
}
```

#### New Type: SkiaSharp.Resources.DataUriResourceProvider

```csharp
public sealed class DataUriResourceProvider : SkiaSharp.Resources.ResourceProvider, SkiaSharp.ISKReferenceCounted, SkiaSharp.ISKSkipObjectRegistration {
// constructors
public DataUriResourceProvider (bool preDecode);
public DataUriResourceProvider (ResourceProvider fallbackProvider, bool preDecode);
}
```

#### New Type: SkiaSharp.Resources.FileResourceProvider

```csharp
public sealed class FileResourceProvider : SkiaSharp.Resources.ResourceProvider, SkiaSharp.ISKReferenceCounted, SkiaSharp.ISKSkipObjectRegistration {
// constructors
public FileResourceProvider (string baseDirectory, bool preDecode);
}
```

#### New Type: SkiaSharp.Resources.ResourceProvider

```csharp
public abstract class ResourceProvider : SkiaSharp.SKObject, SkiaSharp.ISKReferenceCounted, SkiaSharp.ISKSkipObjectRegistration {
// methods
public SkiaSharp.SKData Load (string resourceName);
public SkiaSharp.SKData Load (string resourcePath, string resourceName);
}
```

59 changes: 59 additions & 0 deletions changelogs/SkiaSharp.Skottie/3.0.0/SkiaSharp.Skottie.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,62 @@

> Assembly Version Changed: 3.0.0.0 vs 2.88.0.0
### Namespace SkiaSharp.Skottie

#### Type Changed: SkiaSharp.Skottie.Animation

Added method:

```csharp
public static AnimationBuilder CreateBuilder (AnimationBuilderFlags flags);
```


#### New Type: SkiaSharp.Skottie.AnimationBuilder

```csharp
public sealed class AnimationBuilder : SkiaSharp.SKObject, SkiaSharp.ISKSkipObjectRegistration {
// properties
public AnimationBuilderStats Stats { get; }
// methods
public Animation Build (SkiaSharp.SKData data);
public Animation Build (SkiaSharp.SKStream stream);
public Animation Build (System.IO.Stream stream);
public Animation Build (string path);
protected override void DisposeNative ();
public AnimationBuilder SetFontManager (SkiaSharp.SKFontManager fontManager);
public AnimationBuilder SetResourceProvider (SkiaSharp.Resources.ResourceProvider resourceProvider);
}
```

#### New Type: SkiaSharp.Skottie.AnimationBuilderFlags

```csharp
[Serializable]
public enum AnimationBuilderFlags {
DeferImageLoading = 1,
None = 0,
PreferEmbeddedFonts = 2,
}
```

#### New Type: SkiaSharp.Skottie.AnimationBuilderStats

```csharp
public struct AnimationBuilderStats, System.IEquatable<AnimationBuilderStats> {
// properties
public int AnimatorCount { get; }
public System.TimeSpan JsonParseTime { get; }
public int JsonSize { get; }
public System.TimeSpan SceneParseTime { get; }
public System.TimeSpan TotalLoadTime { get; }
// methods
public virtual bool Equals (AnimationBuilderStats obj);
public override bool Equals (object obj);
public override int GetHashCode ();
public static bool op_Equality (AnimationBuilderStats left, AnimationBuilderStats right);
public static bool op_Inequality (AnimationBuilderStats left, AnimationBuilderStats right);
}
```


Loading

0 comments on commit 171e086

Please sign in to comment.