Merge remote-tracking branch 'origin/develop'

This commit is contained in:
Matthew Leibowitz 2021-07-12 03:02:54 +02:00
Родитель 2da187a33b 73ac5d0479
Коммит b30a231086
72 изменённых файлов: 1593 добавлений и 236 удалений

Просмотреть файл

@ -25,10 +25,7 @@ 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.Maui.Core release 6.0.100-preview.5.794
Microsoft.Maui.Controls release 6.0.100-preview.5.794
Microsoft.Maui.Controls.Compatibility release 6.0.100-preview.5.794
Microsoft.Maui.Controls.Compatibility.Android.FormsViewGroup release 6.0.100-preview.5.794
Microsoft.Maui.Graphics release 6.0.100-preview.5.246
Microsoft.Windows.SDK.NET.Ref release 10.0.18362.15
# additional references used by the tooling

Просмотреть файл

@ -1,23 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- temporarily work around https://github.com/xamarin/xamarin-android/issues/5432 -->
<Target Name="_HarfBuzzSharpIncludeNativeSystemLibrariesFixes" BeforeTargets="_IncludeNativeSystemLibraries">
<ItemGroup>
<_FixedResolvedFileToPublish
Include="@(ResolvedFileToPublish)"
Condition="
'%(ResolvedFileToPublish.AssetType)' == 'native' and
'%(ResolvedFileToPublish.Filename)' == 'libHarfBuzzSharp' and
'%(ResolvedFileToPublish.Extension)' == '.so' and
'%(ResolvedFileToPublish.NuGetPackageId)' != '' and
'%(ResolvedFileToPublish.RuntimeIdentifier)' == '' and
'%(ResolvedFileToPublish.PathInPackage)' != '' " />
<ResolvedFileToPublish Update="@(_FixedResolvedFileToPublish)">
<RuntimeIdentifier>$([System.Text.RegularExpressions.Regex]::Match('%(_FixedResolvedFileToPublish.PathInPackage)', 'runtimes/([^/]+)/native/.*').Groups[1].Value)</RuntimeIdentifier>
</ResolvedFileToPublish>
<_FixedResolvedFileToPublish Remove="@(_FixedResolvedFileToPublish)" />
</ItemGroup>
</Target>
</Project>

Просмотреть файл

@ -1,23 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- temporarily work around https://github.com/xamarin/xamarin-android/issues/5432 -->
<Target Name="_SkiaSharpIncludeNativeSystemLibrariesFixes" BeforeTargets="_IncludeNativeSystemLibraries">
<ItemGroup>
<_FixedResolvedFileToPublish
Include="@(ResolvedFileToPublish)"
Condition="
'%(ResolvedFileToPublish.AssetType)' == 'native' and
'%(ResolvedFileToPublish.Filename)' == 'libSkiaSharp' and
'%(ResolvedFileToPublish.Extension)' == '.so' and
'%(ResolvedFileToPublish.NuGetPackageId)' != '' and
'%(ResolvedFileToPublish.RuntimeIdentifier)' == '' and
'%(ResolvedFileToPublish.PathInPackage)' != '' " />
<ResolvedFileToPublish Update="@(_FixedResolvedFileToPublish)">
<RuntimeIdentifier>$([System.Text.RegularExpressions.Regex]::Match('%(_FixedResolvedFileToPublish.PathInPackage)', 'runtimes/([^/]+)/native/.*').Groups[1].Value)</RuntimeIdentifier>
</ResolvedFileToPublish>
<_FixedResolvedFileToPublish Remove="@(_FixedResolvedFileToPublish)" />
</ItemGroup>
</Target>
</Project>

Просмотреть файл

@ -58,7 +58,7 @@ var PREVIEW_NUGET_SUFFIX = string.IsNullOrEmpty (BUILD_NUMBER)
? $"{PREVIEW_LABEL}"
: $"{PREVIEW_LABEL}.{BUILD_NUMBER}";
var PREVIEW_FEED_URL = "https://pkgs.dev.azure.com/xamarin/public/_packaging/SkiaSharp/nuget/v3/index.json";
var PREVIEW_FEED_URL = Argument ("previewFeed", "https://pkgs.dev.azure.com/xamarin/public/_packaging/SkiaSharp/nuget/v3/index.json");
var TRACKED_NUGETS = new Dictionary<string, Version> {
{ "SkiaSharp", new Version (1, 57, 0) },
@ -88,7 +88,6 @@ var TRACKED_NUGETS = new Dictionary<string, Version> {
};
var PREVIEW_ONLY_NUGETS = new List<string> {
"SkiaSharp.Views.WinUI",
"SkiaSharp.Views.Maui.Core",
"SkiaSharp.Views.Maui.Controls",
"SkiaSharp.Views.Maui.Controls.Compatibility",
@ -138,7 +137,17 @@ Task ("libs")
platform = ".Linux";
}
}
RunMSBuild ($"./source/SkiaSharpSource{platform}.sln");
var net6 = $"./source/SkiaSharpSource{platform}-net6.slnf";
var netfx = $"./source/SkiaSharpSource{platform}-netfx.slnf";
if (FileExists (net6) || FileExists (netfx)) {
if (FileExists (net6))
RunMSBuild (net6, properties: new Dictionary<string, string> { { "BuildingForNet6", "true" } });
if (FileExists (netfx))
RunMSBuild (netfx, properties: new Dictionary<string, string> { { "BuildingForNet6", "false" } });
} else {
RunMSBuild ($"./source/SkiaSharpSource{platform}.sln");
}
// assemble the mdoc docs
EnsureDirectoryExists ("./output/docs/mdoc/");
@ -730,6 +739,7 @@ Task ("nuget-special")
}
if (GetFiles ("./output/nugets/*.nupkg").Count > 0) {
specials[$"_NuGets"] = $"nugets";
specials[$"_NuGetsPreview"] = $"nugets";
}
foreach (var pair in specials) {

Просмотреть файл

@ -44,10 +44,14 @@ Task ("docs-download-output")
CleanDirectories ("./output");
await DownloadPackageAsync ("_nugets", OUTPUT_NUGETS_PATH);
await DownloadPackageAsync ("_nugetspreview", OUTPUT_NUGETS_PATH);
foreach (var id in TRACKED_NUGETS.Keys) {
var version = GetVersion (id);
var name = $"{id}.{version}.nupkg";
var localNugetVersion = PREVIEW_ONLY_NUGETS.Contains(id)
? $"{version}-{PREVIEW_NUGET_SUFFIX}"
: version;
var name = $"{id}.{localNugetVersion}.nupkg";
CleanDirectories ($"./output/{id}");
Unzip ($"{OUTPUT_NUGETS_PATH}/{name}", $"./output/{id}/nuget");
}
@ -70,9 +74,10 @@ Task ("docs-api-diff")
comparer.SaveAssemblyApiInfo = true;
comparer.SaveAssemblyMarkdownDiff = true;
// some libraries depend on SkiaSharp
// some parts of SkiaSharp depend on other parts
comparer.SearchPaths.Add($"./output/SkiaSharp/nuget/lib/netstandard2.0");
comparer.SearchPaths.Add($"./output/SkiaSharp.Views.Maui.Core/nuget/lib/netstandard2.0");
foreach (var dir in GetDirectories($"./output/SkiaSharp.Views.Maui.Core/nuget/lib/*"))
comparer.SearchPaths.Add(dir.FullPath);
var filter = new NuGetVersions.Filter {
IncludePrerelease = NUGET_DIFF_PRERELEASE

Просмотреть файл

@ -214,9 +214,12 @@ string[] GetDotNetPacksSearchPaths()
var latestSdk = (DirectoryPath)(last.Substring(start, last.Length - start - 1));
var dotnetRoot = latestSdk.Combine("..");
var packs = GetDirectories(dotnetRoot.Combine("packs").FullPath + "/*.Ref");
foreach(var pack in GetDirectories(dotnetRoot.Combine("packs").FullPath + "/*.Ref.*")) {
var latestPath = GetDirectories(pack.FullPath + "/*").Last();
refs.AddRange(GetDirectories(latestPath.FullPath + "/ref/net*").Select(d => d.FullPath));
}
foreach(var pack in packs) {
foreach(var pack in GetDirectories(dotnetRoot.Combine("packs").FullPath + "/*.Ref")) {
var latestPath = GetDirectories(pack.FullPath + "/*").Last();
refs.AddRange(GetDirectories(latestPath.FullPath + "/ref/net*").Select(d => d.FullPath));
}
@ -253,22 +256,8 @@ async Task<NuGetDiff> CreateNuGetDiffAsync()
await AddDep("Uno.UI", "UAP");
await AddDep("Microsoft.ProjectReunion.Foundation", "net5.0-windows");
await AddDep("Microsoft.ProjectReunion.WinUI", "net5.0-windows10.0.18362.0");
await AddDep("Microsoft.Maui.Graphics", "netstandard2.0");
await AddDep("Microsoft.Windows.SDK.NET.Ref", "");
await AddDep("Microsoft.Maui.Core", "net6.0-android30.0");
await AddDep("Microsoft.Maui.Core", "net6.0-ios13.6");
await AddDep("Microsoft.Maui.Core", "net6.0-maccatalyst13.5");
await AddDep("Microsoft.Maui.Core", "net6.0-windows10.0.18362");
await AddDep("Microsoft.Maui.Core", "netstandard2.0");
await AddDep("Microsoft.Maui.Controls", "net6.0-android30.0");
await AddDep("Microsoft.Maui.Controls", "net6.0-ios13.6");
await AddDep("Microsoft.Maui.Controls", "net6.0-maccatalyst13.5");
await AddDep("Microsoft.Maui.Controls", "net6.0-windows10.0.18362");
await AddDep("Microsoft.Maui.Controls", "netstandard2.0");
await AddDep("Microsoft.Maui.Controls.Compatibility", "net6.0-android30.0");
await AddDep("Microsoft.Maui.Controls.Compatibility", "net6.0-ios13.6");
await AddDep("Microsoft.Maui.Controls.Compatibility", "net6.0-maccatalyst13.5");
await AddDep("Microsoft.Maui.Controls.Compatibility", "net6.0-windows10.0.18362");
await AddDep("Microsoft.Maui.Controls.Compatibility.Android.FormsViewGroup", "net6.0-android30.0");
await AddDep("OpenTK.GLControl", "NET40", "reference");
await AddDep("Xamarin.Forms", "Xamarin.iOS10", "reference");

Просмотреть файл

@ -5,6 +5,9 @@ DirectoryPath OUTPUT_SPECIAL_NUGETS_PATH = MakeAbsolute(ROOT_PATH.Combine("outpu
var NUGETS_SOURCES = new [] {
OUTPUT_NUGETS_PATH.FullPath,
"https://api.nuget.org/v3/index.json",
"https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public/nuget/v3/index.json",
"https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet6/nuget/v3/index.json",
"https://pkgs.dev.azure.com/azure-public/vside/_packaging/xamarin-impl/nuget/v3/index.json",
"https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-eng/nuget/v3/index.json"
};

Просмотреть файл

@ -0,0 +1,6 @@
# API diff: SkiaSharp.HarfBuzz.dll
## SkiaSharp.HarfBuzz.dll
> Assembly Version Changed: 2.88.0.0 vs 2.80.0.0

Просмотреть файл

@ -0,0 +1,24 @@
# API diff: SkiaSharp.Views.Desktop.Common.dll
## SkiaSharp.Views.Desktop.Common.dll
> Assembly Version Changed: 2.88.0.0 vs 2.80.0.0
### Namespace SkiaSharp.Views.Desktop
#### Type Changed: SkiaSharp.Views.Desktop.Extensions
Added methods:
```csharp
public static System.Drawing.Bitmap ToBitmap (this SkiaSharp.SKBitmap skiaBitmap);
public static System.Drawing.Bitmap ToBitmap (this SkiaSharp.SKImage skiaImage);
public static System.Drawing.Bitmap ToBitmap (this SkiaSharp.SKPixmap pixmap);
public static System.Drawing.Bitmap ToBitmap (this SkiaSharp.SKPicture picture, SkiaSharp.SKSizeI dimensions);
public static SkiaSharp.SKBitmap ToSKBitmap (this System.Drawing.Bitmap bitmap);
public static SkiaSharp.SKImage ToSKImage (this System.Drawing.Bitmap bitmap);
public static void ToSKPixmap (this System.Drawing.Bitmap bitmap, SkiaSharp.SKPixmap pixmap);
```

Просмотреть файл

@ -0,0 +1,6 @@
# API diff: SkiaSharp.Views.Forms.dll
## SkiaSharp.Views.Forms.dll
> Assembly Version Changed: 2.88.0.0 vs 2.80.0.0

Просмотреть файл

@ -0,0 +1,6 @@
# API diff: SkiaSharp.Views.Forms.dll
## SkiaSharp.Views.Forms.dll
> Assembly Version Changed: 2.88.0.0 vs 2.80.0.0

Просмотреть файл

@ -0,0 +1,6 @@
# API diff: SkiaSharp.Views.Forms.dll
## SkiaSharp.Views.Forms.dll
> Assembly Version Changed: 2.88.0.0 vs 2.80.0.0

Просмотреть файл

@ -0,0 +1,6 @@
# API diff: SkiaSharp.Views.Gtk.dll
## SkiaSharp.Views.Gtk.dll
> Assembly Version Changed: 2.88.0.0 vs 2.80.0.0

Просмотреть файл

@ -0,0 +1,6 @@
# API diff: SkiaSharp.Views.Gtk3.dll
## SkiaSharp.Views.Gtk3.dll
> Assembly Version Changed: 2.88.0.0 vs 2.80.0.0

Просмотреть файл

@ -0,0 +1,53 @@
# API diff: SkiaSharp.Views.Maui.Controls.Compatibility.dll
## SkiaSharp.Views.Maui.Controls.Compatibility.dll
> Assembly Version Changed: 2.88.0.0 vs 0.0.0.0
### New Namespace SkiaSharp.Views.Maui.Controls.Compatibility
#### New Type: SkiaSharp.Views.Maui.Controls.Compatibility.AppHostBuilderExtensions
```csharp
public static class AppHostBuilderExtensions {
// methods
public static Microsoft.Maui.Hosting.IAppHostBuilder UseSkiaSharpCompatibilityRenderers (this Microsoft.Maui.Hosting.IAppHostBuilder builder);
}
```
#### New Type: SkiaSharp.Views.Maui.Controls.Compatibility.SKCanvasViewRenderer
```csharp
public class SKCanvasViewRenderer : SkiaSharp.Views.Maui.Controls.Compatibility.SKCanvasViewRendererBase`2[SkiaSharp.Views.Maui.Controls.SKCanvasView,SkiaSharp.Views.Windows.SKXamlCanvas] {
// constructors
public SKCanvasViewRenderer ();
// methods
protected override SkiaSharp.Views.Windows.SKXamlCanvas CreateNativeControl ();
}
```
#### New Type: SkiaSharp.Views.Maui.Controls.Compatibility.SKCanvasViewRendererBase`2
```csharp
public abstract class SKCanvasViewRendererBase`2 : Microsoft.Maui.Controls.Compatibility.Platform.UWP.ViewRenderer`2[TFormsView,TNativeView] {
// constructors
protected SKCanvasViewRendererBase`2 ();
// methods
protected virtual TNativeView CreateNativeControl ();
protected override void Dispose (bool disposing);
protected override void OnElementChanged (Microsoft.Maui.Controls.Platform.ElementChangedEventArgs<TFormsView> e);
protected override void OnElementPropertyChanged (object sender, System.ComponentModel.PropertyChangedEventArgs e);
}
```
#### New Type: SkiaSharp.Views.Maui.Controls.Compatibility.SKImageSourceHandler
```csharp
public sealed class SKImageSourceHandler : Microsoft.Maui.Controls.IRegisterable {
// constructors
public SKImageSourceHandler ();
// methods
public virtual System.Threading.Tasks.Task<Microsoft.UI.Xaml.Media.ImageSource> LoadImageAsync (Microsoft.Maui.Controls.ImageSource imagesource, System.Threading.CancellationToken cancelationToken);
}
```

Просмотреть файл

@ -0,0 +1,177 @@
# API diff: SkiaSharp.Views.Maui.Controls.dll
## SkiaSharp.Views.Maui.Controls.dll
> Assembly Version Changed: 2.88.0.0 vs 0.0.0.0
### New Namespace SkiaSharp.Views.Maui.Controls
#### New Type: SkiaSharp.Views.Maui.Controls.AppHostBuilderExtensions
```csharp
public static class AppHostBuilderExtensions {
// methods
public static Microsoft.Maui.Hosting.IAppHostBuilder UseSkiaSharpHandlers (this Microsoft.Maui.Hosting.IAppHostBuilder builder);
}
```
#### New Type: SkiaSharp.Views.Maui.Controls.GetPropertyValueEventArgs`1
```csharp
public class GetPropertyValueEventArgs`1 : System.EventArgs {
// constructors
public GetPropertyValueEventArgs`1 ();
// properties
public T Value { get; set; }
}
```
#### New Type: SkiaSharp.Views.Maui.Controls.ISKCanvasViewController
```csharp
public interface ISKCanvasViewController : Microsoft.Maui.Controls.IElementController, Microsoft.Maui.Controls.IViewController, Microsoft.Maui.Controls.IVisualElementController {
// events
public event System.EventHandler<SkiaSharp.Views.Maui.Controls.GetPropertyValueEventArgs<SkiaSharp.SKSize>> GetCanvasSize;
public event System.EventHandler SurfaceInvalidated;
// methods
public virtual void OnPaintSurface (SkiaSharp.Views.Maui.SKPaintSurfaceEventArgs e);
public virtual void OnTouch (SkiaSharp.Views.Maui.SKTouchEventArgs e);
}
```
#### New Type: SkiaSharp.Views.Maui.Controls.ISKGLViewController
```csharp
public interface ISKGLViewController : Microsoft.Maui.Controls.IElementController, Microsoft.Maui.Controls.IViewController, Microsoft.Maui.Controls.IVisualElementController {
// events
public event System.EventHandler<SkiaSharp.Views.Maui.Controls.GetPropertyValueEventArgs<SkiaSharp.SKSize>> GetCanvasSize;
public event System.EventHandler<SkiaSharp.Views.Maui.Controls.GetPropertyValueEventArgs<SkiaSharp.GRContext>> GetGRContext;
public event System.EventHandler SurfaceInvalidated;
// methods
public virtual void OnPaintSurface (SkiaSharp.Views.Maui.SKPaintGLSurfaceEventArgs e);
public virtual void OnTouch (SkiaSharp.Views.Maui.SKTouchEventArgs e);
}
```
#### New Type: SkiaSharp.Views.Maui.Controls.SKBitmapImageSource
```csharp
public sealed class SKBitmapImageSource : Microsoft.Maui.Controls.ImageSource, Microsoft.Maui.Controls.IElementController, Microsoft.Maui.Controls.Internals.IDynamicResourceHandler, Microsoft.Maui.Controls.Internals.INameScope, Microsoft.Maui.IElement, Microsoft.Maui.IImageSource, SkiaSharp.Views.Maui.ISKBitmapImageSource, System.ComponentModel.INotifyPropertyChanged {
// constructors
public SKBitmapImageSource ();
// fields
public static Microsoft.Maui.Controls.BindableProperty BitmapProperty;
// properties
public override SkiaSharp.SKBitmap Bitmap { get; set; }
// methods
public override System.Threading.Tasks.Task<bool> Cancel ();
protected override void OnPropertyChanged (string propertyName);
public static SKBitmapImageSource op_Implicit (SkiaSharp.SKBitmap bitmap);
public static SkiaSharp.SKBitmap op_Implicit (SKBitmapImageSource source);
}
```
#### New Type: SkiaSharp.Views.Maui.Controls.SKCanvasView
```csharp
public class SKCanvasView : Microsoft.Maui.Controls.View, Microsoft.Maui.Controls.IAnimatable, Microsoft.Maui.Controls.IElementController, Microsoft.Maui.Controls.IGestureRecognizers, Microsoft.Maui.Controls.ITabStopElement, Microsoft.Maui.Controls.IViewController, Microsoft.Maui.Controls.IVisualElementController, Microsoft.Maui.Controls.Internals.IDynamicResourceHandler, Microsoft.Maui.Controls.Internals.IGestureController, Microsoft.Maui.Controls.Internals.INameScope, Microsoft.Maui.Controls.Internals.INavigationProxy, Microsoft.Maui.HotReload.IHotReloadableView, Microsoft.Maui.IElement, Microsoft.Maui.IFrameworkElement, Microsoft.Maui.IPropertyMapperView, Microsoft.Maui.IReplaceableView, Microsoft.Maui.ITransform, Microsoft.Maui.IView, ISKCanvasViewController, SkiaSharp.Views.Maui.ISKCanvasView, System.ComponentModel.INotifyPropertyChanged {
// constructors
public SKCanvasView ();
// fields
public static Microsoft.Maui.Controls.BindableProperty EnableTouchEventsProperty;
public static Microsoft.Maui.Controls.BindableProperty IgnorePixelScalingProperty;
// properties
public virtual SkiaSharp.SKSize CanvasSize { get; }
public override bool EnableTouchEvents { get; set; }
public override bool IgnorePixelScaling { get; set; }
// events
public event System.EventHandler<SkiaSharp.Views.Maui.SKPaintSurfaceEventArgs> PaintSurface;
public event System.EventHandler<SkiaSharp.Views.Maui.SKTouchEventArgs> Touch;
// methods
public virtual void InvalidateSurface ();
protected override Microsoft.Maui.SizeRequest OnMeasure (double widthConstraint, double heightConstraint);
protected virtual void OnPaintSurface (SkiaSharp.Views.Maui.SKPaintSurfaceEventArgs e);
protected virtual void OnTouch (SkiaSharp.Views.Maui.SKTouchEventArgs e);
}
```
#### New Type: SkiaSharp.Views.Maui.Controls.SKGLView
```csharp
public class SKGLView : Microsoft.Maui.Controls.View, Microsoft.Maui.Controls.IAnimatable, Microsoft.Maui.Controls.IElementController, Microsoft.Maui.Controls.IGestureRecognizers, Microsoft.Maui.Controls.ITabStopElement, Microsoft.Maui.Controls.IViewController, Microsoft.Maui.Controls.IVisualElementController, Microsoft.Maui.Controls.Internals.IDynamicResourceHandler, Microsoft.Maui.Controls.Internals.IGestureController, Microsoft.Maui.Controls.Internals.INameScope, Microsoft.Maui.Controls.Internals.INavigationProxy, Microsoft.Maui.HotReload.IHotReloadableView, Microsoft.Maui.IElement, Microsoft.Maui.IFrameworkElement, Microsoft.Maui.IPropertyMapperView, Microsoft.Maui.IReplaceableView, Microsoft.Maui.ITransform, Microsoft.Maui.IView, ISKGLViewController, System.ComponentModel.INotifyPropertyChanged {
// constructors
public SKGLView ();
// fields
public static Microsoft.Maui.Controls.BindableProperty EnableTouchEventsProperty;
public static Microsoft.Maui.Controls.BindableProperty HasRenderLoopProperty;
// properties
public SkiaSharp.SKSize CanvasSize { get; }
public bool EnableTouchEvents { get; set; }
public SkiaSharp.GRContext GRContext { get; }
public bool HasRenderLoop { get; set; }
// events
public event System.EventHandler<SkiaSharp.Views.Maui.SKPaintGLSurfaceEventArgs> PaintSurface;
public event System.EventHandler<SkiaSharp.Views.Maui.SKTouchEventArgs> Touch;
// methods
public void InvalidateSurface ();
protected override Microsoft.Maui.SizeRequest OnMeasure (double widthConstraint, double heightConstraint);
protected virtual void OnPaintSurface (SkiaSharp.Views.Maui.SKPaintGLSurfaceEventArgs e);
protected virtual void OnTouch (SkiaSharp.Views.Maui.SKTouchEventArgs e);
}
```
#### New Type: SkiaSharp.Views.Maui.Controls.SKImageImageSource
```csharp
public sealed class SKImageImageSource : Microsoft.Maui.Controls.ImageSource, Microsoft.Maui.Controls.IElementController, Microsoft.Maui.Controls.Internals.IDynamicResourceHandler, Microsoft.Maui.Controls.Internals.INameScope, Microsoft.Maui.IElement, Microsoft.Maui.IImageSource, SkiaSharp.Views.Maui.ISKImageImageSource, System.ComponentModel.INotifyPropertyChanged {
// constructors
public SKImageImageSource ();
// fields
public static Microsoft.Maui.Controls.BindableProperty ImageProperty;
// properties
public override SkiaSharp.SKImage Image { get; set; }
// methods
public override System.Threading.Tasks.Task<bool> Cancel ();
protected override void OnPropertyChanged (string propertyName);
public static SKImageImageSource op_Implicit (SkiaSharp.SKImage image);
public static SkiaSharp.SKImage op_Implicit (SKImageImageSource source);
}
```
#### New Type: SkiaSharp.Views.Maui.Controls.SKPictureImageSource
```csharp
public sealed class SKPictureImageSource : Microsoft.Maui.Controls.ImageSource, Microsoft.Maui.Controls.IElementController, Microsoft.Maui.Controls.Internals.IDynamicResourceHandler, Microsoft.Maui.Controls.Internals.INameScope, Microsoft.Maui.IElement, Microsoft.Maui.IImageSource, SkiaSharp.Views.Maui.ISKPictureImageSource, System.ComponentModel.INotifyPropertyChanged {
// constructors
public SKPictureImageSource ();
// fields
public static Microsoft.Maui.Controls.BindableProperty DimensionsProperty;
public static Microsoft.Maui.Controls.BindableProperty PictureProperty;
// properties
public override SkiaSharp.SKSizeI Dimensions { get; set; }
public override SkiaSharp.SKPicture Picture { get; set; }
// methods
public override System.Threading.Tasks.Task<bool> Cancel ();
protected override void OnPropertyChanged (string propertyName);
public static SkiaSharp.SKPicture op_Explicit (SKPictureImageSource source);
}
```
#### New Type: SkiaSharp.Views.Maui.Controls.SKPixmapImageSource
```csharp
public sealed class SKPixmapImageSource : Microsoft.Maui.Controls.ImageSource, Microsoft.Maui.Controls.IElementController, Microsoft.Maui.Controls.Internals.IDynamicResourceHandler, Microsoft.Maui.Controls.Internals.INameScope, Microsoft.Maui.IElement, Microsoft.Maui.IImageSource, SkiaSharp.Views.Maui.ISKPixmapImageSource, System.ComponentModel.INotifyPropertyChanged {
// constructors
public SKPixmapImageSource ();
// fields
public static Microsoft.Maui.Controls.BindableProperty PixmapProperty;
// properties
public override SkiaSharp.SKPixmap Pixmap { get; set; }
// methods
public override System.Threading.Tasks.Task<bool> Cancel ();
protected override void OnPropertyChanged (string propertyName);
public static SKPixmapImageSource op_Implicit (SkiaSharp.SKPixmap pixmap);
public static SkiaSharp.SKPixmap op_Implicit (SKPixmapImageSource source);
}
```

Просмотреть файл

@ -0,0 +1,224 @@
# API diff: SkiaSharp.Views.Maui.Core.dll
## SkiaSharp.Views.Maui.Core.dll
> Assembly Version Changed: 2.88.0.0 vs 0.0.0.0
### New Namespace SkiaSharp.Views.Maui
#### New Type: SkiaSharp.Views.Maui.Extensions
```csharp
public static class Extensions {
// methods
public static Microsoft.Maui.Graphics.Color ToMauiColor (this SkiaSharp.SKColor color);
public static Microsoft.Maui.Graphics.Color ToMauiColor (this SkiaSharp.SKColorF color);
public static Microsoft.Maui.Graphics.Point ToMauiPoint (this SkiaSharp.SKPoint point);
public static Microsoft.Maui.Graphics.Point ToMauiPoint (this SkiaSharp.SKPointI point);
public static Microsoft.Maui.Graphics.PointF ToMauiPointF (this SkiaSharp.SKPoint point);
public static Microsoft.Maui.Graphics.PointF ToMauiPointF (this SkiaSharp.SKPointI point);
public static Microsoft.Maui.Graphics.Rectangle ToMauiRectangle (this SkiaSharp.SKRect rect);
public static Microsoft.Maui.Graphics.Rectangle ToMauiRectangle (this SkiaSharp.SKRectI rect);
public static Microsoft.Maui.Graphics.RectangleF ToMauiRectangleF (this SkiaSharp.SKRect rect);
public static Microsoft.Maui.Graphics.RectangleF ToMauiRectangleF (this SkiaSharp.SKRectI rect);
public static Microsoft.Maui.Graphics.Size ToMauiSize (this SkiaSharp.SKSize size);
public static Microsoft.Maui.Graphics.Size ToMauiSize (this SkiaSharp.SKSizeI size);
public static Microsoft.Maui.Graphics.SizeF ToMauiSizeF (this SkiaSharp.SKSize size);
public static Microsoft.Maui.Graphics.SizeF ToMauiSizeF (this SkiaSharp.SKSizeI size);
public static SkiaSharp.SKColor ToSKColor (this Microsoft.Maui.Graphics.Color color);
public static SkiaSharp.SKColorF ToSKColorF (this Microsoft.Maui.Graphics.Color color);
public static SkiaSharp.SKPoint ToSKPoint (this Microsoft.Maui.Graphics.Point point);
public static SkiaSharp.SKPoint ToSKPoint (this Microsoft.Maui.Graphics.PointF point);
public static SkiaSharp.SKRect ToSKRect (this Microsoft.Maui.Graphics.Rectangle rect);
public static SkiaSharp.SKRect ToSKRect (this Microsoft.Maui.Graphics.RectangleF rect);
public static SkiaSharp.SKSize ToSKSize (this Microsoft.Maui.Graphics.Size size);
public static SkiaSharp.SKSize ToSKSize (this Microsoft.Maui.Graphics.SizeF size);
}
```
#### New Type: SkiaSharp.Views.Maui.ISKBitmapImageSource
```csharp
public interface ISKBitmapImageSource : Microsoft.Maui.IImageSource {
// properties
public virtual SkiaSharp.SKBitmap Bitmap { get; }
}
```
#### New Type: SkiaSharp.Views.Maui.ISKCanvasView
```csharp
public interface ISKCanvasView : Microsoft.Maui.IElement, Microsoft.Maui.IFrameworkElement, Microsoft.Maui.ITransform, Microsoft.Maui.IView {
// properties
public virtual SkiaSharp.SKSize CanvasSize { get; }
public virtual bool EnableTouchEvents { get; }
public virtual bool IgnorePixelScaling { get; }
// methods
public virtual void InvalidateSurface ();
public virtual void OnCanvasSizeChanged (SkiaSharp.SKSizeI size);
public virtual void OnPaintSurface (SKPaintSurfaceEventArgs e);
public virtual void OnTouch (SKTouchEventArgs e);
}
```
#### New Type: SkiaSharp.Views.Maui.ISKImageImageSource
```csharp
public interface ISKImageImageSource : Microsoft.Maui.IImageSource {
// properties
public virtual SkiaSharp.SKImage Image { get; }
}
```
#### New Type: SkiaSharp.Views.Maui.ISKPictureImageSource
```csharp
public interface ISKPictureImageSource : Microsoft.Maui.IImageSource {
// properties
public virtual SkiaSharp.SKSizeI Dimensions { get; }
public virtual SkiaSharp.SKPicture Picture { get; }
}
```
#### New Type: SkiaSharp.Views.Maui.ISKPixmapImageSource
```csharp
public interface ISKPixmapImageSource : Microsoft.Maui.IImageSource {
// properties
public virtual SkiaSharp.SKPixmap Pixmap { get; }
}
```
#### New Type: SkiaSharp.Views.Maui.SKMouseButton
```csharp
[Serializable]
public enum SKMouseButton {
Left = 1,
Middle = 2,
Right = 3,
Unknown = 0,
}
```
#### New Type: SkiaSharp.Views.Maui.SKPaintGLSurfaceEventArgs
```csharp
public class SKPaintGLSurfaceEventArgs : System.EventArgs {
// constructors
public SKPaintGLSurfaceEventArgs (SkiaSharp.SKSurface surface, SkiaSharp.GRBackendRenderTarget renderTarget);
public SKPaintGLSurfaceEventArgs (SkiaSharp.SKSurface surface, SkiaSharp.GRBackendRenderTarget renderTarget, SkiaSharp.GRSurfaceOrigin origin, SkiaSharp.SKColorType colorType);
// properties
public SkiaSharp.GRBackendRenderTarget BackendRenderTarget { get; }
public SkiaSharp.SKColorType ColorType { get; }
public SkiaSharp.GRSurfaceOrigin Origin { get; }
public SkiaSharp.SKSurface Surface { get; }
}
```
#### New Type: SkiaSharp.Views.Maui.SKPaintSurfaceEventArgs
```csharp
public class SKPaintSurfaceEventArgs : System.EventArgs {
// constructors
public SKPaintSurfaceEventArgs (SkiaSharp.SKSurface surface, SkiaSharp.SKImageInfo info);
// properties
public SkiaSharp.SKImageInfo Info { get; }
public SkiaSharp.SKSurface Surface { get; }
}
```
#### New Type: SkiaSharp.Views.Maui.SKTouchAction
```csharp
[Serializable]
public enum SKTouchAction {
Cancelled = 4,
Entered = 0,
Exited = 5,
Moved = 2,
Pressed = 1,
Released = 3,
WheelChanged = 6,
}
```
#### New Type: SkiaSharp.Views.Maui.SKTouchDeviceType
```csharp
[Serializable]
public enum SKTouchDeviceType {
Mouse = 1,
Pen = 2,
Touch = 0,
}
```
#### New Type: SkiaSharp.Views.Maui.SKTouchEventArgs
```csharp
public class SKTouchEventArgs : System.EventArgs {
// constructors
public SKTouchEventArgs (long id, SKTouchAction type, SkiaSharp.SKPoint location, bool inContact);
public SKTouchEventArgs (long id, SKTouchAction type, SKMouseButton mouseButton, SKTouchDeviceType deviceType, SkiaSharp.SKPoint location, bool inContact);
public SKTouchEventArgs (long id, SKTouchAction type, SKMouseButton mouseButton, SKTouchDeviceType deviceType, SkiaSharp.SKPoint location, bool inContact, int wheelDelta);
public SKTouchEventArgs (long id, SKTouchAction type, SKMouseButton mouseButton, SKTouchDeviceType deviceType, SkiaSharp.SKPoint location, bool inContact, int wheelDelta, float pressure);
// properties
public SKTouchAction ActionType { get; }
public SKTouchDeviceType DeviceType { get; }
public bool Handled { get; set; }
public long Id { get; }
public bool InContact { get; }
public SkiaSharp.SKPoint Location { get; }
public SKMouseButton MouseButton { get; }
public float Pressure { get; }
public int WheelDelta { get; }
// methods
public override string ToString ();
}
```
### New Namespace SkiaSharp.Views.Maui.Handlers
#### New Type: SkiaSharp.Views.Maui.Handlers.SKCanvasViewHandler
```csharp
public class SKCanvasViewHandler : Microsoft.Maui.Handlers.ViewHandler`2[SkiaSharp.Views.Maui.ISKCanvasView,SkiaSharp.Views.Windows.SKXamlCanvas], Microsoft.Maui.IElementHandler, Microsoft.Maui.INativeViewHandler, Microsoft.Maui.IViewHandler {
// constructors
public SKCanvasViewHandler ();
public SKCanvasViewHandler (Microsoft.Maui.PropertyMapper mapper);
// fields
public static Microsoft.Maui.PropertyMapper<SkiaSharp.Views.Maui.ISKCanvasView,SkiaSharp.Views.Maui.Handlers.SKCanvasViewHandler> SKCanvasViewMapper;
// methods
protected override void ConnectHandler (SkiaSharp.Views.Windows.SKXamlCanvas nativeView);
protected override SkiaSharp.Views.Windows.SKXamlCanvas CreateNativeView ();
protected override void DisconnectHandler (SkiaSharp.Views.Windows.SKXamlCanvas nativeView);
public static void MapEnableTouchEvents (SKCanvasViewHandler handler, SkiaSharp.Views.Maui.ISKCanvasView canvasView);
public static void MapIgnorePixelScaling (SKCanvasViewHandler handler, SkiaSharp.Views.Maui.ISKCanvasView canvasView);
public static void OnInvalidateSurface (SKCanvasViewHandler handler, SkiaSharp.Views.Maui.ISKCanvasView canvasView);
}
```
#### New Type: SkiaSharp.Views.Maui.Handlers.SKImageSourceService
```csharp
public class SKImageSourceService : Microsoft.Maui.ImageSourceService, Microsoft.Maui.IImageSourceService, Microsoft.Maui.IImageSourceService<SkiaSharp.Views.Maui.ISKBitmapImageSource>, Microsoft.Maui.IImageSourceService<SkiaSharp.Views.Maui.ISKImageImageSource>, Microsoft.Maui.IImageSourceService<SkiaSharp.Views.Maui.ISKPictureImageSource>, Microsoft.Maui.IImageSourceService<SkiaSharp.Views.Maui.ISKPixmapImageSource> {
// constructors
public SKImageSourceService ();
public SKImageSourceService (Microsoft.Extensions.Logging.ILogger logger);
// methods
public override System.Threading.Tasks.Task<Microsoft.Maui.IImageSourceServiceResult<Microsoft.UI.Xaml.Media.ImageSource>> GetImageSourceAsync (Microsoft.Maui.IImageSource imageSource, float scale, System.Threading.CancellationToken cancellationToken);
}
```
### New Namespace SkiaSharp.Views.Maui.Platform
#### New Type: SkiaSharp.Views.Maui.Platform.SKCanvasViewExtensions
```csharp
public static class SKCanvasViewExtensions {
// methods
public static void UpdateIgnorePixelScaling (this SkiaSharp.Views.Windows.SKXamlCanvas nativeView, SkiaSharp.Views.Maui.ISKCanvasView canvasView);
}
```

Просмотреть файл

@ -0,0 +1,19 @@
# API diff: SkiaSharp.Views.UWP.dll
## SkiaSharp.Views.UWP.dll
> Assembly Version Changed: 2.88.0.0 vs 2.80.0.0
### Namespace SkiaSharp.Views.UWP
#### Type Changed: SkiaSharp.Views.UWP.SKXamlCanvas
Modified base type:
```diff
-Windows.UI.Xaml.FrameworkElement
+Windows.UI.Xaml.Controls.Canvas
```

Просмотреть файл

@ -0,0 +1,45 @@
# API diff: SkiaSharp.Views.UWP.dll
## SkiaSharp.Views.UWP.dll
> Assembly Version Changed: 2.88.0.0 vs 2.80.0.0
### Namespace SkiaSharp.Views.UWP
#### Type Changed: SkiaSharp.Views.UWP.GlobalStaticResources
Obsoleted methods:
```diff
[Obsolete ()]
public static object FindResource (string name);
```
Added methods:
```csharp
public static void RegisterDefaultStyles ();
public static void RegisterResourceDictionariesBySource ();
```
#### Type Changed: SkiaSharp.Views.UWP.SKSwapChainPanel
Added property:
```csharp
public static bool RaiseOnUnsupported { get; set; }
```
#### Type Changed: SkiaSharp.Views.UWP.SKXamlCanvas
Modified base type:
```diff
-Windows.UI.Xaml.FrameworkElement
+Windows.UI.Xaml.Controls.Canvas
```

Просмотреть файл

@ -0,0 +1,6 @@
# API diff: SkiaSharp.Views.WPF.dll
## SkiaSharp.Views.WPF.dll
> Assembly Version Changed: 2.88.0.0 vs 2.80.0.0

Просмотреть файл

@ -0,0 +1,103 @@
# API diff: SkiaSharp.Views.Windows.dll
## SkiaSharp.Views.Windows.dll
> Assembly Version Changed: 2.88.0.0 vs 0.0.0.0
### New Namespace SkiaSharp.Views.Windows
#### New Type: SkiaSharp.Views.Windows.Extensions
```csharp
public static class Extensions {
// methods
public static System.Drawing.PointF ToDrawingPoint (this SkiaSharp.SKPoint point);
public static System.Drawing.Point ToDrawingPoint (this SkiaSharp.SKPointI point);
public static System.Drawing.RectangleF ToDrawingRect (this SkiaSharp.SKRect rect);
public static System.Drawing.Rectangle ToDrawingRect (this SkiaSharp.SKRectI rect);
public static System.Drawing.SizeF ToDrawingSize (this SkiaSharp.SKSize size);
public static System.Drawing.Size ToDrawingSize (this SkiaSharp.SKSizeI size);
public static SkiaSharp.SKPointI ToSKPoint (this System.Drawing.Point point);
public static SkiaSharp.SKPoint ToSKPoint (this System.Drawing.PointF point);
public static SkiaSharp.SKRectI ToSKRect (this System.Drawing.Rectangle rect);
public static SkiaSharp.SKRect ToSKRect (this System.Drawing.RectangleF rect);
public static SkiaSharp.SKSizeI ToSKSize (this System.Drawing.Size size);
public static SkiaSharp.SKSize ToSKSize (this System.Drawing.SizeF size);
}
```
#### New Type: SkiaSharp.Views.Windows.SKPaintGLSurfaceEventArgs
```csharp
public class SKPaintGLSurfaceEventArgs : System.EventArgs {
// constructors
public SKPaintGLSurfaceEventArgs (SkiaSharp.SKSurface surface, SkiaSharp.GRBackendRenderTarget renderTarget);
[Obsolete]
public SKPaintGLSurfaceEventArgs (SkiaSharp.SKSurface surface, SkiaSharp.GRBackendRenderTargetDesc renderTarget);
public SKPaintGLSurfaceEventArgs (SkiaSharp.SKSurface surface, SkiaSharp.GRBackendRenderTarget renderTarget, SkiaSharp.GRSurfaceOrigin origin, SkiaSharp.SKColorType colorType);
public SKPaintGLSurfaceEventArgs (SkiaSharp.SKSurface surface, SkiaSharp.GRBackendRenderTarget renderTarget, SkiaSharp.GRSurfaceOrigin origin, SkiaSharp.SKColorType colorType, SkiaSharp.GRGlFramebufferInfo glInfo);
// properties
public SkiaSharp.GRBackendRenderTarget BackendRenderTarget { get; }
public SkiaSharp.SKColorType ColorType { get; }
public SkiaSharp.GRSurfaceOrigin Origin { get; }
[Obsolete]
public SkiaSharp.GRBackendRenderTargetDesc RenderTarget { get; }
public SkiaSharp.SKSurface Surface { get; }
}
```
#### New Type: SkiaSharp.Views.Windows.SKPaintSurfaceEventArgs
```csharp
public class SKPaintSurfaceEventArgs : System.EventArgs {
// constructors
public SKPaintSurfaceEventArgs (SkiaSharp.SKSurface surface, SkiaSharp.SKImageInfo info);
// properties
public SkiaSharp.SKImageInfo Info { get; }
public SkiaSharp.SKSurface Surface { get; }
}
```
#### New Type: SkiaSharp.Views.Windows.SKXamlCanvas
```csharp
public class SKXamlCanvas : Microsoft.UI.Xaml.Controls.Canvas, Microsoft.UI.Composition.IAnimationObject, Microsoft.UI.Composition.IVisualElement, Microsoft.UI.Composition.IVisualElement2, System.IEquatable<Microsoft.UI.Xaml.Controls.Canvas>, System.IEquatable<Microsoft.UI.Xaml.Controls.Panel>, System.IEquatable<Microsoft.UI.Xaml.DependencyObject>, System.IEquatable<Microsoft.UI.Xaml.FrameworkElement>, System.IEquatable<Microsoft.UI.Xaml.UIElement>, System.Runtime.InteropServices.ICustomQueryInterface, System.Runtime.InteropServices.IDynamicInterfaceCastable, WinRT.IWinRTObject {
// constructors
public SKXamlCanvas ();
// properties
public SkiaSharp.SKSize CanvasSize { get; }
public double Dpi { get; }
public bool IgnorePixelScaling { get; set; }
// events
public event System.EventHandler<SKPaintSurfaceEventArgs> PaintSurface;
// methods
public void Invalidate ();
protected virtual void OnPaintSurface (SKPaintSurfaceEventArgs e);
}
```
#### New Type: SkiaSharp.Views.Windows.WindowsExtensions
```csharp
public static class WindowsExtensions {
// methods
public static Windows.UI.Color ToColor (this SkiaSharp.SKColor color);
public static Windows.Foundation.Point ToPoint (this SkiaSharp.SKPoint point);
public static Windows.Foundation.Rect ToRect (this SkiaSharp.SKRect rect);
public static SkiaSharp.SKBitmap ToSKBitmap (this Microsoft.UI.Xaml.Media.Imaging.WriteableBitmap bitmap);
public static SkiaSharp.SKColor ToSKColor (this Windows.UI.Color color);
public static SkiaSharp.SKImage ToSKImage (this Microsoft.UI.Xaml.Media.Imaging.WriteableBitmap bitmap);
public static bool ToSKPixmap (this Microsoft.UI.Xaml.Media.Imaging.WriteableBitmap bitmap, SkiaSharp.SKPixmap pixmap);
public static SkiaSharp.SKPoint ToSKPoint (this Windows.Foundation.Point point);
public static SkiaSharp.SKRect ToSKRect (this Windows.Foundation.Rect rect);
public static SkiaSharp.SKSize ToSKSize (this Windows.Foundation.Size size);
public static Windows.Foundation.Size ToSize (this SkiaSharp.SKSize size);
public static Microsoft.UI.Xaml.Media.Imaging.WriteableBitmap ToWriteableBitmap (this SkiaSharp.SKBitmap skiaBitmap);
public static Microsoft.UI.Xaml.Media.Imaging.WriteableBitmap ToWriteableBitmap (this SkiaSharp.SKImage skiaImage);
public static Microsoft.UI.Xaml.Media.Imaging.WriteableBitmap ToWriteableBitmap (this SkiaSharp.SKPixmap pixmap);
public static Microsoft.UI.Xaml.Media.Imaging.WriteableBitmap ToWriteableBitmap (this SkiaSharp.SKPicture picture, SkiaSharp.SKSizeI dimensions);
}
```

Просмотреть файл

@ -0,0 +1,6 @@
# API diff: SkiaSharp.Views.WindowsForms.dll
## SkiaSharp.Views.WindowsForms.dll
> Assembly Version Changed: 2.88.0.0 vs 2.80.0.0

Просмотреть файл

@ -0,0 +1,320 @@
# API diff: SkiaSharp.Views.Android.dll
## SkiaSharp.Views.Android.dll
> Assembly Version Changed: 2.88.0.0 vs 0.0.0.0
### New Namespace SkiaSharp.Views.Android
#### New Type: SkiaSharp.Views.Android.AndroidExtensions
```csharp
public static class AndroidExtensions {
// methods
public static Android.Graphics.Bitmap ToBitmap (this SkiaSharp.SKBitmap skiaBitmap);
public static Android.Graphics.Bitmap ToBitmap (this SkiaSharp.SKImage skiaImage);
public static Android.Graphics.Bitmap ToBitmap (this SkiaSharp.SKPixmap skiaPixmap);
public static Android.Graphics.Bitmap ToBitmap (this SkiaSharp.SKPicture skiaPicture, SkiaSharp.SKSizeI dimensions);
public static Android.Graphics.Color ToColor (this SkiaSharp.SKColor color);
public static Android.Graphics.Matrix ToMatrix (this SkiaSharp.SKMatrix matrix);
public static Android.Graphics.PointF ToPoint (this SkiaSharp.SKPoint point);
public static Android.Graphics.Point ToPoint (this SkiaSharp.SKPointI point);
public static Android.Graphics.RectF ToRect (this SkiaSharp.SKRect rect);
public static Android.Graphics.Rect ToRect (this SkiaSharp.SKRectI rect);
public static SkiaSharp.SKBitmap ToSKBitmap (this Android.Graphics.Bitmap bitmap);
public static SkiaSharp.SKColor ToSKColor (this Android.Graphics.Color color);
public static SkiaSharp.SKImage ToSKImage (this Android.Graphics.Bitmap bitmap);
public static SkiaSharp.SKMatrix ToSKMatrix (this Android.Graphics.Matrix matrix);
public static void ToSKPixmap (this Android.Graphics.Bitmap bitmap, SkiaSharp.SKPixmap pixmap);
public static SkiaSharp.SKPointI ToSKPoint (this Android.Graphics.Point point);
public static SkiaSharp.SKPoint ToSKPoint (this Android.Graphics.PointF point);
public static SkiaSharp.SKRectI ToSKRect (this Android.Graphics.Rect rect);
public static SkiaSharp.SKRect ToSKRect (this Android.Graphics.RectF rect);
}
```
#### New Type: SkiaSharp.Views.Android.Extensions
```csharp
public static class Extensions {
// methods
public static System.Drawing.Color ToDrawingColor (this SkiaSharp.SKColor color);
public static System.Drawing.PointF ToDrawingPoint (this SkiaSharp.SKPoint point);
public static System.Drawing.Point ToDrawingPoint (this SkiaSharp.SKPointI point);
public static System.Drawing.RectangleF ToDrawingRect (this SkiaSharp.SKRect rect);
public static System.Drawing.Rectangle ToDrawingRect (this SkiaSharp.SKRectI rect);
public static System.Drawing.SizeF ToDrawingSize (this SkiaSharp.SKSize size);
public static System.Drawing.Size ToDrawingSize (this SkiaSharp.SKSizeI size);
public static SkiaSharp.SKColor ToSKColor (this System.Drawing.Color color);
public static SkiaSharp.SKPointI ToSKPoint (this System.Drawing.Point point);
public static SkiaSharp.SKPoint ToSKPoint (this System.Drawing.PointF point);
public static SkiaSharp.SKRectI ToSKRect (this System.Drawing.Rectangle rect);
public static SkiaSharp.SKRect ToSKRect (this System.Drawing.RectangleF rect);
public static SkiaSharp.SKSizeI ToSKSize (this System.Drawing.Size size);
public static SkiaSharp.SKSize ToSKSize (this System.Drawing.SizeF size);
}
```
#### New Type: SkiaSharp.Views.Android.GLTextureView
```csharp
public class GLTextureView : Android.Views.TextureView, Android.Graphics.Drawables.Drawable.ICallback, Android.Runtime.IJavaObject, Android.Views.Accessibility.IAccessibilityEventSource, Android.Views.KeyEvent.ICallback, Android.Views.TextureView.ISurfaceTextureListener, Android.Views.View.IOnLayoutChangeListener, Java.Interop.IJavaPeerable, System.IDisposable {
// constructors
public GLTextureView (Android.Content.Context context);
public GLTextureView (Android.Content.Context context, Android.Util.IAttributeSet attrs);
// properties
public Android.Opengl.DebugFlags DebugFlags { get; set; }
public bool PreserveEGLContextOnPause { get; set; }
public Android.Opengl.Rendermode RenderMode { get; set; }
// methods
protected override void Dispose (bool disposing);
protected override void OnAttachedToWindow ();
protected override void OnDetachedFromWindow ();
public virtual void OnLayoutChange (Android.Views.View v, int left, int top, int right, int bottom, int oldLeft, int oldTop, int oldRight, int oldBottom);
public void OnPause ();
public void OnResume ();
public virtual void OnSurfaceTextureAvailable (Android.Graphics.SurfaceTexture surface, int width, int height);
public virtual bool OnSurfaceTextureDestroyed (Android.Graphics.SurfaceTexture surface);
public virtual void OnSurfaceTextureSizeChanged (Android.Graphics.SurfaceTexture surface, int w, int h);
public virtual void OnSurfaceTextureUpdated (Android.Graphics.SurfaceTexture surface);
public void QueueEvent (Java.Lang.IRunnable r);
public void QueueEvent (System.Action r);
public void RequestRender ();
public void SetEGLConfigChooser (GLTextureView.IEGLConfigChooser configChooser);
public void SetEGLConfigChooser (bool needDepth);
public void SetEGLConfigChooser (int redSize, int greenSize, int blueSize, int alphaSize, int depthSize, int stencilSize);
public void SetEGLContextClientVersion (int version);
public void SetEGLContextFactory (GLTextureView.IEGLContextFactory factory);
public void SetEGLWindowSurfaceFactory (GLTextureView.IEGLWindowSurfaceFactory factory);
public void SetGLWrapper (GLTextureView.IGLWrapper glWrapper);
public void SetRenderer (GLTextureView.IRenderer renderer);
// inner types
public interface IEGLConfigChooser {
// methods
public virtual Javax.Microedition.Khronos.Egl.EGLConfig ChooseConfig (Javax.Microedition.Khronos.Egl.IEGL10 egl, Javax.Microedition.Khronos.Egl.EGLDisplay display);
}
public interface IEGLContextFactory {
// methods
public virtual Javax.Microedition.Khronos.Egl.EGLContext CreateContext (Javax.Microedition.Khronos.Egl.IEGL10 egl, Javax.Microedition.Khronos.Egl.EGLDisplay display, Javax.Microedition.Khronos.Egl.EGLConfig eglConfig);
public virtual void DestroyContext (Javax.Microedition.Khronos.Egl.IEGL10 egl, Javax.Microedition.Khronos.Egl.EGLDisplay display, Javax.Microedition.Khronos.Egl.EGLContext context);
}
public interface IEGLWindowSurfaceFactory {
// methods
public virtual Javax.Microedition.Khronos.Egl.EGLSurface CreateWindowSurface (Javax.Microedition.Khronos.Egl.IEGL10 egl, Javax.Microedition.Khronos.Egl.EGLDisplay display, Javax.Microedition.Khronos.Egl.EGLConfig config, Java.Lang.Object nativeWindow);
public virtual void DestroySurface (Javax.Microedition.Khronos.Egl.IEGL10 egl, Javax.Microedition.Khronos.Egl.EGLDisplay display, Javax.Microedition.Khronos.Egl.EGLSurface surface);
}
public interface IGLWrapper {
// methods
public virtual Javax.Microedition.Khronos.Opengles.IGL Wrap (Javax.Microedition.Khronos.Opengles.IGL gl);
}
public interface IRenderer {
// methods
public virtual void OnDrawFrame (Javax.Microedition.Khronos.Opengles.IGL10 gl);
public virtual void OnSurfaceChanged (Javax.Microedition.Khronos.Opengles.IGL10 gl, int width, int height);
public virtual void OnSurfaceCreated (Javax.Microedition.Khronos.Opengles.IGL10 gl, Javax.Microedition.Khronos.Egl.EGLConfig config);
public virtual void OnSurfaceDestroyed ();
}
}
```
#### New Type: SkiaSharp.Views.Android.Resource
```csharp
public class Resource {
// constructors
public Resource ();
// inner types
public class Attribute {
}
}
```
#### New Type: SkiaSharp.Views.Android.SKCanvasView
```csharp
public class SKCanvasView : Android.Views.View, Android.Graphics.Drawables.Drawable.ICallback, Android.Runtime.IJavaObject, Android.Views.Accessibility.IAccessibilityEventSource, Android.Views.KeyEvent.ICallback, Java.Interop.IJavaPeerable, System.IDisposable {
// constructors
public SKCanvasView (Android.Content.Context context);
public SKCanvasView (Android.Content.Context context, Android.Util.IAttributeSet attrs);
protected SKCanvasView (IntPtr javaReference, Android.Runtime.JniHandleOwnership transfer);
public SKCanvasView (Android.Content.Context context, Android.Util.IAttributeSet attrs, int defStyleAttr);
// properties
public SkiaSharp.SKSize CanvasSize { get; }
public bool IgnorePixelScaling { get; set; }
// events
public event System.EventHandler<SKPaintSurfaceEventArgs> PaintSurface;
// methods
protected override void Dispose (bool disposing);
protected override void OnAttachedToWindow ();
protected override void OnDetachedFromWindow ();
protected override void OnDraw (Android.Graphics.Canvas canvas);
[Obsolete]
protected virtual void OnDraw (SkiaSharp.SKSurface surface, SkiaSharp.SKImageInfo info);
protected virtual void OnPaintSurface (SKPaintSurfaceEventArgs e);
protected override void OnSizeChanged (int w, int h, int oldw, int oldh);
}
```
#### New Type: SkiaSharp.Views.Android.SKGLSurfaceView
```csharp
public class SKGLSurfaceView : Android.Opengl.GLSurfaceView, Android.Graphics.Drawables.Drawable.ICallback, Android.Runtime.IJavaObject, Android.Views.Accessibility.IAccessibilityEventSource, Android.Views.ISurfaceHolderCallback, Android.Views.ISurfaceHolderCallback2, Android.Views.KeyEvent.ICallback, Java.Interop.IJavaPeerable, System.IDisposable {
// constructors
public SKGLSurfaceView (Android.Content.Context context);
public SKGLSurfaceView (Android.Content.Context context, Android.Util.IAttributeSet attrs);
// properties
public SkiaSharp.SKSize CanvasSize { get; }
public SkiaSharp.GRContext GRContext { get; }
// events
public event System.EventHandler<SKPaintGLSurfaceEventArgs> PaintSurface;
// methods
protected virtual void OnPaintSurface (SKPaintGLSurfaceEventArgs e);
[Obsolete]
public virtual void SetRenderer (SKGLSurfaceView.ISKRenderer renderer);
// inner types
public interface ISKRenderer {
// methods
public virtual void OnDrawFrame (SkiaSharp.SKSurface surface, SkiaSharp.GRBackendRenderTargetDesc renderTarget);
}
}
```
#### New Type: SkiaSharp.Views.Android.SKGLSurfaceViewRenderer
```csharp
public abstract class SKGLSurfaceViewRenderer : Java.Lang.Object, Android.Opengl.GLSurfaceView.IRenderer, Android.Runtime.IJavaObject, Java.Interop.IJavaPeerable, System.IDisposable {
// constructors
protected SKGLSurfaceViewRenderer ();
// properties
public SkiaSharp.SKSize CanvasSize { get; }
public SkiaSharp.GRContext GRContext { get; }
// methods
protected override void Dispose (bool disposing);
public virtual void OnDrawFrame (Javax.Microedition.Khronos.Opengles.IGL10 gl);
[Obsolete]
protected virtual void OnDrawFrame (SkiaSharp.SKSurface surface, SkiaSharp.GRBackendRenderTargetDesc renderTarget);
protected virtual void OnPaintSurface (SKPaintGLSurfaceEventArgs e);
public virtual void OnSurfaceChanged (Javax.Microedition.Khronos.Opengles.IGL10 gl, int width, int height);
public virtual void OnSurfaceCreated (Javax.Microedition.Khronos.Opengles.IGL10 gl, Javax.Microedition.Khronos.Egl.EGLConfig config);
}
```
#### New Type: SkiaSharp.Views.Android.SKGLTextureView
```csharp
public class SKGLTextureView : SkiaSharp.Views.Android.GLTextureView, Android.Graphics.Drawables.Drawable.ICallback, Android.Runtime.IJavaObject, Android.Views.Accessibility.IAccessibilityEventSource, Android.Views.KeyEvent.ICallback, Android.Views.TextureView.ISurfaceTextureListener, Android.Views.View.IOnLayoutChangeListener, Java.Interop.IJavaPeerable, System.IDisposable {
// constructors
public SKGLTextureView (Android.Content.Context context);
public SKGLTextureView (Android.Content.Context context, Android.Util.IAttributeSet attrs);
// properties
public SkiaSharp.SKSize CanvasSize { get; }
public SkiaSharp.GRContext GRContext { get; }
// events
public event System.EventHandler<SKPaintGLSurfaceEventArgs> PaintSurface;
// methods
protected virtual void OnPaintSurface (SKPaintGLSurfaceEventArgs e);
[Obsolete]
public virtual void SetRenderer (SKGLTextureView.ISKRenderer renderer);
// inner types
public interface ISKRenderer {
// methods
public virtual void OnDrawFrame (SkiaSharp.SKSurface surface, SkiaSharp.GRBackendRenderTargetDesc renderTarget);
}
}
```
#### New Type: SkiaSharp.Views.Android.SKGLTextureViewRenderer
```csharp
public abstract class SKGLTextureViewRenderer : Java.Lang.Object, Android.Runtime.IJavaObject, Java.Interop.IJavaPeerable, GLTextureView.IRenderer, System.IDisposable {
// constructors
protected SKGLTextureViewRenderer ();
// properties
public SkiaSharp.SKSize CanvasSize { get; }
public SkiaSharp.GRContext GRContext { get; }
// methods
protected override void Dispose (bool disposing);
public virtual void OnDrawFrame (Javax.Microedition.Khronos.Opengles.IGL10 gl);
[Obsolete]
protected virtual void OnDrawFrame (SkiaSharp.SKSurface surface, SkiaSharp.GRBackendRenderTargetDesc renderTarget);
protected virtual void OnPaintSurface (SKPaintGLSurfaceEventArgs e);
public virtual void OnSurfaceChanged (Javax.Microedition.Khronos.Opengles.IGL10 gl, int width, int height);
public virtual void OnSurfaceCreated (Javax.Microedition.Khronos.Opengles.IGL10 gl, Javax.Microedition.Khronos.Egl.EGLConfig config);
public virtual void OnSurfaceDestroyed ();
}
```
#### New Type: SkiaSharp.Views.Android.SKLockedSurface
```csharp
public class SKLockedSurface {
// properties
public SkiaSharp.SKCanvas Canvas { get; }
public SkiaSharp.SKImageInfo ImageInfo { get; }
public SkiaSharp.SKSurface Surface { get; }
}
```
#### New Type: SkiaSharp.Views.Android.SKPaintGLSurfaceEventArgs
```csharp
public class SKPaintGLSurfaceEventArgs : System.EventArgs {
// constructors
public SKPaintGLSurfaceEventArgs (SkiaSharp.SKSurface surface, SkiaSharp.GRBackendRenderTarget renderTarget);
[Obsolete]
public SKPaintGLSurfaceEventArgs (SkiaSharp.SKSurface surface, SkiaSharp.GRBackendRenderTargetDesc renderTarget);
public SKPaintGLSurfaceEventArgs (SkiaSharp.SKSurface surface, SkiaSharp.GRBackendRenderTarget renderTarget, SkiaSharp.GRSurfaceOrigin origin, SkiaSharp.SKColorType colorType);
public SKPaintGLSurfaceEventArgs (SkiaSharp.SKSurface surface, SkiaSharp.GRBackendRenderTarget renderTarget, SkiaSharp.GRSurfaceOrigin origin, SkiaSharp.SKColorType colorType, SkiaSharp.GRGlFramebufferInfo glInfo);
// properties
public SkiaSharp.GRBackendRenderTarget BackendRenderTarget { get; }
public SkiaSharp.SKColorType ColorType { get; }
public SkiaSharp.GRSurfaceOrigin Origin { get; }
[Obsolete]
public SkiaSharp.GRBackendRenderTargetDesc RenderTarget { get; }
public SkiaSharp.SKSurface Surface { get; }
}
```
#### New Type: SkiaSharp.Views.Android.SKPaintSurfaceEventArgs
```csharp
public class SKPaintSurfaceEventArgs : System.EventArgs {
// constructors
public SKPaintSurfaceEventArgs (SkiaSharp.SKSurface surface, SkiaSharp.SKImageInfo info);
// properties
public SkiaSharp.SKImageInfo Info { get; }
public SkiaSharp.SKSurface Surface { get; }
}
```
#### New Type: SkiaSharp.Views.Android.SKSurfaceView
```csharp
public class SKSurfaceView : Android.Views.SurfaceView, Android.Graphics.Drawables.Drawable.ICallback, Android.Runtime.IJavaObject, Android.Views.Accessibility.IAccessibilityEventSource, Android.Views.ISurfaceHolderCallback, Android.Views.KeyEvent.ICallback, Java.Interop.IJavaPeerable, System.IDisposable {
// constructors
public SKSurfaceView (Android.Content.Context context);
public SKSurfaceView (Android.Content.Context context, Android.Util.IAttributeSet attrs);
public SKSurfaceView (Android.Content.Context context, Android.Util.IAttributeSet attrs, int defStyle);
// properties
public SkiaSharp.SKSize CanvasSize { get; }
// methods
protected override void Dispose (bool disposing);
public SKLockedSurface LockSurface ();
public virtual void SurfaceChanged (Android.Views.ISurfaceHolder holder, Android.Graphics.Format format, int width, int height);
public virtual void SurfaceCreated (Android.Views.ISurfaceHolder holder);
public virtual void SurfaceDestroyed (Android.Views.ISurfaceHolder holder);
public void UnlockSurfaceAndPost (SKLockedSurface surface);
}
```

Просмотреть файл

@ -0,0 +1,6 @@
# API diff: SkiaSharp.Views.Desktop.dll
## SkiaSharp.Views.Desktop.dll
> Assembly Version Changed: 2.88.0.0 vs 2.80.0.0

Просмотреть файл

@ -0,0 +1,44 @@
# API diff: SkiaSharp.Views.Mac.dll
## SkiaSharp.Views.Mac.dll
> Assembly Version Changed: 2.88.0.0 vs 2.80.0.0
### Namespace SkiaSharp.Views.Mac
#### New Type: SkiaSharp.Views.Mac.SKMetalView
```csharp
public class SKMetalView : MetalKit.MTKView, AppKit.INSAccessibility, AppKit.INSAccessibilityElementProtocol, AppKit.INSAppearanceCustomization, AppKit.INSDraggingDestination, AppKit.INSTouchBarProvider, AppKit.INSUserInterfaceItemIdentification, CoreAnimation.ICALayerDelegate, Foundation.INSCoding, Foundation.INSObjectProtocol, MetalKit.IMTKViewDelegate, ObjCRuntime.INativeObject, System.ComponentModel.IComponent, System.IDisposable, System.IEquatable<Foundation.NSObject> {
// constructors
public SKMetalView ();
public SKMetalView (CoreGraphics.CGRect frame);
public SKMetalView (IntPtr p);
public SKMetalView (CoreGraphics.CGRect frame, Metal.IMTLDevice device);
// properties
public SkiaSharp.SKSize CanvasSize { get; }
public SkiaSharp.GRContext GRContext { get; }
// events
public event System.EventHandler<SKPaintMetalSurfaceEventArgs> PaintSurface;
// methods
public override void AwakeFromNib ();
protected virtual void OnPaintSurface (SKPaintMetalSurfaceEventArgs e);
}
```
#### New Type: SkiaSharp.Views.Mac.SKPaintMetalSurfaceEventArgs
```csharp
public class SKPaintMetalSurfaceEventArgs : System.EventArgs {
// constructors
public SKPaintMetalSurfaceEventArgs (SkiaSharp.SKSurface surface, SkiaSharp.GRBackendRenderTarget renderTarget);
public SKPaintMetalSurfaceEventArgs (SkiaSharp.SKSurface surface, SkiaSharp.GRBackendRenderTarget renderTarget, SkiaSharp.GRSurfaceOrigin origin, SkiaSharp.SKColorType colorType);
// properties
public SkiaSharp.GRBackendRenderTarget BackendRenderTarget { get; }
public SkiaSharp.SKColorType ColorType { get; }
public SkiaSharp.GRSurfaceOrigin Origin { get; }
public SkiaSharp.SKSurface Surface { get; }
}
```

Просмотреть файл

@ -0,0 +1,6 @@
# API diff: SkiaSharp.Views.Tizen.dll
## SkiaSharp.Views.Tizen.dll
> Assembly Version Changed: 2.88.0.0 vs 2.80.0.0

Просмотреть файл

@ -0,0 +1,6 @@
# API diff: SkiaSharp.Views.UWP.dll
## SkiaSharp.Views.UWP.dll
> Assembly Version Changed: 2.88.0.0 vs 2.80.0.0

Просмотреть файл

@ -0,0 +1,44 @@
# API diff: SkiaSharp.Views.iOS.dll
## SkiaSharp.Views.iOS.dll
> Assembly Version Changed: 2.88.0.0 vs 2.80.0.0
### Namespace SkiaSharp.Views.iOS
#### New Type: SkiaSharp.Views.iOS.SKMetalView
```csharp
public class SKMetalView : MetalKit.MTKView, CoreAnimation.ICALayerDelegate, Foundation.INSCoding, Foundation.INSObjectProtocol, MetalKit.IMTKViewDelegate, ObjCRuntime.INativeObject, System.Collections.IEnumerable, System.ComponentModel.IComponent, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAccessibilityIdentification, UIKit.IUIAppearance, UIKit.IUIAppearanceContainer, UIKit.IUICoordinateSpace, UIKit.IUIDynamicItem, UIKit.IUIFocusEnvironment, UIKit.IUIFocusItem, UIKit.IUIFocusItemContainer, UIKit.IUILargeContentViewerItem, UIKit.IUIPasteConfigurationSupporting, UIKit.IUITraitEnvironment, UIKit.IUIUserActivityRestoring {
// constructors
public SKMetalView ();
public SKMetalView (CoreGraphics.CGRect frame);
public SKMetalView (IntPtr p);
public SKMetalView (CoreGraphics.CGRect frame, Metal.IMTLDevice device);
// properties
public SkiaSharp.SKSize CanvasSize { get; }
public SkiaSharp.GRContext GRContext { get; }
// events
public event System.EventHandler<SKPaintMetalSurfaceEventArgs> PaintSurface;
// methods
public override void AwakeFromNib ();
protected virtual void OnPaintSurface (SKPaintMetalSurfaceEventArgs e);
}
```
#### New Type: SkiaSharp.Views.iOS.SKPaintMetalSurfaceEventArgs
```csharp
public class SKPaintMetalSurfaceEventArgs : System.EventArgs {
// constructors
public SKPaintMetalSurfaceEventArgs (SkiaSharp.SKSurface surface, SkiaSharp.GRBackendRenderTarget renderTarget);
public SKPaintMetalSurfaceEventArgs (SkiaSharp.SKSurface surface, SkiaSharp.GRBackendRenderTarget renderTarget, SkiaSharp.GRSurfaceOrigin origin, SkiaSharp.SKColorType colorType);
// properties
public SkiaSharp.GRBackendRenderTarget BackendRenderTarget { get; }
public SkiaSharp.SKColorType ColorType { get; }
public SkiaSharp.GRSurfaceOrigin Origin { get; }
public SkiaSharp.SKSurface Surface { get; }
}
```

Просмотреть файл

@ -0,0 +1,6 @@
# API diff: SkiaSharp.Views.tvOS.dll
## SkiaSharp.Views.tvOS.dll
> Assembly Version Changed: 2.88.0.0 vs 2.80.0.0

Просмотреть файл

@ -0,0 +1,6 @@
# API diff: SkiaSharp.Views.watchOS.dll
## SkiaSharp.Views.watchOS.dll
> Assembly Version Changed: 2.88.0.0 vs 2.80.0.0

Просмотреть файл

@ -0,0 +1,6 @@
# API diff: SkiaSharp.Vulkan.SharpVk.dll
## SkiaSharp.Vulkan.SharpVk.dll
> Assembly Version Changed: 2.88.0.0 vs 2.80.0.0

Просмотреть файл

@ -0,0 +1,263 @@
# API diff: SkiaSharp.dll
## SkiaSharp.dll
> Assembly Version Changed: 2.88.0.0 vs 2.80.0.0
### Namespace SkiaSharp
#### Type Changed: SkiaSharp.GRBackend
Added value:
```csharp
Direct3D = 4,
```
#### Type Changed: SkiaSharp.GRContext
Added property:
```csharp
public bool IsAbandoned { get; }
```
Added methods:
```csharp
public static GRContext CreateGl (GRContextOptions options);
public static GRContext CreateGl (GRGlInterface backendContext, GRContextOptions options);
public static GRContext CreateVulkan (GRVkBackendContext backendContext, GRContextOptions options);
protected override void DisposeNative ();
```
#### Type Changed: SkiaSharp.GRGlInterface
Added method:
```csharp
public static GRGlInterface CreateAngle ();
```
#### Type Changed: SkiaSharp.GRVkImageInfo
Added properties:
```csharp
public uint ImageUsageFlags { get; set; }
public uint SampleCount { get; set; }
public uint SharingMode { get; set; }
```
#### Type Changed: SkiaSharp.SKBitmap
Obsoleted properties:
```diff
[Obsolete ()]
public bool IsVolatile { get; set; }
```
#### Type Changed: SkiaSharp.SKColorSpaceXyz
Obsoleted properties:
```diff
[Obsolete ()]
public static SKColorSpaceXyz Dcip3 { get; }
```
Added property:
```csharp
public static SKColorSpaceXyz DisplayP3 { get; }
```
#### Type Changed: SkiaSharp.SKColorType
Added values:
```csharp
Bgr101010x = 20,
Bgra1010102 = 19,
```
#### Type Changed: SkiaSharp.SKData
Added property:
```csharp
public System.Span<byte> Span { get; }
```
Added methods:
```csharp
public static SKData Create (long size);
public static SKData CreateCopy (IntPtr bytes, int length);
public static SKData CreateCopy (IntPtr bytes, long length);
```
#### Type Changed: SkiaSharp.SKImage
Added property:
```csharp
public SKImageInfo Info { get; }
```
Added method:
```csharp
public SKImage ApplyImageFilter (GRContext context, SKImageFilter filter, SKRectI subset, SKRectI clipBounds, out SKRectI outSubset, out SKPointI outOffset);
```
#### Type Changed: SkiaSharp.SKPicture
Added methods:
```csharp
public static SKPicture Deserialize (SKData data);
public static SKPicture Deserialize (SKStream stream);
public static SKPicture Deserialize (System.IO.Stream stream);
public static SKPicture Deserialize (System.ReadOnlySpan<byte> data);
public static SKPicture Deserialize (IntPtr data, int length);
public SKData Serialize ();
public void Serialize (SKWStream stream);
public void Serialize (System.IO.Stream stream);
```
#### Type Changed: SkiaSharp.SKSurface
Obsoleted methods:
```diff
[Obsolete ()]
public static SKSurface CreateAsRenderTarget (GRContext context, GRBackendTexture texture, SKColorType colorType);
[Obsolete ()]
public static SKSurface CreateAsRenderTarget (GRContext context, GRBackendTexture texture, GRSurfaceOrigin origin, SKColorType colorType);
[Obsolete ()]
public static SKSurface CreateAsRenderTarget (GRContext context, GRBackendTexture texture, SKColorType colorType, SKSurfaceProperties props);
[Obsolete ()]
public static SKSurface CreateAsRenderTarget (GRContext context, GRBackendTexture texture, GRSurfaceOrigin origin, SKColorType colorType, SKSurfaceProperties props);
[Obsolete ()]
public static SKSurface CreateAsRenderTarget (GRContext context, GRBackendTexture texture, GRSurfaceOrigin origin, int sampleCount, SKColorType colorType);
[Obsolete ()]
public static SKSurface CreateAsRenderTarget (GRContext context, GRBackendTexture texture, GRSurfaceOrigin origin, int sampleCount, SKColorType colorType, SKColorSpace colorspace);
[Obsolete ()]
public static SKSurface CreateAsRenderTarget (GRContext context, GRBackendTexture texture, GRSurfaceOrigin origin, int sampleCount, SKColorType colorType, SKSurfaceProperties props);
[Obsolete ()]
public static SKSurface CreateAsRenderTarget (GRContext context, GRBackendTexture texture, GRSurfaceOrigin origin, int sampleCount, SKColorType colorType, SKColorSpace colorspace, SKSurfaceProperties props);
```
Added method:
```csharp
public void Flush ();
```
#### New Type: SkiaSharp.GRContextOptions
```csharp
public class GRContextOptions {
// constructors
public GRContextOptions ();
// properties
public bool AllowPathMaskCaching { get; set; }
public bool AvoidStencilBuffers { get; set; }
public int BufferMapThreshold { get; set; }
public bool DoManualMipmapping { get; set; }
public int GlyphCacheTextureMaximumBytes { get; set; }
public int RuntimeProgramCacheSize { get; set; }
}
```
#### New Type: SkiaSharp.SKRuntimeEffect
```csharp
public class SKRuntimeEffect : SkiaSharp.SKObject, System.IDisposable {
// properties
public System.Collections.Generic.IReadOnlyList<string> Children { get; }
public int UniformSize { get; }
public System.Collections.Generic.IReadOnlyList<string> Uniforms { get; }
// methods
public static SKRuntimeEffect Create (string sksl, out string errors);
public SKColorFilter ToColorFilter ();
public SKColorFilter ToColorFilter (SKRuntimeEffectUniforms uniforms);
public SKColorFilter ToColorFilter (SKRuntimeEffectUniforms uniforms, SKRuntimeEffectChildren children);
public SKShader ToShader (bool isOpaque);
public SKShader ToShader (bool isOpaque, SKRuntimeEffectUniforms uniforms);
public SKShader ToShader (bool isOpaque, SKRuntimeEffectUniforms uniforms, SKRuntimeEffectChildren children);
public SKShader ToShader (bool isOpaque, SKRuntimeEffectUniforms uniforms, SKRuntimeEffectChildren children, SKMatrix localMatrix);
}
```
#### New Type: SkiaSharp.SKRuntimeEffectChildren
```csharp
public class SKRuntimeEffectChildren : System.Collections.Generic.IEnumerable<string>, System.Collections.IEnumerable {
// constructors
public SKRuntimeEffectChildren (SKRuntimeEffect effect);
// properties
public int Count { get; }
public SKShader Item { set; }
public System.Collections.Generic.IReadOnlyList<string> Names { get; }
// methods
public void Add (string name, SKShader value);
public bool Contains (string name);
public virtual System.Collections.Generic.IEnumerator<string> GetEnumerator ();
public void Reset ();
public SKShader[] ToArray ();
}
```
#### New Type: SkiaSharp.SKRuntimeEffectUniform
```csharp
public struct SKRuntimeEffectUniform {
// properties
public static SKRuntimeEffectUniform Empty { get; }
public bool IsEmpty { get; }
public int Size { get; }
// methods
public void WriteTo (System.Span<byte> data);
public static SKRuntimeEffectUniform op_Implicit (SKMatrix value);
public static SKRuntimeEffectUniform op_Implicit (System.ReadOnlySpan<float> value);
public static SKRuntimeEffectUniform op_Implicit (float value);
public static SKRuntimeEffectUniform op_Implicit (float[] value);
public static SKRuntimeEffectUniform op_Implicit (float[][] value);
public static SKRuntimeEffectUniform op_Implicit (System.Span<float> value);
}
```
#### New Type: SkiaSharp.SKRuntimeEffectUniforms
```csharp
public class SKRuntimeEffectUniforms : System.Collections.Generic.IEnumerable<string>, System.Collections.IEnumerable {
// constructors
public SKRuntimeEffectUniforms (SKRuntimeEffect effect);
// properties
public int Count { get; }
public SKRuntimeEffectUniform Item { set; }
public System.Collections.Generic.IReadOnlyList<string> Names { get; }
// methods
public void Add (string name, SKRuntimeEffectUniform value);
public bool Contains (string name);
public virtual System.Collections.Generic.IEnumerator<string> GetEnumerator ();
public void Reset ();
public SKData ToData ();
}
```

Просмотреть файл

@ -29,19 +29,15 @@ Please visit https://go.microsoft.com/fwlink/?linkid=868517 to view the release
<dependencies>
<group targetFramework="net6.0-ios13.6">
<dependency id="SkiaSharp.Views.Maui.Controls" version="1.0.0" />
<dependency id="Microsoft.Maui.Controls.Compatibility" version="1.0.0" />
</group>
<group targetFramework="net6.0-maccatalyst13.5">
<dependency id="SkiaSharp.Views.Maui.Controls" version="1.0.0" />
<dependency id="Microsoft.Maui.Controls.Compatibility" version="1.0.0" />
</group>
<group targetFramework="net6.0-android30.0">
<dependency id="SkiaSharp.Views.Maui.Controls" version="1.0.0" />
<dependency id="Microsoft.Maui.Controls.Compatibility" version="1.0.0" />
</group>
<group targetFramework="net6.0-windows10.0.18362">
<dependency id="SkiaSharp.Views.Maui.Controls" version="1.0.0" />
<dependency id="Microsoft.Maui.Controls.Compatibility" version="1.0.0" />
</group>
</dependencies>

Просмотреть файл

@ -27,29 +27,23 @@ Please visit https://go.microsoft.com/fwlink/?linkid=868517 to view the release
<copyright>© Microsoft Corporation. All rights reserved.</copyright>
<dependencies>
<group targetFramework="netstandard2.0">
<!-- <group targetFramework="netstandard2.0">
<dependency id="SkiaSharp.Views.Maui.Core" version="1.0.0" />
<dependency id="Microsoft.Maui.Controls" version="1.0.0" />
</group>
<group targetFramework="netstandard2.1">
<dependency id="SkiaSharp.Views.Maui.Core" version="1.0.0" />
<dependency id="Microsoft.Maui.Controls" version="1.0.0" />
</group>
</group> -->
<group targetFramework="net6.0-ios13.6">
<dependency id="SkiaSharp.Views.Maui.Core" version="1.0.0" />
<dependency id="Microsoft.Maui.Controls" version="1.0.0" />
</group>
<group targetFramework="net6.0-maccatalyst13.5">
<dependency id="SkiaSharp.Views.Maui.Core" version="1.0.0" />
<dependency id="Microsoft.Maui.Controls" version="1.0.0" />
</group>
<group targetFramework="net6.0-android30.0">
<dependency id="SkiaSharp.Views.Maui.Core" version="1.0.0" />
<dependency id="Microsoft.Maui.Controls" version="1.0.0" />
</group>
<group targetFramework="net6.0-windows10.0.18362">
<dependency id="SkiaSharp.Views.Maui.Core" version="1.0.0" />
<dependency id="Microsoft.Maui.Controls" version="1.0.0" />
</group>
</dependencies>
@ -57,8 +51,8 @@ Please visit https://go.microsoft.com/fwlink/?linkid=868517 to view the release
<files>
<!-- SkiaSharp.Views.Maui.Controls.dll -->
<file platform="windows" src="lib/netstandard2.0/SkiaSharp.Views.Maui.Controls.dll" />
<file platform="windows" src="lib/netstandard2.1/SkiaSharp.Views.Maui.Controls.dll" />
<!-- <file platform="windows" src="lib/netstandard2.0/SkiaSharp.Views.Maui.Controls.dll" /> -->
<!-- <file platform="windows" src="lib/netstandard2.1/SkiaSharp.Views.Maui.Controls.dll" /> -->
<file platform="windows" src="lib/net6.0-android/SkiaSharp.Views.Maui.Controls.dll" target="lib/net6.0-android30.0/SkiaSharp.Views.Maui.Controls.dll" />
<file platform="windows" src="lib/net6.0-ios/SkiaSharp.Views.Maui.Controls.dll" target="lib/net6.0-ios13.6/SkiaSharp.Views.Maui.Controls.dll" />
<file platform="windows" src="lib/net6.0-maccatalyst/SkiaSharp.Views.Maui.Controls.dll" target="lib/net6.0-maccatalyst13.5/SkiaSharp.Views.Maui.Controls.dll" />

Просмотреть файл

@ -27,33 +27,27 @@ Please visit https://go.microsoft.com/fwlink/?linkid=868517 to view the release
<copyright>© Microsoft Corporation. All rights reserved.</copyright>
<dependencies>
<group targetFramework="netstandard2.0">
<!-- <group targetFramework="netstandard2.0">
<dependency id="SkiaSharp" version="1.0.0" />
<dependency id="Microsoft.Maui.Core" version="1.0.0" />
</group>
<group targetFramework="netstandard2.1">
<dependency id="SkiaSharp" version="1.0.0" />
<dependency id="Microsoft.Maui.Core" version="1.0.0" />
</group>
</group> -->
<group targetFramework="net6.0-ios13.6">
<dependency id="SkiaSharp" version="1.0.0" />
<dependency id="SkiaSharp.Views" version="1.0.0" />
<dependency id="Microsoft.Maui.Core" version="1.0.0" />
</group>
<group targetFramework="net6.0-maccatalyst13.5">
<dependency id="SkiaSharp" version="1.0.0" />
<dependency id="SkiaSharp.Views" version="1.0.0" />
<dependency id="Microsoft.Maui.Core" version="1.0.0" />
</group>
<group targetFramework="net6.0-android30.0">
<dependency id="SkiaSharp" version="1.0.0" />
<dependency id="SkiaSharp.Views" version="1.0.0" />
<dependency id="Microsoft.Maui.Core" version="1.0.0" />
</group>
<group targetFramework="net6.0-windows10.0.18362">
<dependency id="SkiaSharp" version="1.0.0" />
<dependency id="SkiaSharp.Views.WinUI" version="1.0.0" />
<dependency id="Microsoft.Maui.Core" version="1.0.0" />
</group>
</dependencies>
@ -61,8 +55,8 @@ Please visit https://go.microsoft.com/fwlink/?linkid=868517 to view the release
<files>
<!-- SkiaSharp.Views.Maui.Core.dll -->
<file platform="windows" src="lib/netstandard2.0/SkiaSharp.Views.Maui.Core.dll" />
<file platform="windows" src="lib/netstandard2.1/SkiaSharp.Views.Maui.Core.dll" />
<!-- <file platform="windows" src="lib/netstandard2.0/SkiaSharp.Views.Maui.Core.dll" /> -->
<!-- <file platform="windows" src="lib/netstandard2.1/SkiaSharp.Views.Maui.Core.dll" /> -->
<file platform="windows" src="lib/net6.0-android/SkiaSharp.Views.Maui.Core.dll" target="lib/net6.0-android30.0/SkiaSharp.Views.Maui.Core.dll" />
<file platform="windows" src="lib/net6.0-ios/SkiaSharp.Views.Maui.Core.dll" target="lib/net6.0-ios13.6/SkiaSharp.Views.Maui.Core.dll" />
<file platform="windows" src="lib/net6.0-maccatalyst/SkiaSharp.Views.Maui.Core.dll" target="lib/net6.0-maccatalyst13.5/SkiaSharp.Views.Maui.Core.dll" />

Просмотреть файл

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<package>
<metadata>
<id>_NuGetsPreview</id>
<title>Build NuGets</title>
<version>1.0.0</version>
<description>All the preview NuGet packages from the build.</description>
<summary>All the preview NuGet packages from the build.</summary>
<authors>Microsoft</authors>
</metadata>
<files>
<file src="*-*.nupkg" exclude="_*" target="tools/" />
</files>
</package>

Просмотреть файл

@ -0,0 +1,8 @@
<maui:MauiWinUIApplication
x:Class="SkiaSharpSample.WinUI.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:maui="using:Microsoft.Maui"
xmlns:local="using:SkiaSharpSample.WinUI">
</maui:MauiWinUIApplication>

Просмотреть файл

@ -0,0 +1,22 @@
using Microsoft.Maui;
using Microsoft.UI.Xaml;
namespace SkiaSharpSample.WinUI
{
public partial class App : MauiWinUIApplication
{
public App()
{
InitializeComponent();
}
protected override IStartup OnCreateStartup() => new Startup();
protected override void OnLaunched(LaunchActivatedEventArgs args)
{
base.OnLaunched(args);
Microsoft.Maui.Essentials.Platform.OnLaunched(args);
}
}
}

Просмотреть файл

@ -1,7 +1,8 @@
{
"profiles": {
"SkiaSharpSample.WinUI": {
"commandName": "AppContainer"
"commandName": "MsixPackage",
"nativeDebugging": true
}
}
}

Просмотреть файл

@ -6,6 +6,8 @@
<TargetPlatformMinVersion>10.0.17763.0</TargetPlatformMinVersion>
<SingleProject>true</SingleProject>
<RootNamespace>SkiaSharpSample</RootNamespace>
<UseMaui>true</UseMaui>
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
<!-- Required - Enable Single Project for WinUI -->
<EnablePreviewMsixTooling>true</EnablePreviewMsixTooling>
@ -18,14 +20,10 @@
</ItemGroup>
<ItemGroup>
<Compile Include="..\SkiaSharpSample\**\*.cs" Exclude="..\SkiaSharpSample\bin\**;..\SkiaSharpSample\obj\**;..\SkiaSharpSample\Android\**;..\SkiaSharpSample\iOS\**;..\SkiaSharpSample\MacCatalyst\**" Link="%(RecursiveDir)%(Filename)%(Extension)" />
<Compile Include="..\SkiaSharpSample\**\*.cs" Exclude="..\SkiaSharpSample\bin\**;..\SkiaSharpSample\obj\**;..\SkiaSharpSample\Platforms\**" Link="%(RecursiveDir)%(Filename)%(Extension)" />
<MauiXaml Include="..\SkiaSharpSample\**\*.xaml" Exclude="..\SkiaSharpSample\bin\**;..\SkiaSharpSample\obj\**" Link="%(RecursiveDir)%(FileName)%(Extension)" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Maui" Version="6.0.100-preview.5.794" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\..\binding\SkiaSharp\SkiaSharp.csproj" />
<ProjectReference Include="..\..\..\..\source\SkiaSharp.Views.Maui\SkiaSharp.Views.Maui.Controls.Compatibility\SkiaSharp.Views.Maui.Controls.Compatibility.csproj" />
@ -33,11 +31,9 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.ProjectReunion" Version="0.8.0-preview" />
<PackageReference Include="Microsoft.ProjectReunion.Foundation" Version="0.8.0-preview" />
<PackageReference Include="Microsoft.ProjectReunion.WinUI" Version="0.8.0-preview" />
<FrameworkReference Update="Microsoft.Windows.SDK.NET.Ref" RuntimeFrameworkVersion="10.0.19041.16" />
<FrameworkReference Update="Microsoft.Windows.SDK.NET.Ref" TargetingPackVersion="10.0.19041.16" />
<PackageReference Include="Microsoft.ProjectReunion" Version="0.8.0" />
<PackageReference Include="Microsoft.ProjectReunion.Foundation" Version="0.8.0" />
<PackageReference Include="Microsoft.ProjectReunion.WinUI" Version="0.8.0" />
</ItemGroup>
<ItemGroup>

Просмотреть файл

@ -1,15 +0,0 @@
<local:MiddleApp
x:Class="SkiaSharpSample.WinUI.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:SkiaSharpSample.WinUI">
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<XamlControlsResources xmlns="using:Microsoft.UI.Xaml.Controls" />
<!-- Other merged dictionaries here -->
</ResourceDictionary.MergedDictionaries>
<!-- Other app resources here -->
</ResourceDictionary>
</Application.Resources>
</local:MiddleApp>

Просмотреть файл

@ -1,34 +0,0 @@
using Microsoft.Maui;
using Microsoft.UI.Xaml;
using Windows.ApplicationModel;
// To learn more about WinUI, the WinUI project structure,
// and more about our project templates, see: http://aka.ms/winui-project-info.
namespace SkiaSharpSample.WinUI
{
/// <summary>
/// Provides application-specific behavior to supplement the default Application class.
/// </summary>
public partial class App : MiddleApp
{
/// <summary>
/// Initializes the singleton application object. This is the first line of authored code
/// executed, and as such is the logical equivalent of main() or WinMain().
/// </summary>
public App()
{
this.InitializeComponent();
}
protected override void OnLaunched(LaunchActivatedEventArgs args)
{
base.OnLaunched(args);
Microsoft.Maui.Essentials.Platform.OnLaunched(args);
}
}
public class MiddleApp : MauiWinUIApplication<Startup>
{
}
}

Просмотреть файл

@ -1,7 +1,9 @@
<Application xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:windows="clr-namespace:Microsoft.Maui.Controls.PlatformConfiguration.WindowsSpecific;assembly=Microsoft.Maui.Controls"
xmlns:local="clr-namespace:SkiaSharpSample"
x:Class="SkiaSharpSample.App">
x:Class="SkiaSharpSample.App"
windows:Application.ImageDirectory="Assets">
<Application.Resources>
</Application.Resources>

Просмотреть файл

@ -1,8 +1,4 @@
using Microsoft.Maui;
using Microsoft.Maui.Controls;
using Microsoft.Maui.Controls.PlatformConfiguration.WindowsSpecific;
using Application = Microsoft.Maui.Controls.Application;
using WindowsConfiguration = Microsoft.Maui.Controls.PlatformConfiguration.Windows;
using Microsoft.Maui.Controls;
namespace SkiaSharpSample
{
@ -11,13 +7,8 @@ namespace SkiaSharpSample
public App()
{
InitializeComponent();
}
protected override IWindow CreateWindow(IActivationState activationState)
{
On<WindowsConfiguration>().SetImageDirectory("Assets");
return new Window(new MainPage());
MainPage = new MainPage();
}
}
}

Просмотреть файл

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
</dict>
</plist>

Просмотреть файл

@ -1,15 +0,0 @@
using UIKit;
namespace SkiaSharpSample
{
public class Program
{
// This is the main entry point of the application.
static void Main(string[] args)
{
// if you want to use a different Application Delegate class from "AppDelegate"
// you can specify it here.
UIApplication.Main(args, null, "AppDelegate");
}
}
}

Просмотреть файл

@ -1,7 +1,6 @@
using Microsoft.Maui.Controls;
using SkiaSharp;
using SkiaSharp.Views.Maui;
using SkiaSharp.Views.Maui.Controls;
namespace SkiaSharpSample
{

Просмотреть файл

@ -3,8 +3,8 @@ using Microsoft.Maui;
namespace SkiaSharpSample
{
[Register("AppDelegate")]
[Register(nameof(AppDelegate))]
public class AppDelegate : MauiUIApplicationDelegate<Startup>
{
}
}
}

Просмотреть файл

@ -0,0 +1,12 @@
using UIKit;
namespace SkiaSharpSample
{
public class Program
{
static void Main(string[] args)
{
UIApplication.Main(args, null, typeof(AppDelegate));
}
}
}

Просмотреть файл

@ -3,8 +3,8 @@ using Microsoft.Maui;
namespace SkiaSharpSample
{
[Register("AppDelegate")]
[Register(nameof(AppDelegate))]
public class AppDelegate : MauiUIApplicationDelegate<Startup>
{
}
}
}

Просмотреть файл

@ -0,0 +1,12 @@
using UIKit;
namespace SkiaSharpSample
{
public class Program
{
static void Main(string[] args)
{
UIApplication.Main(args, null, typeof(AppDelegate));
}
}
}

Просмотреть файл

@ -9,6 +9,7 @@
<ApplicationId>com.companyname.SkiaSharpSample</ApplicationId>
<ApplicationVersion>1.0</ApplicationVersion>
<AndroidVersionCode>1</AndroidVersionCode>
<UseMaui>true</UseMaui>
</PropertyGroup>
<ItemGroup>
@ -16,10 +17,6 @@
<MauiSplashScreen Include="Resources\skiasharplogo.png" BaseSize="256" Color="#F8F8F8" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Maui" Version="6.0.100-preview.5.794" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\..\binding\SkiaSharp\SkiaSharp.csproj" />
<ProjectReference Include="..\..\..\..\source\SkiaSharp.Views.Maui\SkiaSharp.Views.Maui.Controls.Compatibility\SkiaSharp.Views.Maui.Controls.Compatibility.csproj" />

Просмотреть файл

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
</dict>
</plist>

Просмотреть файл

@ -1,15 +0,0 @@
using UIKit;
namespace SkiaSharpSample
{
public class Program
{
// This is the main entry point of the application.
static void Main(string[] args)
{
// if you want to use a different Application Delegate class from "AppDelegate"
// you can specify it here.
UIApplication.Main(args, null, "AppDelegate");
}
}
}

Просмотреть файл

@ -5,4 +5,8 @@
<SkipImportNetSdk>true</SkipImportNetSdk>
</PropertyGroup>
<PropertyGroup>
<GenerateRuntimeConfigurationFiles>false</GenerateRuntimeConfigurationFiles>
</PropertyGroup>
</Project>

Просмотреть файл

@ -25,9 +25,8 @@ variables:
XCODE_VERSION: 12.4
DOTNET_VERSION_PREVIOUS: 3.1.410
DOTNET_VERSION: 5.0.301
DOTNET_VERSION_PREVIEW: 6.0.100-preview.5.21302.13
DOTNET_VERSION_PREVIEW: 6.0.100-preview.6.21355.2
VS_VERSION_PREVIEW: 16/pre
MAUI_CHECK_MANIFEST: https://raw.githubusercontent.com/Redth/dotnet-maui-check/165c910079623e73ecb04c50bade01da1f78f6c9/manifests/maui-preview.manifest.json
CONFIGURATION: 'Release'
VM_IMAGE_WINDOWS: windows-2019
VM_IMAGE_WINDOWS_PREVIOUS: vs2017-win2016

Просмотреть файл

@ -123,7 +123,7 @@ jobs:
- pwsh: .\scripts\install-vs.ps1 -Version $env:VS_VERSION_PREVIEW
displayName: Install Visual Studio Preview
- ${{ if not(endsWith(parameters.name, '_linux')) }}:
- pwsh: .\scripts\install-maui.ps1 -Manifest $env:MAUI_CHECK_MANIFEST -InstallDir "$env:AGENT_TOOLSDIRECTORY/dotnet"
- pwsh: .\scripts\install-maui.ps1 -InstallDir "$env:AGENT_TOOLSDIRECTORY/dotnet"
displayName: Install the .NET Core workloads
# display dotnet info
- pwsh: dotnet --info

Просмотреть файл

@ -12,11 +12,12 @@ Write-Host "Installing maui-check..."
Write-Host "Installing Maui..."
& maui-check `
--manifest "$Manifest" `
--preview `
--verbose --ci --fix --non-interactive `
--skip androidsdk `
--skip xcode `
--skip vswin `
--skip vsmac
--skip vsmac `
--skip edgewebview2
exit $LASTEXITCODE

Просмотреть файл

@ -108,11 +108,7 @@ namespace SkiaSharp.Views.Forms
}
#endif
#if __MAUI__ && __ANDROID__
protected override void OnElementChanged(Microsoft.Maui.Controls.Compatibility.Platform.Android.ElementChangedEventArgs<TFormsView> e)
#else
protected override void OnElementChanged(ElementChangedEventArgs<TFormsView> e)
#endif
{
if (e.OldElement != null)
{

Просмотреть файл

@ -102,11 +102,7 @@ namespace SkiaSharp.Views.Forms
}
#endif
#if __MAUI__ && __ANDROID__
protected override void OnElementChanged(Microsoft.Maui.Controls.Compatibility.Platform.Android.ElementChangedEventArgs<TFormsView> e)
#else
protected override void OnElementChanged(ElementChangedEventArgs<TFormsView> e)
#endif
{
if (e.OldElement != null)
{

Просмотреть файл

@ -9,10 +9,8 @@
<SignAssembly>false</SignAssembly>
<DefineConstants>$(DefineConstants);__MAUI__</DefineConstants>
<PackagingPlatform Condition="$(TargetFramework.Contains('-windows'))">net6.0-windows</PackagingPlatform>
<UseMaui>true</UseMaui>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Maui.Controls.Compatibility" Version="6.0.100-preview.5.794" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\binding\SkiaSharp\SkiaSharp.csproj" />
<ProjectReference Include="..\SkiaSharp.Views.Maui.Core\SkiaSharp.Views.Maui.Core.csproj" />

Просмотреть файл

@ -1,6 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>netstandard2.0;netstandard2.1;net6.0-ios;net6.0-maccatalyst;net6.0-android</TargetFrameworks>
<TargetFrameworks>net6.0-ios;net6.0-maccatalyst;net6.0-android</TargetFrameworks>
<TargetFrameworks Condition="$(IsWindows)">$(TargetFrameworks);net6.0-windows10.0.19041</TargetFrameworks>
<TargetPlatformMinVersion Condition="$(TargetFramework.Contains('-windows'))">10.0.17763.0</TargetPlatformMinVersion>
<PackagingGroup>SkiaSharp.Views.Maui.Controls</PackagingGroup>
@ -9,10 +9,8 @@
<SignAssembly>false</SignAssembly>
<DefineConstants>$(DefineConstants);__MAUI__</DefineConstants>
<PackagingPlatform Condition="$(TargetFramework.Contains('-windows'))">net6.0-windows</PackagingPlatform>
<UseMaui>true</UseMaui>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Maui.Controls" Version="6.0.100-preview.5.794" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\binding\SkiaSharp\SkiaSharp.csproj" />
<ProjectReference Include="..\SkiaSharp.Views.Maui.Core\SkiaSharp.Views.Maui.Core.csproj" />

Просмотреть файл

@ -1,6 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>netstandard2.0;netstandard2.1;net6.0-ios;net6.0-maccatalyst;net6.0-android</TargetFrameworks>
<TargetFrameworks>net6.0-ios;net6.0-maccatalyst;net6.0-android</TargetFrameworks>
<TargetFrameworks Condition="$(IsWindows)">$(TargetFrameworks);net6.0-windows10.0.19041</TargetFrameworks>
<TargetPlatformMinVersion Condition="$(TargetFramework.Contains('-windows'))">10.0.17763.0</TargetPlatformMinVersion>
<PackagingGroup>SkiaSharp.Views.Maui.Core</PackagingGroup>
@ -10,10 +10,8 @@
<SignAssembly>false</SignAssembly>
<DefineConstants>$(DefineConstants);__MAUI__</DefineConstants>
<PackagingPlatform Condition="$(TargetFramework.Contains('-windows'))">net6.0-windows</PackagingPlatform>
<UseMauiCore>true</UseMauiCore>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Maui.Core" Version="6.0.100-preview.5.794" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\binding\SkiaSharp\SkiaSharp.csproj" />
</ItemGroup>

Просмотреть файл

@ -0,0 +1,14 @@
{
"solution": {
"path": "SkiaSharpSource.Windows.sln",
"projects": [
"..\\binding\\HarfBuzzSharp\\HarfBuzzSharp.csproj",
"..\\binding\\SkiaSharp\\SkiaSharp.csproj",
"SkiaSharp.Views.Maui\\SkiaSharp.Views.Maui.Controls.Compatibility\\SkiaSharp.Views.Maui.Controls.Compatibility.csproj",
"SkiaSharp.Views.Maui\\SkiaSharp.Views.Maui.Controls\\SkiaSharp.Views.Maui.Controls.csproj",
"SkiaSharp.Views.Maui\\SkiaSharp.Views.Maui.Core\\SkiaSharp.Views.Maui.Core.csproj",
"SkiaSharp.Views.WinUI\\SkiaSharp.Views.WinUI\\SkiaSharp.Views.WinUI.csproj",
"SkiaSharp.Views\\SkiaSharp.Views\\SkiaSharp.Views.csproj"
]
}
}

Просмотреть файл

@ -0,0 +1,36 @@
{
"solution": {
"path": "SkiaSharpSource.Windows.sln",
"projects": [
"..\\binding\\HarfBuzzSharp.Android\\HarfBuzzSharp.Android.csproj",
"..\\binding\\HarfBuzzSharp.Tizen\\HarfBuzzSharp.Tizen.csproj",
"..\\binding\\HarfBuzzSharp.UWP\\HarfBuzzSharp.UWP.csproj",
"..\\binding\\HarfBuzzSharp\\HarfBuzzSharp.csproj",
"..\\binding\\SkiaSharp.Android\\SkiaSharp.Android.csproj",
"..\\binding\\SkiaSharp.Tizen\\SkiaSharp.Tizen.csproj",
"..\\binding\\SkiaSharp.UWP\\SkiaSharp.UWP.csproj",
"..\\binding\\SkiaSharp\\SkiaSharp.csproj",
"SkiaSharp.DotNet.Interactive\\SkiaSharp.DotNet.Interactive.csproj",
"SkiaSharp.HarfBuzz\\SkiaSharp.HarfBuzz\\SkiaSharp.HarfBuzz.csproj",
"SkiaSharp.Views.Forms\\SkiaSharp.Views.Forms.Android\\SkiaSharp.Views.Forms.Android.csproj",
"SkiaSharp.Views.Forms\\SkiaSharp.Views.Forms.Tizen\\SkiaSharp.Views.Forms.Tizen.csproj",
"SkiaSharp.Views.Forms\\SkiaSharp.Views.Forms.UWP\\SkiaSharp.Views.Forms.UWP.csproj",
"SkiaSharp.Views.Forms\\SkiaSharp.Views.Forms.WPF\\SkiaSharp.Views.Forms.WPF.csproj",
"SkiaSharp.Views.Forms\\SkiaSharp.Views.Forms\\SkiaSharp.Views.Forms.csproj",
"SkiaSharp.Views.Uno\\SkiaSharp.Views.Uno.Android\\SkiaSharp.Views.Uno.Android.csproj",
"SkiaSharp.Views.Uno\\SkiaSharp.Views.Uno.Reference\\SkiaSharp.Views.Uno.Reference.csproj",
"SkiaSharp.Views.Uno\\SkiaSharp.Views.Uno.Skia\\SkiaSharp.Views.Uno.Skia.csproj",
"SkiaSharp.Views.Uno\\SkiaSharp.Views.Uno.Wasm\\SkiaSharp.Views.Uno.Wasm.csproj",
"SkiaSharp.Views.WinUI\\SkiaSharp.Views.WinUI\\SkiaSharp.Views.WinUI.csproj",
"SkiaSharp.Views\\SkiaSharp.Views.Android\\SkiaSharp.Views.Android.csproj",
"SkiaSharp.Views\\SkiaSharp.Views.Desktop.Common\\SkiaSharp.Views.Desktop.Common.csproj",
"SkiaSharp.Views\\SkiaSharp.Views.Desktop\\SkiaSharp.Views.Desktop.csproj",
"SkiaSharp.Views\\SkiaSharp.Views.Gtk3\\SkiaSharp.Views.Gtk3.csproj",
"SkiaSharp.Views\\SkiaSharp.Views.Tizen\\SkiaSharp.Views.Tizen.csproj",
"SkiaSharp.Views\\SkiaSharp.Views.UWP\\SkiaSharp.Views.UWP.csproj",
"SkiaSharp.Views\\SkiaSharp.Views.WPF\\SkiaSharp.Views.WPF.csproj",
"SkiaSharp.Views\\SkiaSharp.Views.WindowsForms\\SkiaSharp.Views.WindowsForms.csproj",
"SkiaSharp.Vulkan\\SkiaSharp.Vulkan.SharpVk\\SkiaSharp.Vulkan.SharpVk.csproj"
]
}
}