Table of Contents

Version 1.55.0

Skia m55, SVG preview, and comprehensive documentation · Released November 10, 2016 · NuGet · GitHub Release

Highlights

A major feature release that updates to Google's chrome/m55 Skia milestone, introduces the new SkiaSharp.Svg package for lightweight SVG parsing, and ships thousands of API documentation entries across the entire SkiaSharp surface. New APIs include SKColor.Parse, SKPathMeasure, SKRegion-based clipping, and SKPaint.GetFillPath. SkiaSharp.Views gains CanvasSize for pixel density calculations.

Breaking Changes

Upstream Skia changes

  • GRContext.Flush(GRContextFlushBits) obsoleted — Use the parameterless GRContext.Flush() instead.
  • SKDocument.Close() return type changed — No longer returns bool; now returns void.
  • SKPaint.XferMode obsoleted — Use SKPaint.BlendMode instead.

New Features

Engine

  • Skia m55 update — Updated to Google's chrome/m55 release with all upstream improvements.

API Surface

  • HTML color parsingSKColor.Parse and SKColor.TryParse for parsing HTML hex color strings.
  • Region-based clipping — Added SKRegion clipping options for SKCanvas.
  • SKPaint.GetFillPath() — Creates a new path representing the fill outline using the paint's fill properties.
  • SKPathMeasure — New type for measuring path length and extracting path segments.
  • SKPath additions — Numerous new overloads and members for path manipulation.
  • SKTypeface property getters — Added getters for SKTypeface properties.
  • Struct expansions — Additional members and overloads for SKRect*, SKSize*, SKPoint*, and SKMatrix.
  • Improved image lattice drawing — Better support for 9-patch style image rendering.
  • Improved argument validation — Better exceptions for invalid or incorrect arguments.

Platform

  • SkiaSharp.Svg (preview) — A new lightweight, pure-managed SVG parser (SKSvg) supporting features on par with NGraphics. Lives in a single file. ❤️ @gentledepp also contributed a more full-featured SVG library with SkiaSharp support.
  • CanvasSize property — Views now expose CanvasSize for calculating scaling and pixel density: var scaling = view.CanvasSize.Width / view.Width;
  • Views namespace update — Namespace changed to SkiaSharp.Views.<platform-name>.
  • Improved UWP internals — Better GRGlInterface internals for UWP.

Documentation

  • Comprehensive API documentation — Added thousands of XML docs across the entire SkiaSharp API.

Community Contributors ❤️

Contributor What They Did
@gentledepp Added SkiaSharp support to the SVG library