9cbf9c80b7
* Update generator to emit function pointers * Regenerate interop files * Enable USE_LIBRARY_IMPORT in HarfBuzzSharp * Enable USE_LIBRARY_IMPORT on SkiaSharp * Set DisableRuntimeMarshalling on HarfBuzzSharp * Replace remaining DllImports with LibraryImport on SkiaSharp * Set DisableRuntimeMarshalling on SkiaSharp as well * Fix missed proxy definition * Regenerate skia api with a correct submodule version * Collections literals are not supported on the CI .NET SDK * An attempt to fix Tizen build * Forgot about partial * Set UnmanagedType.LPStr on evas_gl_proc_address_get instead * Set USE_LIBRARY_IMPORT on remaining projects too * Update generator tool to generate DelegateProxy as well * Regenerate HarfBuzz and SkiaSharp with new DelegateProxy source gen * Regenerate other projects as well * Add `protected internal` to test classes too, since this project has InternalsVisibleTo configured * Disable DelegateTypesAreValid and DelegateTypesHaveAttributes tests on .NET 7+ build, see comments * Reduce warnings noise * Update binding/SkiaSharp/GRGlInterface.cs Co-authored-by: Filip Navara <filip.navara@gmail.com> * Add missing USE_LIBRARY_IMPORT defines * Update binding/SkiaSharp/GRGlInterface.cs * Also needs USE_LIBRARY_IMPORT --------- Co-authored-by: Matthew Leibowitz <mattleibow@live.com> Co-authored-by: Filip Navara <filip.navara@gmail.com> |
||
---|---|---|
.config | ||
.devcontainer | ||
.github | ||
.vscode | ||
benchmarks | ||
binding | ||
changelogs | ||
docs@726b6ce666 | ||
externals | ||
images | ||
interactive | ||
native | ||
samples | ||
scripts | ||
source | ||
tests | ||
utils | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
.gitmodules | ||
CODE-OF-CONDUCT.md | ||
External-Dependency-Info.txt | ||
LICENSE.md | ||
LICENSE.txt | ||
README.md | ||
build.cake | ||
build.ps1 | ||
build.sh | ||
cgmanifest.json | ||
global.json | ||
nuget.config |
README.md
SkiaSharp
SkiaSharp is a cross-platform 2D graphics API for .NET platforms based on Google's Skia Graphics Library (skia.org). It provides a comprehensive 2D API that can be used across mobile, server and desktop models to render images.
SkiaSharp provides cross-platform bindings for:
- .NET Standard 1.3
- .NET Core
- .NET 6
- Tizen
- Android
- iOS
- tvOS
- macOS
- Mac Catalyst
- WinUI 3 (Windows App SDK / Uno Platform)
- Windows Classic Desktop (Windows.Forms / WPF)
- Web Assembly (WASM)
- Uno Platform (iOS / macOS / Android / WebAssembly)
The API Documentation is available on the web to browse.
Using SkiaSharp
SkiaSharp is available as a convenient NuGet package, to use install the package like this:
nuget install SkiaSharp
Because there are multiple distros of Linux, and we cannot possibly support them all, we have a separate NuGet package that will contain the supported binaries for a few distros: SkiaSharp.NativeAssets.Linux. (distros) (more info)
There is also a early access feed that you can use to get the latest and greatest, before it goes out to the public:
https://aka.ms/skiasharp-eap/index.json
Building SkiaSharp
Building SkiaSharp is mostly straight forward. The main issue is the multiple dependencies for each platform.
However, these are easy to install as they are found on the various websites. If you are just working on managed code, it is even easier as there mays to skip all the native builds.
Compare Code
Here are some links to show the differences in our code as compared to Google's code.
What version are we on? m116
Are we up-to-date with Google? Compare
What have we added? Compare