diff --git a/nuget.config b/nuget.config
index 6498dbc9a77..2f5e995c3b0 100644
--- a/nuget.config
+++ b/nuget.config
@@ -5,5 +5,7 @@
+
+
diff --git a/scripts/azure-pipelines.yml b/scripts/azure-pipelines.yml
index 79207cca061..bf2d4a6b8a6 100644
--- a/scripts/azure-pipelines.yml
+++ b/scripts/azure-pipelines.yml
@@ -44,10 +44,11 @@ variables:
MONO_VERSION_MACOS: '6_12_7'
MONO_VERSION_LINUX: ''
XCODE_VERSION: 12.4
- DOTNET_VERSION_PREVIOUS: 3.1.413
- DOTNET_VERSION: 6.0.200
- DOTNET_VERSION_PREVIEW: ''
- DOTNET_WORKLOAD_SOURCE: 'https://aka.ms/dotnet/maui/6.0.200/preview.13.json'
+ DOTNET_VERSION_PREVIOUS: 3.1.416
+ DOTNET_VERSION: 5.0.405
+ DOTNET_VERSION_PREVIEW: '6.0.200-rtm.22107.3'
+ DOTNET_WORKLOAD_SOURCE: 'https://aka.ms/dotnet/maui/6.0.200/preview.14.json'
+ VS_VERSION_PREVIEW: 17/pre
CONFIGURATION: 'Release'
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true
THROW_ON_TEST_FAILURE: true
diff --git a/scripts/install-dotnet-workloads.ps1 b/scripts/install-dotnet-workloads.ps1
index 63a61dc7822..df505433977 100644
--- a/scripts/install-dotnet-workloads.ps1
+++ b/scripts/install-dotnet-workloads.ps1
@@ -9,8 +9,12 @@ $ErrorActionPreference = 'Stop'
$env:DOTNET_ROOT="$InstallDir"
$previewFeed = 'https://api.nuget.org/v3/index.json'
+$previewRuntime = 'https://api.nuget.org/v3/index.json'
+$previewEmscripten = 'https://api.nuget.org/v3/index.json'
if ($IsPreview) {
$previewFeed = 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet6/nuget/v3/index.json'
+ $previewRuntime = 'https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-runtime-6dd808ff-1/nuget/v3/index.json'
+ $previewEmscripten = 'https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-emsdk-ee0a97a0/nuget/v3/index.json'
}
Write-Host "Installing workloads..."
@@ -18,6 +22,8 @@ Write-Host "Installing workloads..."
android ios tvos macos maccatalyst wasm-tools maui `
--from-rollback-file $SourceUrl `
--source https://api.nuget.org/v3/index.json `
- --source $previewFeed
+ --source $previewFeed `
+ --source $previewRuntime `
+ --source $previewEmscripten
exit $LASTEXITCODE
diff --git a/source/SkiaSharp.Views.Forms/SkiaSharp.Views.Forms.iOS/SKGLViewRenderer.cs b/source/SkiaSharp.Views.Forms/SkiaSharp.Views.Forms.iOS/SKGLViewRenderer.cs
index f8016e4ddb4..2047f406098 100644
--- a/source/SkiaSharp.Views.Forms/SkiaSharp.Views.Forms.iOS/SKGLViewRenderer.cs
+++ b/source/SkiaSharp.Views.Forms/SkiaSharp.Views.Forms.iOS/SKGLViewRenderer.cs
@@ -95,7 +95,7 @@ protected override void SetupRenderLoop(bool oneShot)
// redraw the view
nativeView.Display();
});
- displayLink.AddToRunLoop(NSRunLoop.Current, NSRunLoop.NSDefaultRunLoopMode);
+ displayLink.AddToRunLoop(NSRunLoop.Current, NSRunLoopMode.Default);
}
}
}
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 9e0b18ef31e..2a35eeaffeb 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
@@ -11,47 +11,47 @@ public partial class SKCanvasViewHandler : ViewHandler new SKCanvasView(Context);
+ protected override SKCanvasView CreatePlatformView() => new SKCanvasView(Context);
- protected override void ConnectHandler(SKCanvasView nativeView)
+ protected override void ConnectHandler(SKCanvasView platformView)
{
- nativeView.PaintSurface += OnPaintSurface;
+ platformView.PaintSurface += OnPaintSurface;
- base.ConnectHandler(nativeView);
+ base.ConnectHandler(platformView);
}
- protected override void DisconnectHandler(SKCanvasView nativeView)
+ protected override void DisconnectHandler(SKCanvasView platformView)
{
- touchHandler?.Detach(nativeView);
+ touchHandler?.Detach(platformView);
touchHandler = null;
- nativeView.PaintSurface -= OnPaintSurface;
+ platformView.PaintSurface -= OnPaintSurface;
- base.DisconnectHandler(nativeView);
+ base.DisconnectHandler(platformView);
}
// Mapper actions / properties
public static void OnInvalidateSurface(SKCanvasViewHandler handler, ISKCanvasView canvasView, object? args)
{
- handler.NativeView?.Invalidate();
+ handler.PlatformView?.Invalidate();
}
public static void MapIgnorePixelScaling(SKCanvasViewHandler handler, ISKCanvasView canvasView)
{
- handler.NativeView?.UpdateIgnorePixelScaling(canvasView);
+ handler.PlatformView?.UpdateIgnorePixelScaling(canvasView);
}
public static void MapEnableTouchEvents(SKCanvasViewHandler handler, ISKCanvasView canvasView)
{
- if (handler.NativeView == null)
+ if (handler.PlatformView == null)
return;
handler.touchHandler ??= new SKTouchHandler(
args => canvasView.OnTouch(args),
(x, y) => handler.OnGetScaledCoord(x, y));
- handler.touchHandler?.SetEnabled(handler.NativeView, canvasView.EnableTouchEvents);
+ handler.touchHandler?.SetEnabled(handler.PlatformView, canvasView.EnableTouchEvents);
}
// helper methods
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 fecf1629007..c46026f43b8 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
@@ -5,7 +5,7 @@ namespace SkiaSharp.Views.Maui.Handlers
{
public partial class SKCanvasViewHandler : ViewHandler
{
- protected override object CreateNativeView() => throw new NotImplementedException();
+ protected override object CreatePlatformView() => throw new NotImplementedException();
public static void MapIgnorePixelScaling(SKCanvasViewHandler handler, ISKCanvasView canvasView) { }
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 2acee105f72..94242ea3668 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
@@ -9,47 +9,47 @@ public partial class SKCanvasViewHandler : ViewHandler new SKXamlCanvas();
+ protected override SKXamlCanvas CreatePlatformView() => new SKXamlCanvas();
- protected override void ConnectHandler(SKXamlCanvas nativeView)
+ protected override void ConnectHandler(SKXamlCanvas platformView)
{
- nativeView.PaintSurface += OnPaintSurface;
+ platformView.PaintSurface += OnPaintSurface;
- base.ConnectHandler(nativeView);
+ base.ConnectHandler(platformView);
}
- protected override void DisconnectHandler(SKXamlCanvas nativeView)
+ protected override void DisconnectHandler(SKXamlCanvas platformView)
{
- touchHandler?.Detach(nativeView);
+ touchHandler?.Detach(platformView);
touchHandler = null;
- nativeView.PaintSurface -= OnPaintSurface;
+ platformView.PaintSurface -= OnPaintSurface;
- base.DisconnectHandler(nativeView);
+ base.DisconnectHandler(platformView);
}
// Mapper actions / properties
public static void OnInvalidateSurface(SKCanvasViewHandler handler, ISKCanvasView canvasView, object? args)
{
- handler.NativeView?.Invalidate();
+ handler.PlatformView?.Invalidate();
}
public static void MapIgnorePixelScaling(SKCanvasViewHandler handler, ISKCanvasView canvasView)
{
- handler.NativeView?.UpdateIgnorePixelScaling(canvasView);
+ handler.PlatformView?.UpdateIgnorePixelScaling(canvasView);
}
public static void MapEnableTouchEvents(SKCanvasViewHandler handler, ISKCanvasView canvasView)
{
- if (handler.NativeView == null)
+ if (handler.PlatformView == null)
return;
handler.touchHandler ??= new SKTouchHandler(
args => canvasView.OnTouch(args),
(x, y) => handler.OnGetScaledCoord(x, y));
- handler.touchHandler?.SetEnabled(handler.NativeView, canvasView.EnableTouchEvents);
+ handler.touchHandler?.SetEnabled(handler.PlatformView, canvasView.EnableTouchEvents);
}
// helper methods
@@ -68,9 +68,9 @@ private void OnPaintSurface(object? sender, Windows.SKPaintSurfaceEventArgs e)
private SKPoint OnGetScaledCoord(double x, double y)
{
- if (VirtualView?.IgnorePixelScaling == false && NativeView != null)
+ if (VirtualView?.IgnorePixelScaling == false && PlatformView != null)
{
- var scale = NativeView.Dpi;
+ var scale = PlatformView.Dpi;
x *= scale;
y *= scale;
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 fd777a88e15..4fbf664ffbf 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
@@ -10,47 +10,47 @@ public partial class SKCanvasViewHandler : ViewHandler new SKCanvasView { BackgroundColor = UIColor.Clear };
+ protected override SKCanvasView CreatePlatformView() => new SKCanvasView { BackgroundColor = UIColor.Clear };
- protected override void ConnectHandler(SKCanvasView nativeView)
+ protected override void ConnectHandler(SKCanvasView platformView)
{
- nativeView.PaintSurface += OnPaintSurface;
+ platformView.PaintSurface += OnPaintSurface;
- base.ConnectHandler(nativeView);
+ base.ConnectHandler(platformView);
}
- protected override void DisconnectHandler(SKCanvasView nativeView)
+ protected override void DisconnectHandler(SKCanvasView platformView)
{
- touchHandler?.Detach(nativeView);
+ touchHandler?.Detach(platformView);
touchHandler = null;
- nativeView.PaintSurface -= OnPaintSurface;
+ platformView.PaintSurface -= OnPaintSurface;
- base.DisconnectHandler(nativeView);
+ base.DisconnectHandler(platformView);
}
// Mapper actions / properties
public static void OnInvalidateSurface(SKCanvasViewHandler handler, ISKCanvasView canvasView, object? args)
{
- handler.NativeView?.SetNeedsDisplay();
+ handler.PlatformView?.SetNeedsDisplay();
}
public static void MapIgnorePixelScaling(SKCanvasViewHandler handler, ISKCanvasView canvasView)
{
- handler.NativeView?.UpdateIgnorePixelScaling(canvasView);
+ handler.PlatformView?.UpdateIgnorePixelScaling(canvasView);
}
public static void MapEnableTouchEvents(SKCanvasViewHandler handler, ISKCanvasView canvasView)
{
- if (handler.NativeView == null)
+ if (handler.PlatformView == null)
return;
handler.touchHandler ??= new SKTouchHandler(
args => canvasView.OnTouch(args),
(x, y) => handler.OnGetScaledCoord(x, y));
- handler.touchHandler?.SetEnabled(handler.NativeView, canvasView.EnableTouchEvents);
+ handler.touchHandler?.SetEnabled(handler.PlatformView, canvasView.EnableTouchEvents);
}
// helper methods
@@ -69,9 +69,9 @@ private void OnPaintSurface(object? sender, iOS.SKPaintSurfaceEventArgs e)
private SKPoint OnGetScaledCoord(double x, double y)
{
- if (VirtualView?.IgnorePixelScaling == false && NativeView != null)
+ if (VirtualView?.IgnorePixelScaling == false && PlatformView != null)
{
- var scale = NativeView.ContentScaleFactor;
+ var scale = PlatformView.ContentScaleFactor;
x *= scale;
y *= scale;