diff --git a/VERSIONS.txt b/VERSIONS.txt
index 943f869a80..aa7af56286 100644
--- a/VERSIONS.txt
+++ b/VERSIONS.txt
@@ -22,9 +22,9 @@ System.IO.UnmanagedMemoryStream release 4.3.0
System.Drawing.Common release 4.5.1
SharpVk release 0.4.2
Uno.UI release 3.7.6
-Microsoft.ProjectReunion release 0.8.0
-Microsoft.ProjectReunion.Foundation release 0.8.0
-Microsoft.ProjectReunion.WinUI release 0.8.0
+Microsoft.ProjectReunion release 0.8.1
+Microsoft.ProjectReunion.Foundation release 0.8.1
+Microsoft.ProjectReunion.WinUI release 0.8.1
Microsoft.Maui.Graphics release 6.0.100-preview.5.246
Microsoft.Windows.SDK.NET.Ref release 10.0.18362.15
diff --git a/cake/UtilsManaged.cake b/cake/UtilsManaged.cake
index 7093338413..b663b3ad56 100644
--- a/cake/UtilsManaged.cake
+++ b/cake/UtilsManaged.cake
@@ -137,7 +137,7 @@ IEnumerable<(DirectoryPath path, string platform)> GetPlatformDirectories(Direct
// try find any cross-platform frameworks
foreach (var dir in platformDirs) {
var d = dir.GetDirectoryName().ToLower();
- if (d.StartsWith("netstandard") || d.StartsWith("portable")) {
+ if (d.StartsWith("netstandard") || d.StartsWith("portable") || d.Equals("net6.0")) {
// we just want this single platform
yield return (dir, null);
yield break;
@@ -306,6 +306,11 @@ async Task DownloadPackageAsync(string id, DirectoryPath outputDirectory)
Information($"Downloading '{currentId}' version '{currentVersion}'...");
+ if (currentId == "_nativeassets.maccatalyst") {
+ Warning($"Skipping '{currentId}' because we do not yet have this package working...");
+ return;
+ }
+
var root = await comparer.ExtractCachedPackageAsync(currentId, currentVersion);
var toolsDir = $"{root}/tools/";
if (DirectoryExists(toolsDir)) {
diff --git a/nuget/SkiaSharp.Views.Maui.Controls.Compatibility.nuspec b/nuget/SkiaSharp.Views.Maui.Controls.Compatibility.nuspec
index a37892e242..df0701e153 100644
--- a/nuget/SkiaSharp.Views.Maui.Controls.Compatibility.nuspec
+++ b/nuget/SkiaSharp.Views.Maui.Controls.Compatibility.nuspec
@@ -27,6 +27,9 @@ Please visit https://go.microsoft.com/fwlink/?linkid=868517 to view the release
© Microsoft Corporation. All rights reserved.
+
+
+
@@ -45,6 +48,7 @@ Please visit https://go.microsoft.com/fwlink/?linkid=868517 to view the release
+
diff --git a/nuget/SkiaSharp.Views.Maui.Controls.nuspec b/nuget/SkiaSharp.Views.Maui.Controls.nuspec
index 3ccd5e0297..92e181f4c4 100644
--- a/nuget/SkiaSharp.Views.Maui.Controls.nuspec
+++ b/nuget/SkiaSharp.Views.Maui.Controls.nuspec
@@ -27,12 +27,9 @@ Please visit https://go.microsoft.com/fwlink/?linkid=868517 to view the release
© Microsoft Corporation. All rights reserved.
-
@@ -51,8 +48,7 @@ Please visit https://go.microsoft.com/fwlink/?linkid=868517 to view the release
-
-
+
diff --git a/nuget/SkiaSharp.Views.Maui.Core.nuspec b/nuget/SkiaSharp.Views.Maui.Core.nuspec
index b1bc92ce72..4369369b1d 100644
--- a/nuget/SkiaSharp.Views.Maui.Core.nuspec
+++ b/nuget/SkiaSharp.Views.Maui.Core.nuspec
@@ -27,12 +27,9 @@ Please visit https://go.microsoft.com/fwlink/?linkid=868517 to view the release
© Microsoft Corporation. All rights reserved.
-
@@ -55,8 +52,7 @@ Please visit https://go.microsoft.com/fwlink/?linkid=868517 to view the release
-
-
+
diff --git a/samples/Basic/Maui/SkiaSharpSample.WinUI/SkiaSharpSample.WinUI.csproj b/samples/Basic/Maui/SkiaSharpSample.WinUI/SkiaSharpSample.WinUI.csproj
index 8e8192374d..b49d768389 100644
--- a/samples/Basic/Maui/SkiaSharpSample.WinUI/SkiaSharpSample.WinUI.csproj
+++ b/samples/Basic/Maui/SkiaSharpSample.WinUI/SkiaSharpSample.WinUI.csproj
@@ -8,6 +8,7 @@
SkiaSharpSample
true
win-x64
+ 9.0
true
@@ -31,9 +32,9 @@
-
-
-
+
+
+
diff --git a/samples/Basic/Maui/SkiaSharpSample/SkiaSharpSample.csproj b/samples/Basic/Maui/SkiaSharpSample/SkiaSharpSample.csproj
index 5e6e1ccd6a..ccced9a141 100644
--- a/samples/Basic/Maui/SkiaSharpSample/SkiaSharpSample.csproj
+++ b/samples/Basic/Maui/SkiaSharpSample/SkiaSharpSample.csproj
@@ -10,6 +10,7 @@
1.0
1
true
+ 9.0
diff --git a/samples/Basic/WinUI/Desktop/SkiaSharpSample.Package/SkiaSharpSample.Package.wapproj b/samples/Basic/WinUI/Desktop/SkiaSharpSample.Package/SkiaSharpSample.Package.wapproj
index dc6cb28229..93fa3e3315 100644
--- a/samples/Basic/WinUI/Desktop/SkiaSharpSample.Package/SkiaSharpSample.Package.wapproj
+++ b/samples/Basic/WinUI/Desktop/SkiaSharpSample.Package/SkiaSharpSample.Package.wapproj
@@ -64,10 +64,10 @@
-
+
build
-
+
build
diff --git a/samples/Basic/WinUI/Desktop/SkiaSharpSample/SkiaSharpSample.csproj b/samples/Basic/WinUI/Desktop/SkiaSharpSample/SkiaSharpSample.csproj
index 83d3af861c..d5fb0e531c 100644
--- a/samples/Basic/WinUI/Desktop/SkiaSharpSample/SkiaSharpSample.csproj
+++ b/samples/Basic/WinUI/Desktop/SkiaSharpSample/SkiaSharpSample.csproj
@@ -11,9 +11,9 @@
-
-
-
+
+
+
diff --git a/samples/Directory.Build.props b/samples/Directory.Build.props
index de297e327e..11601da4e0 100644
--- a/samples/Directory.Build.props
+++ b/samples/Directory.Build.props
@@ -9,4 +9,14 @@
false
+
+
+ true
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/scripts/azure-pipelines.yml b/scripts/azure-pipelines.yml
index 9be2ee9f84..f6c69e6835 100644
--- a/scripts/azure-pipelines.yml
+++ b/scripts/azure-pipelines.yml
@@ -25,7 +25,7 @@ variables:
XCODE_VERSION: 12.4
DOTNET_VERSION_PREVIOUS: 3.1.410
DOTNET_VERSION: 5.0.301
- DOTNET_VERSION_PREVIEW: 6.0.100-preview.7.21369.5
+ DOTNET_VERSION_PREVIEW: 6.0.100-preview.7.21377.3
VS_VERSION_PREVIEW: 16/pre
CONFIGURATION: 'Release'
VM_IMAGE_WINDOWS: windows-2019
diff --git a/scripts/install-maui.ps1 b/scripts/install-maui.ps1
index 3e7523c8ad..73ef6fceab 100644
--- a/scripts/install-maui.ps1
+++ b/scripts/install-maui.ps1
@@ -1,6 +1,5 @@
Param(
- [string] $InstallDir,
- [string] $Manifest
+ [string] $InstallDir
)
$ErrorActionPreference = 'Stop'
@@ -12,7 +11,7 @@ Write-Host "Installing maui-check..."
Write-Host "Installing Maui..."
& maui-check `
- --preview `
+ --main `
--verbose --ci --fix --non-interactive `
--skip androidsdk `
--skip xcode `
diff --git a/source/SkiaSharp.Build.props b/source/SkiaSharp.Build.props
index b6624a146b..84df9a5674 100644
--- a/source/SkiaSharp.Build.props
+++ b/source/SkiaSharp.Build.props
@@ -34,10 +34,24 @@
$(DefineConstants);THROW_OBJECT_EXCEPTIONS
+
+ $(DefineConstants);NETSTANDARD
+
+
true
+
+
+ true
+
+
+
+
+
+
+
true
diff --git a/source/SkiaSharp.Views.Forms/SkiaSharp.Views.Forms.Native.Shared/SKCanvasViewRendererBase.cs b/source/SkiaSharp.Views.Forms/SkiaSharp.Views.Forms.Native.Shared/SKCanvasViewRendererBase.cs
index fee4b023a8..e4f9935e5f 100644
--- a/source/SkiaSharp.Views.Forms/SkiaSharp.Views.Forms.Native.Shared/SKCanvasViewRendererBase.cs
+++ b/source/SkiaSharp.Views.Forms/SkiaSharp.Views.Forms.Native.Shared/SKCanvasViewRendererBase.cs
@@ -1,4 +1,5 @@
-using System;
+#if !NETSTANDARD
+using System;
using System.ComponentModel;
#if __MAUI__
@@ -298,3 +299,4 @@ private void OnGetCanvasSize(object sender, GetPropertyValueEventArgs e)
}
}
}
+#endif
diff --git a/source/SkiaSharp.Views.Forms/SkiaSharp.Views.Forms.Native.Shared/SKGLViewRendererBase.cs b/source/SkiaSharp.Views.Forms/SkiaSharp.Views.Forms.Native.Shared/SKGLViewRendererBase.cs
index 2a08f6fd11..656280e9a9 100644
--- a/source/SkiaSharp.Views.Forms/SkiaSharp.Views.Forms.Native.Shared/SKGLViewRendererBase.cs
+++ b/source/SkiaSharp.Views.Forms/SkiaSharp.Views.Forms.Native.Shared/SKGLViewRendererBase.cs
@@ -1,4 +1,4 @@
-#if !__GTK__ && !WINDOWS
+#if !__GTK__ && !WINDOWS && !NETSTANDARD
using System;
using System.ComponentModel;
diff --git a/source/SkiaSharp.Views.Maui/SkiaSharp.Views.Maui.Controls.Compatibility/AppHostBuilderExtensions.cs b/source/SkiaSharp.Views.Maui/SkiaSharp.Views.Maui.Controls.Compatibility/AppHostBuilderExtensions.cs
index dbac6dcf89..f824885adb 100644
--- a/source/SkiaSharp.Views.Maui/SkiaSharp.Views.Maui.Controls.Compatibility/AppHostBuilderExtensions.cs
+++ b/source/SkiaSharp.Views.Maui/SkiaSharp.Views.Maui.Controls.Compatibility/AppHostBuilderExtensions.cs
@@ -10,6 +10,7 @@ public static IAppHostBuilder UseSkiaSharpCompatibilityRenderers(this IAppHostBu
builder
.ConfigureMauiHandlers(handlers =>
{
+#if !NETSTANDARD
handlers.AddCompatibilityRenderer(typeof(SKCanvasView), typeof(SKCanvasViewRenderer));
#if !WINDOWS
handlers.AddCompatibilityRenderer(typeof(SKGLView), typeof(SKGLViewRenderer));
@@ -19,6 +20,7 @@ public static IAppHostBuilder UseSkiaSharpCompatibilityRenderers(this IAppHostBu
CompatRegistrar.Registered.Register(typeof(SKBitmapImageSource), typeof(SKImageSourceHandler));
CompatRegistrar.Registered.Register(typeof(SKPixmapImageSource), typeof(SKImageSourceHandler));
CompatRegistrar.Registered.Register(typeof(SKPictureImageSource), typeof(SKImageSourceHandler));
+#endif
});
}
}
diff --git a/source/SkiaSharp.Views.Maui/SkiaSharp.Views.Maui.Controls.Compatibility/SkiaSharp.Views.Maui.Controls.Compatibility.csproj b/source/SkiaSharp.Views.Maui/SkiaSharp.Views.Maui.Controls.Compatibility/SkiaSharp.Views.Maui.Controls.Compatibility.csproj
index bd1ea07699..f001d21853 100644
--- a/source/SkiaSharp.Views.Maui/SkiaSharp.Views.Maui.Controls.Compatibility/SkiaSharp.Views.Maui.Controls.Compatibility.csproj
+++ b/source/SkiaSharp.Views.Maui/SkiaSharp.Views.Maui.Controls.Compatibility/SkiaSharp.Views.Maui.Controls.Compatibility.csproj
@@ -1,6 +1,6 @@
- net6.0-ios;net6.0-maccatalyst;net6.0-android
+ net6.0;net6.0-ios;net6.0-maccatalyst;net6.0-android
$(TargetFrameworks);net6.0-windows10.0.19041
10.0.17763.0
SkiaSharp.Views.Maui.Controls.Compatibility
diff --git a/source/SkiaSharp.Views.Maui/SkiaSharp.Views.Maui.Controls/SkiaSharp.Views.Maui.Controls.csproj b/source/SkiaSharp.Views.Maui/SkiaSharp.Views.Maui.Controls/SkiaSharp.Views.Maui.Controls.csproj
index 48817bacb4..f76293c6de 100644
--- a/source/SkiaSharp.Views.Maui/SkiaSharp.Views.Maui.Controls/SkiaSharp.Views.Maui.Controls.csproj
+++ b/source/SkiaSharp.Views.Maui/SkiaSharp.Views.Maui.Controls/SkiaSharp.Views.Maui.Controls.csproj
@@ -1,6 +1,6 @@
- net6.0-ios;net6.0-maccatalyst;net6.0-android
+ net6.0;net6.0-ios;net6.0-maccatalyst;net6.0-android
$(TargetFrameworks);net6.0-windows10.0.19041
10.0.17763.0
SkiaSharp.Views.Maui.Controls
diff --git a/source/SkiaSharp.Views.Maui/SkiaSharp.Views.Maui.Core/Handlers/SKCanvasView/SKCanvasViewHandler.Android.cs b/source/SkiaSharp.Views.Maui/SkiaSharp.Views.Maui.Core/Handlers/SKCanvasView/SKCanvasViewHandler.Android.cs
index ab19b9f18a..f1433a9422 100644
--- a/source/SkiaSharp.Views.Maui/SkiaSharp.Views.Maui.Core/Handlers/SKCanvasView/SKCanvasViewHandler.Android.cs
+++ b/source/SkiaSharp.Views.Maui/SkiaSharp.Views.Maui.Core/Handlers/SKCanvasView/SKCanvasViewHandler.Android.cs
@@ -31,7 +31,7 @@ protected override void DisconnectHandler(SKCanvasView nativeView)
// Mapper actions / properties
- public static void OnInvalidateSurface(SKCanvasViewHandler handler, ISKCanvasView canvasView)
+ public static void OnInvalidateSurface(SKCanvasViewHandler handler, ISKCanvasView canvasView, object? args)
{
handler.NativeView?.Invalidate();
}
diff --git a/source/SkiaSharp.Views.Maui/SkiaSharp.Views.Maui.Core/Handlers/SKCanvasView/SKCanvasViewHandler.Ref.cs b/source/SkiaSharp.Views.Maui/SkiaSharp.Views.Maui.Core/Handlers/SKCanvasView/SKCanvasViewHandler.Ref.cs
index 5e099ed826..fecf162900 100644
--- a/source/SkiaSharp.Views.Maui/SkiaSharp.Views.Maui.Core/Handlers/SKCanvasView/SKCanvasViewHandler.Ref.cs
+++ b/source/SkiaSharp.Views.Maui/SkiaSharp.Views.Maui.Core/Handlers/SKCanvasView/SKCanvasViewHandler.Ref.cs
@@ -11,6 +11,6 @@ public static void MapIgnorePixelScaling(SKCanvasViewHandler handler, ISKCanvasV
public static void MapEnableTouchEvents(SKCanvasViewHandler handler, ISKCanvasView canvasView) { }
- public static void OnInvalidateSurface(SKCanvasViewHandler handler, ISKCanvasView canvasView) { }
+ public static void OnInvalidateSurface(SKCanvasViewHandler handler, ISKCanvasView canvasView, object? args) { }
}
}
diff --git a/source/SkiaSharp.Views.Maui/SkiaSharp.Views.Maui.Core/Handlers/SKCanvasView/SKCanvasViewHandler.Windows.cs b/source/SkiaSharp.Views.Maui/SkiaSharp.Views.Maui.Core/Handlers/SKCanvasView/SKCanvasViewHandler.Windows.cs
index 2eed7b3c51..2acee105f7 100644
--- a/source/SkiaSharp.Views.Maui/SkiaSharp.Views.Maui.Core/Handlers/SKCanvasView/SKCanvasViewHandler.Windows.cs
+++ b/source/SkiaSharp.Views.Maui/SkiaSharp.Views.Maui.Core/Handlers/SKCanvasView/SKCanvasViewHandler.Windows.cs
@@ -30,7 +30,7 @@ protected override void DisconnectHandler(SKXamlCanvas nativeView)
// Mapper actions / properties
- public static void OnInvalidateSurface(SKCanvasViewHandler handler, ISKCanvasView canvasView)
+ public static void OnInvalidateSurface(SKCanvasViewHandler handler, ISKCanvasView canvasView, object? args)
{
handler.NativeView?.Invalidate();
}
diff --git a/source/SkiaSharp.Views.Maui/SkiaSharp.Views.Maui.Core/Handlers/SKCanvasView/SKCanvasViewHandler.cs b/source/SkiaSharp.Views.Maui/SkiaSharp.Views.Maui.Core/Handlers/SKCanvasView/SKCanvasViewHandler.cs
index 410b2551e9..dd9deea98e 100644
--- a/source/SkiaSharp.Views.Maui/SkiaSharp.Views.Maui.Core/Handlers/SKCanvasView/SKCanvasViewHandler.cs
+++ b/source/SkiaSharp.Views.Maui/SkiaSharp.Views.Maui.Core/Handlers/SKCanvasView/SKCanvasViewHandler.cs
@@ -10,20 +10,21 @@ public partial class SKCanvasViewHandler
{
[nameof(ISKCanvasView.EnableTouchEvents)] = MapEnableTouchEvents,
[nameof(ISKCanvasView.IgnorePixelScaling)] = MapIgnorePixelScaling,
+ };
- Actions =
- {
- [nameof(ISKCanvasView.InvalidateSurface)] = OnInvalidateSurface,
- }
+ public static CommandMapper SKCanvasViewCommandMapper =
+ new CommandMapper()
+ {
+ [nameof(ISKCanvasView.InvalidateSurface)] = OnInvalidateSurface,
};
public SKCanvasViewHandler()
- : base(SKCanvasViewMapper)
+ : base(SKCanvasViewMapper, SKCanvasViewCommandMapper)
{
}
- public SKCanvasViewHandler(PropertyMapper? mapper)
- : base(mapper ?? SKCanvasViewMapper)
+ public SKCanvasViewHandler(PropertyMapper? mapper, CommandMapper? commands)
+ : base(mapper ?? SKCanvasViewMapper, commands ?? SKCanvasViewCommandMapper)
{
}
}
diff --git a/source/SkiaSharp.Views.Maui/SkiaSharp.Views.Maui.Core/Handlers/SKCanvasView/SKCanvasViewHandler.iOS.cs b/source/SkiaSharp.Views.Maui/SkiaSharp.Views.Maui.Core/Handlers/SKCanvasView/SKCanvasViewHandler.iOS.cs
index 0806300bff..fd777a88e1 100644
--- a/source/SkiaSharp.Views.Maui/SkiaSharp.Views.Maui.Core/Handlers/SKCanvasView/SKCanvasViewHandler.iOS.cs
+++ b/source/SkiaSharp.Views.Maui/SkiaSharp.Views.Maui.Core/Handlers/SKCanvasView/SKCanvasViewHandler.iOS.cs
@@ -31,7 +31,7 @@ protected override void DisconnectHandler(SKCanvasView nativeView)
// Mapper actions / properties
- public static void OnInvalidateSurface(SKCanvasViewHandler handler, ISKCanvasView canvasView)
+ public static void OnInvalidateSurface(SKCanvasViewHandler handler, ISKCanvasView canvasView, object? args)
{
handler.NativeView?.SetNeedsDisplay();
}
diff --git a/source/SkiaSharp.Views.Maui/SkiaSharp.Views.Maui.Core/SkiaSharp.Views.Maui.Core.csproj b/source/SkiaSharp.Views.Maui/SkiaSharp.Views.Maui.Core/SkiaSharp.Views.Maui.Core.csproj
index de8fdde160..78f083e315 100644
--- a/source/SkiaSharp.Views.Maui/SkiaSharp.Views.Maui.Core/SkiaSharp.Views.Maui.Core.csproj
+++ b/source/SkiaSharp.Views.Maui/SkiaSharp.Views.Maui.Core/SkiaSharp.Views.Maui.Core.csproj
@@ -1,6 +1,6 @@
- net6.0-ios;net6.0-maccatalyst;net6.0-android
+ net6.0;net6.0-ios;net6.0-maccatalyst;net6.0-android
$(TargetFrameworks);net6.0-windows10.0.19041
10.0.17763.0
SkiaSharp.Views.Maui.Core
diff --git a/source/SkiaSharp.Views.WinUI/SkiaSharp.Views.WinUI/SkiaSharp.Views.WinUI.csproj b/source/SkiaSharp.Views.WinUI/SkiaSharp.Views.WinUI/SkiaSharp.Views.WinUI.csproj
index 8d0e3e317f..d7ed9fb321 100644
--- a/source/SkiaSharp.Views.WinUI/SkiaSharp.Views.WinUI/SkiaSharp.Views.WinUI.csproj
+++ b/source/SkiaSharp.Views.WinUI/SkiaSharp.Views.WinUI/SkiaSharp.Views.WinUI.csproj
@@ -7,7 +7,7 @@
SkiaSharp.Views.WinUI
-
+