jacano / Uno.SkiaSharp

SkiaSharp fork for the Uno Platform and WebAssembly. Skia is a cross-platform 2D graphics API for .NET platforms based on Google's Skia Graphics Library. It provides a comprehensive 2D API that can be used across mobile, server and desktop models to render images.

Home Page:https://platform.uno

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SkiaSharp for WebAssembly

SkiaSharp for WebAssembly is a SkiaSharp port that runs on top of the Uno Platform, using modified CanvasKit for WebAssembly.

It is currently in experimental state and uses a temporary interfacing mechanism between the main mono module and CanvasKit, until Mono can support Emscripten's dynamic linking.

To experiment with it, open the SkiaSharpSource.sln and build the SkiaSharpSample.Wasm project.

SkiaSharp

SkiaSharp SkiaSharp.Views SkiaSharp.Views.Forms
chat API Docs API Docs
Build Status Build Status

SkiaSharp is a cross-platform 2D graphics API for .NET platforms based on Google's Skia Graphics Library (https://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
  • Tizen
  • Xamarin.Android
  • Xamarin.iOS
  • Xamarin.tvOS
  • Xamarin.watchOS
  • Xamarin.Mac
  • Windows Classic Desktop (Windows.Forms / WPF)
  • Windows UWP (Desktop / Mobile / Xbox / HoloLens)

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)

Building SkiaSharp

Before building SkiaSharp:

  • Python 2.7 is available in the PATH environment variable on Windows
  • Android NDK r15 is available in the ANDROID_NDK_HOME environment variable on macOS
  • .NET Core is installed on all platforms
  • C/C++ Compiler (MSVC / "Desktop development" package on Windows)

First, clone the repository:

$ git clone https://github.com/mono/SkiaSharp.git

Next, set up the submodules:

$ cd SkiaSharp
$ git submodule update --init --recursive

Finally, build everything:

Mac/Linux:

$ ./bootstrapper.sh -t everything

Windows:

> .\bootstrapper.ps1 -t everything

Compare Code

Here are some links to show the differences in our code as compared to Google's code.

What version are we on? m68
Are we up-to-date with Google? Compare
What have we added? Compare

About

SkiaSharp fork for the Uno Platform and WebAssembly. Skia is a cross-platform 2D graphics API for .NET platforms based on Google's Skia Graphics Library. It provides a comprehensive 2D API that can be used across mobile, server and desktop models to render images.

https://platform.uno

License:MIT License


Languages

Language:JavaScript 35.3%Language:C# 32.0%Language:TypeScript 30.7%Language:C 1.1%Language:PowerShell 0.3%Language:Makefile 0.2%Language:Shell 0.2%Language:C++ 0.0%Language:CSS 0.0%Language:Smalltalk 0.0%