From f43e3143ee01d6418e2514d026f7952db9747874 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gy=C3=B6rgy=20K=C5=91szeg?=
Date: Fri, 16 Jun 2023 15:14:28 +0200
Subject: [PATCH] Updating project files and description
---
...ng.DebuggerVisualizers.GdiPlus.Test.csproj | 4 +--
...Drawing.DebuggerVisualizers.GdiPlus.csproj | 4 +--
...awing.DebuggerVisualizers.SkiaSharp.csproj | 4 +--
....DebuggerVisualizers.SkiaSharp.Test.csproj | 4 +--
...rawing.DebuggerVisualizers.Wpf.Test.csproj | 4 +--
...oft.Drawing.DebuggerVisualizers.Wpf.csproj | 4 +--
...KGySoft.Drawing.DebuggerVisualizers.csproj | 4 +--
.../KGySoft.Drawing.ImagingTools.csproj | 4 +--
README.md | 36 ++++++++++++-------
.../readme.md | 7 ++--
changelog.txt | 9 +++++
11 files changed, 54 insertions(+), 30 deletions(-)
diff --git a/DebuggerVisualizers/GdiPlus/KGySoft.Drawing.DebuggerVisualizers.GdiPlus.Test/KGySoft.Drawing.DebuggerVisualizers.GdiPlus.Test.csproj b/DebuggerVisualizers/GdiPlus/KGySoft.Drawing.DebuggerVisualizers.GdiPlus.Test/KGySoft.Drawing.DebuggerVisualizers.GdiPlus.Test.csproj
index 0efa87f..54f105a 100644
--- a/DebuggerVisualizers/GdiPlus/KGySoft.Drawing.DebuggerVisualizers.GdiPlus.Test/KGySoft.Drawing.DebuggerVisualizers.GdiPlus.Test.csproj
+++ b/DebuggerVisualizers/GdiPlus/KGySoft.Drawing.DebuggerVisualizers.GdiPlus.Test/KGySoft.Drawing.DebuggerVisualizers.GdiPlus.Test.csproj
@@ -1,8 +1,8 @@
-
- net462
+ net35;net40;net45;net462;net6.0-windows
+
false
KGySoft.Drawing.DebuggerVisualizers.GdiPlus.Test
true
diff --git a/DebuggerVisualizers/GdiPlus/KGySoft.Drawing.DebuggerVisualizers.GdiPlus/KGySoft.Drawing.DebuggerVisualizers.GdiPlus.csproj b/DebuggerVisualizers/GdiPlus/KGySoft.Drawing.DebuggerVisualizers.GdiPlus/KGySoft.Drawing.DebuggerVisualizers.GdiPlus.csproj
index c80811e..18b19fe 100644
--- a/DebuggerVisualizers/GdiPlus/KGySoft.Drawing.DebuggerVisualizers.GdiPlus/KGySoft.Drawing.DebuggerVisualizers.GdiPlus.csproj
+++ b/DebuggerVisualizers/GdiPlus/KGySoft.Drawing.DebuggerVisualizers.GdiPlus/KGySoft.Drawing.DebuggerVisualizers.GdiPlus.csproj
@@ -1,8 +1,8 @@
-
- net462
+ net35;net40;net45;net462;net6.0-windows
+
false
KGySoft.Drawing.DebuggerVisualizers.GdiPlus
bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml
diff --git a/DebuggerVisualizers/SkiaSharp/DebuggerVisualizers/KGySoft.Drawing.DebuggerVisualizers.SkiaSharp.csproj b/DebuggerVisualizers/SkiaSharp/DebuggerVisualizers/KGySoft.Drawing.DebuggerVisualizers.SkiaSharp.csproj
index 7140e9a..472586a 100644
--- a/DebuggerVisualizers/SkiaSharp/DebuggerVisualizers/KGySoft.Drawing.DebuggerVisualizers.SkiaSharp.csproj
+++ b/DebuggerVisualizers/SkiaSharp/DebuggerVisualizers/KGySoft.Drawing.DebuggerVisualizers.SkiaSharp.csproj
@@ -1,8 +1,8 @@
-
- net462
+ net462;net6.0-windows
+
false
KGySoft.Drawing.DebuggerVisualizers.SkiaSharp
bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml
diff --git a/DebuggerVisualizers/SkiaSharp/Test/KGySoft.Drawing.DebuggerVisualizers.SkiaSharp.Test.csproj b/DebuggerVisualizers/SkiaSharp/Test/KGySoft.Drawing.DebuggerVisualizers.SkiaSharp.Test.csproj
index 94a4280..2bf914b 100644
--- a/DebuggerVisualizers/SkiaSharp/Test/KGySoft.Drawing.DebuggerVisualizers.SkiaSharp.Test.csproj
+++ b/DebuggerVisualizers/SkiaSharp/Test/KGySoft.Drawing.DebuggerVisualizers.SkiaSharp.Test.csproj
@@ -1,8 +1,8 @@
-
- net462
+ net462;net6.0-windows
+
WinExe
enable
true
diff --git a/DebuggerVisualizers/Wpf/KGySoft.Drawing.DebuggerVisualizers.Wpf.Test/KGySoft.Drawing.DebuggerVisualizers.Wpf.Test.csproj b/DebuggerVisualizers/Wpf/KGySoft.Drawing.DebuggerVisualizers.Wpf.Test/KGySoft.Drawing.DebuggerVisualizers.Wpf.Test.csproj
index d36dbb1..9ed5b06 100644
--- a/DebuggerVisualizers/Wpf/KGySoft.Drawing.DebuggerVisualizers.Wpf.Test/KGySoft.Drawing.DebuggerVisualizers.Wpf.Test.csproj
+++ b/DebuggerVisualizers/Wpf/KGySoft.Drawing.DebuggerVisualizers.Wpf.Test/KGySoft.Drawing.DebuggerVisualizers.Wpf.Test.csproj
@@ -1,8 +1,8 @@
-
- net462
+ net35;net40;net45;net462;net6.0-windows
+
WinExe
enable
true
diff --git a/DebuggerVisualizers/Wpf/KGySoft.Drawing.DebuggerVisualizers.Wpf/KGySoft.Drawing.DebuggerVisualizers.Wpf.csproj b/DebuggerVisualizers/Wpf/KGySoft.Drawing.DebuggerVisualizers.Wpf/KGySoft.Drawing.DebuggerVisualizers.Wpf.csproj
index 02823a2..053f7f7 100644
--- a/DebuggerVisualizers/Wpf/KGySoft.Drawing.DebuggerVisualizers.Wpf/KGySoft.Drawing.DebuggerVisualizers.Wpf.csproj
+++ b/DebuggerVisualizers/Wpf/KGySoft.Drawing.DebuggerVisualizers.Wpf/KGySoft.Drawing.DebuggerVisualizers.Wpf.csproj
@@ -1,8 +1,8 @@
-
- net462
+ net35;net40;net45;net462;net6.0-windows
+
false
KGySoft.Drawing.DebuggerVisualizers.Wpf
bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml
diff --git a/DebuggerVisualizers/_Common/KGySoft.Drawing.DebuggerVisualizers.csproj b/DebuggerVisualizers/_Common/KGySoft.Drawing.DebuggerVisualizers.csproj
index f9f30c2..22e9e91 100644
--- a/DebuggerVisualizers/_Common/KGySoft.Drawing.DebuggerVisualizers.csproj
+++ b/DebuggerVisualizers/_Common/KGySoft.Drawing.DebuggerVisualizers.csproj
@@ -1,8 +1,8 @@
-
- net462
+ net35;net40;net45;net462;net6.0-windows
+
false
KGySoft.Drawing.DebuggerVisualizers
bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml
diff --git a/KGySoft.Drawing.ImagingTools/KGySoft.Drawing.ImagingTools.csproj b/KGySoft.Drawing.ImagingTools/KGySoft.Drawing.ImagingTools.csproj
index e31c9a6..4b49f03 100644
--- a/KGySoft.Drawing.ImagingTools/KGySoft.Drawing.ImagingTools.csproj
+++ b/KGySoft.Drawing.ImagingTools/KGySoft.Drawing.ImagingTools.csproj
@@ -1,8 +1,8 @@
-
- net462
+ net35;net40;net45;net462;net6.0-windows
+
false
KGySoft.Drawing.ImagingTools
bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml
diff --git a/README.md b/README.md
index 742f6f1..5a4e7e8 100644
--- a/README.md
+++ b/README.md
@@ -2,7 +2,7 @@
# KGy SOFT Drawing Tools
-The KGy SOFT Drawing Tools repository contains a couple of applications and some [Debugger Visualizers](#debugger-visualizers) for several GDI+ and WPF types such as `Bitmap`, `Metafile`, `Icon`, `BitmapData`, `Graphics`, `ImageSource` etc. (see also below). The visualizers use [KGy SOFT Imaging Tools](#kgy-soft-imaging-tools) to display these types visually, which can be executed as a standalone application as well.
+The KGy SOFT Drawing Tools repository contains a couple of applications and some [Debugger Visualizers](#debugger-visualizers) for several GDI+, WPF and SkiaSharp types such as `Bitmap`, `Metafile`, `Icon`, `BitmapData`, `Graphics`, `ImageSource`, `SKBitmap`, etc. (see also below). The visualizers use [KGy SOFT Imaging Tools](#kgy-soft-imaging-tools) to display these types visually, which can be executed as a standalone application as well.
[![Website](https://img.shields.io/website/https/kgysoft.net/corelibraries.svg)](https://kgysoft.net/drawing)
[![Drawing Libraries Repo](https://img.shields.io/github/repo-size/koszeggy/KGySoft.Drawing.svg?label=Drawing%20Libraries)](https://github.com/koszeggy/KGySoft.Drawing)
@@ -32,7 +32,7 @@ The Imaging Tools application makes possible to load images and icons from file,
Changing Pixel Format with Quantizing and Dithering
-> _Tip:_ As a developer, you can access all of these image manipulaion functions by using [KGy SOFT Drawing Libraries](https://github.com/koszeggy/KGySoft.Drawing). It supports not just `System.Drawing` types but also completely managed and technology agnostic bitmap data manipulation as well.
+> 💡 _Tip:_ As a developer, you can access all of these image manipulaion functions by using [KGy SOFT Drawing Libraries](https://github.com/koszeggy/KGySoft.Drawing). It supports not just `System.Drawing` types but also completely managed and technology agnostic bitmap data manipulation as well.
### Compatibility
@@ -43,11 +43,16 @@ KGy SOFT Imaging Tools supports a wide range of platforms. Windows is supported
KGy SOFT Imaging Tools on Ubuntu Linux, using dark theme
+
+
+
KGy SOFT Imaging Tools on ReactOS
+
+
### Localization
KGy SOFT Imaging Tools supports localization from .resx files. New language resources can be generated for any languages, and you can edit the texts within the application. The changes can be applied on-the-fly, without exiting the application. If you switch to a right-to-left language, then the layout is also immediately applied (at least on Windows).
-> _Tip:_ As a developer, you can use [KGy SOFT Core Libraries](https://github.com/koszeggy/KGySoft.CoreLibraries#dynamic-resource-management) if you want something similar in your application.
+> 💡 _Tip:_ As a developer, you can use [KGy SOFT Core Libraries](https://github.com/koszeggy/KGySoft.CoreLibraries#dynamic-resource-management) if you want something similar in your application.
The edited resources are saved in .resx files in the `Resources` subfolder of the application. Resources can be downloaded from within the application as well.
@@ -56,7 +61,7 @@ The edited resources are saved in .resx files in the `Resources` subfolder of th
Editing resources in KGy SOFT Imaging Tools
-> _Note:_ If you create a localization for your language feel free to [submit a new issue](https://github.com/koszeggy/KGySoft.Drawing.Tools/issues/new?assignees=&labels=&template=submit-resources.md&title=%5BRes%5D) and I will make it available for everyone. Don't forget to mention your name in the translated About menu.
+> 📝 _Note:_ If you create a localization for your language feel free to [submit a new issue](https://github.com/koszeggy/KGySoft.Drawing.Tools/issues/new?assignees=&labels=&template=submit-resources.md&title=%5BRes%5D) and I will make it available for everyone. Don't forget to mention your name in the translated About menu.
#### Help, my resources are gone!
@@ -92,6 +97,12 @@ Either click the magnifier icon or choose a debugger visualizer from the drop do
- `System.Windows.Media.ImageSource`: All derived types are supported, including vector images (`System.Windows.Media.DrawingImage`) and bitmaps (types derived from `System.Windows.Media.Imaging.BitmapSource` such as `BitmapFrame`, `BitmapFrame`, `WriteableBitmap`, etc.). Vector images are displayed as bitmaps, adjusted to the size of the primary display.
- `System.Windows.Media.Imaging.BitmapPalette`: Color entries can be examined individually.
- `System.Windows.Media.Color`: sRGB, ScRGB, and colors with context profile are all supported.
+- The `KGySoft.Drawing.DebuggerVisualizers.SkiaSharp` assembly supports the following types (in read-only mode):
+ - `SkiaSharp.SKBitmap`: All color/alpha types of any color space are supported
+ - `SkiaSharp.SKImage`
+ - `SkiaSharp.SKPixmap`
+ - `SkiaSharp.SKSurface`: All back-ends are supported
+ - `SkiaSharp.SKColor`
@@ -111,11 +122,12 @@ Alternatively, you can download the installer package from the VisualStudio Mark
#### Manual Install
1. [Download](#download) the binaries and extract the .7z archive to any folder.
-2. Open the folder with the extracted content. You will find four folders there:
- - `net35` contains the .NET Framework 3.5 version. Compatible with all Visual Studio versions starting with Visual Studio 2008 (tested with versions 2008-2019). Cannot be used to debug .NET Core applications.
- - `net40` contains the .NET Framework 4.0 version. You cannot use this one for Visual Studio 2008. Cannot be used to debug .NET Core applications.
- - `net45` contains the .NET Framework 4.5 version. You cannot use this one for Windows XP and Visual Studio 2008/2010. With some limitations supports also .NET Core/.NET projects (in case of issues see the [Troubleshooting](#Troubleshooting) section).
- - `net5.0-windows` contains the .NET 5.0 binaries of the Imaging Tools application. Debugger visualizers are not included because it would not be recognized by Visual Studio anyway.
+2. Open the folder with the extracted content. You will find five folders there:
+ - `net35` contains the .NET Framework 3.5 build. Compatible with all Visual Studio versions starting with Visual Studio 2008 (tested with versions 2008-2019). Cannot be used to debug .NET Core applications.
+ - `net40` contains the .NET Framework 4.0 build. It requires at least Visual Studio 2010 but it's compatible even with Windows XP and ReactOS. Cannot be used to debug .NET Core applications.
+ - `net45` contains the .NET Framework 4.5 build. It requires at least Windows Vista SP2 and Visual Studio 2012. With some limitations supports also .NET Core/.NET projects (in case of issues see the [Troubleshooting](#Troubleshooting) section).
+ - `net462` contains the .NET Framework 4.6.2 build. It requires at least Windows 7 SP1 and Visual Studio 2012. It contains also the SkiaSharp debugger visualizers, which is not included into the other builds. With some limitations supports also .NET Core/.NET projects (in case of issues see the [Troubleshooting](#Troubleshooting) section).
+ - `net6.0-windows` contains the .NET 6.0 binaries of the Imaging Tools application. Debugger visualizers are not included because it would not be recognized by Visual Studio anyway.
3. Execute `KGySoft.Drawing.ImagingTools.exe` from one of the folders listed above. Click the _Manage Debugger Visualizer Installations..._ button (the gear icon) on the toolbar.
@@ -123,7 +135,7 @@ Alternatively, you can download the installer package from the VisualStudio Mark
Installing Debugger Visualizers from Imaging Tools
-> _Note:_ Starting with version 2.1.0 the debugger visualizers can be used also for .NET Core projects from Visual Studio 2019, even though no .NET Core binaries are used.
+> 📝 _Note:_ Starting with version 2.1.0 the debugger visualizers can be used also for .NET Core projects from Visual Studio 2019, even though no .NET Core binaries are used.
4. In the drop down list you will see the identified Visual Studio versions in your Documents folder. You can select either one of them or the _<Custom Path...>_ menu item to install the visualizer debuggers into a custom folder.
@@ -163,7 +175,7 @@ If Visual Studio cannot load the visualizer or you have other debugger visualize
| An unhandled exception of type 'System.TypeLoadException' / 'System.MissingMethodException' was thrown by the custom visualizer component in the process being debugged.
![An unhandled exception of type 'System.TypeLoadException' was thrown by the custom visualizer component in the process being debugged.](https://kgysoft.net/images/DebuggerVisualizerTrShExceptionTypeLoad.png)
![An unhandled exception of type 'System.MissingMethodException' was thrown by the custom visualizer component in the process being debugged.](https://kgysoft.net/images/DebuggerVisualizerTrShExceptionMissingMethod.png) | You are probably debugging a .NET Core 2.0 application referencing the `System.Drawing.Common` NuGet package. The project should target at least .NET Core 2.1 to be able to debug `System.Drawing` types. |
| Unable to load the custom visualizer (serializer could not be resolved).
![Unable to load the custom visualizer (serializer could not be resolved).](https://kgysoft.net/images/DebuggerVisualizerTrShUnableToLoadSerializer.png) | The project you debug references an unmatching version of the `Microsoft.VisualStudio.DebuggerVisualizers` to your actual VisualStudio version. |
| Unable to load the custom visualizer (The UI-side visualizer type must derive from 'DialogDebuggerVisualizer').
![Unable to load the custom visualizer (The UI-side visualizer type must derive from 'DialogDebuggerVisualizer').](https://kgysoft.net/images/DebuggerVisualizerTrShUnableToLoadMustDeriveFrom.png) | The `Microsoft.VisualStudio.DebuggerVisualizers.dll` has been copied to the debugger visualizers installation folder. Recent Visual Studio versions can handle if a debugger visualizer references an unmatching version of this assembly but only if this assembly is not deployed along with the visualizers. |
-| Could not load file or assembly 'KGySoft.Drawing.DebuggerVisualizers.dll'.
![Could not load file or assembly 'KGySoft.Drawing.DebuggerVisualizers.dll'.](https://kgysoft.net/images/DebuggerVisualizerTrShCouldNotLoadVisualizer.png) or one of its dependencies. | Visual Studio 2008 supports the .NET 3.5 version only. A similar error may occur even if some files are missing. Just [install](#installing-debugger-visualizers) a correct version again. |
+| Could not load file or assembly 'KGySoft.Drawing.DebuggerVisualizers.dll' or one of its dependencies.
![Could not load file or assembly 'KGySoft.Drawing.DebuggerVisualizers.dll'.](https://kgysoft.net/images/DebuggerVisualizerTrShCouldNotLoadVisualizer.png) | Visual Studio 2008 supports the .NET 3.5 version only. A similar error may occur even if some files are missing. Just [install](#installing-debugger-visualizers) a correct version again. |
| Value does not fall within the expected range.
![Value does not fall within the expected range.](https://kgysoft.net/images/DebuggerVisualizerTrShValueUnexpectedRange.png) | Windows XP does not support the .NET 4.5 version. |
| The app looks blurry. | If you changed the DPI settins, you need to restart the application. Per-monitor DPI awareness is not supported. |
| The visual elements are scaled incorrectly.
![Incorrectly scaled image](https://user-images.githubusercontent.com/27336165/124148578-0e993700-da90-11eb-9c67-4e06e522795b.png) | May happen if you use Imaging Tools from debugger visualizers, and you have just changed the DPI settings without signing out/in. However, signing in and out is not required if you execute the app directly. |
@@ -171,7 +183,7 @@ If Visual Studio cannot load the visualizer or you have other debugger visualize
## Download
-> _Tip:_ See [above](#by-vsix-installer) how to download the debugger visualizer installers
+> 💡 _Tip:_ See [above](#by-vsix-installer) how to download the debugger visualizer installers
You can download the sources and the binaries as .7z/.zip archives at the [releases](https://github.com/koszeggy/KGySoft.Drawing.Tools/releases) page.
diff --git a/VSIX/KGySoft.Drawing.DebuggerVisualizers.Package/readme.md b/VSIX/KGySoft.Drawing.DebuggerVisualizers.Package/readme.md
index 21fa36a..d292aac 100644
--- a/VSIX/KGySoft.Drawing.DebuggerVisualizers.Package/readme.md
+++ b/VSIX/KGySoft.Drawing.DebuggerVisualizers.Package/readme.md
@@ -6,7 +6,7 @@
**VS 2008-2022**: See [manual installation](https://github.com/koszeggy/KGySoft.Drawing.Tools#installing-debugger-visualizers)
-This package provides debugger visualizers for several GDI+ and WPF image types such as `Bitmap`, `BitmapSource`, `Metafile`, `ImageSource`, `Icon`, `Graphics`, `BitmapData`, `ColorPalette`, `BitmapPalette` and `Color`. Possible derived types such as `DrawingImage`, `BitmapFrame`, `WriteableBitmap`, etc. are also supported). For GDI+ types it also supports multi-page, multi-resolution and animated images as well as saving them in various formats.
+This package provides debugger visualizers for several GDI+, WPF and SkiaSharp image types such as `Bitmap`, `BitmapSource`, `SKBitmap`, `Metafile`, `ImageSource`, `SKImage`, `Icon`, `Graphics`, `SKSurface`, `BitmapData`, `SKPixmap`, `ColorPalette`, `BitmapPalette`, `Color` and `SKColor`. Possible derived types such as `DrawingImage`, `BitmapFrame`, `WriteableBitmap`, etc. are also supported). For GDI+ types it also supports multi-page, multi-resolution and animated images as well as saving them in various formats.
When a type is debugged in Visual Studio and there is a debugger visualizer installed for that type, then a magnifier icon appears that you can click to open the visualizer.
@@ -30,7 +30,7 @@ Several modifications are allowed on non-read-only images such as rotating, resi
## Installing Debugger Visualizers
-* For Visual Studio 2013 and above you can use this VSIX package (the [32-bit version](https://marketplace.visualstudio.com/items?itemName=KGySoft.drawing-debugger-visualizers) for VS2013-2019 or the [64-bit version](https://marketplace.visualstudio.com/items?itemName=KGySoft.drawing-debugger-visualizers-x64) for VS2022). It will install the .NET Framework 4.5 build, which works also for .NET Core projects.
+* For Visual Studio 2013 and above you can use this VSIX package (the [32-bit version](https://marketplace.visualstudio.com/items?itemName=KGySoft.drawing-debugger-visualizers) for VS2013-2019 or the [64-bit version](https://marketplace.visualstudio.com/items?itemName=KGySoft.drawing-debugger-visualizers-x64) for VS2022). It will install the .NET Framework 4.6.2 build, which works also for .NET Core projects.
* For older Visual Studio versions and/or frameworks follow the [installation steps](https://github.com/koszeggy/KGySoft.Drawing.Tools#installing-debugger-visualizers) at the project site.
## Release Notes
@@ -51,6 +51,9 @@ See the [change log](https://github.com/koszeggy/KGySoft.Drawing.Tools/blob/mast
**Q:** Are WPF image types supported?
**A:** Yes, starting with version 3.0.0 WPF `ImageSource` (and derived types), `BitmapPalette` and `Color` types are supported as well. You might need to explicitly select the correct visualizer from the drop-down menu next to the magnifier icon.
+**Q:** Are other 3rd party image types supported?
+
**A:** Yes, starting with version 3.1.0 SkiaSharp types `SKBitmap`, `SKImage`, `SKPixmap`, `SKSurface` and `SKColor` are also supported. The infrastructure is extensible so further frameworks can be expected in future versions.
+
**Q:** Where do I find the edited/downloaded resource files? Even my previously edited/downloaded resources have been disappeared.
**A:** The _Visual Studio/Tools/KGy SOFT Image Debugger Visualizers_ and clicking the magnifier icon executes the Imaging Tools from different locations. If you edit the language resources at one place they will not be automatically applied at the other place. Therefore, the saved resources might be at different possible locations:
* If you execute a manually deployed version the resources will be in a `Resources` subfolder in the folder you executed Imaging Tools from
diff --git a/changelog.txt b/changelog.txt
index 4c593d3..abf47e0 100644
--- a/changelog.txt
+++ b/changelog.txt
@@ -5,6 +5,15 @@
+ New feature
===============================================================================
+~~~~~~~~~
++ v3.1.0:
+~~~~~~~~~
+
++ KGySoft.Drawing.DebuggerVisualizers.SkiaSharp.dll
+===================================================
++ A new debugger visualizer assembly to support SkiaSharp types.
+
+
~~~~~~~~~
! v3.0.0:
~~~~~~~~~