In this new release of SkiaSharp, are are so many improvements, but this release is really all about our new SkiaSharp Views, Controls and Layers. And SkiaSharp for Xamarin.Forms!
Here are the release notes: https://github.com/mono/SkiaSharp/releases/tag/v1.54.1
SkiaSharp
- Class library projects that depend on SkiaSharp no longer copy the native files:
- The class library doesn't need them, only the app does
- This allows for building the library as
Any CPU
- This applies to macOS/Classic Desktop/WPF/UWP as the other platforms are embedded
- The native files can be copied by adding an element to the
<PropertyGroup>
section of the class library:
<ShouldIncludeNativeSkiaSharp>True</ShouldIncludeNativeSkiaSharp>
SKMatrix
updatesNEW
Now property basedbreaking change
NEW
Support for reading/writing as a flat array
GRGlInterface
improvementsNEW
Added support for creating an ANGLE interfaceNEW
Improved the assembly of a GL interface
- Massive size reduction for Windows/UWP native binaries
- Thanks to @xoofx for finding
- Fix in PR https://github.com/mono/skia/pull/25 or commit https://github.com/mono/skia/commit/a85cb36675651b4858957ff2ad6540a80b3cefa7
- Reduction from >15MB per platform architecture to <5MB
NuGet: https://www.nuget.org/packages/SkiaSharp/1.54.1
NEW
SkiaSharp.Views (preview)
A set of pre-prepared UI views, panels and surfaces for drawing. One of these views can be added to the view hierachy, and then be used for drawing without the need for complex setup. There is also a set of extension methods for converting to/from SkiaSharp and native types.
- Available for all supported platforms (currently using OpenTK except on UWP):
- iOS/tvOS: CPU/GPU (using OpenGLES) views and layers
- Android: CPU/GPU (using OpenGLES) views and surfaces
- macOS: CPU/GPU (using OpenGL) views and layers
- Classic Desktop/WPF: CPU/GPU (currently using OpenGL) views and elements
- UWP: CPU/GPU (using ANGLE over DirectX) views
- Using native features and cross-platform for drawing hooks:
- iOS/tvOS/macOS: delegates, overrides and events
- Android: overrides, renderers and events
- Classic Desktop/WPF/UWP: overrides and events
NuGet: https://www.nuget.org/packages/SkiaSharp.Views/1.54.1-beta1
NEW
SkiaSharp.Views.Forms (preview)
A set of pre-prepared views for Xamarin.Forms, for fully cross-platform drawing code. There are views for both CPU and GPU backends, along with extension methods for converting to/from SkiaSharp and Xamarin.Forms types. Currently available for iOS, Android and UWP.
NuGet: https://www.nuget.org/packages/SkiaSharp.Views.Forms/1.54.1-beta1
Samples
All the samples have been re-written from the ground up to both improve the actual apps as well as to improve the development experience.