API diff: SkiaSharp.dll
SkiaSharp.dll
Namespace SkiaSharp
Type Changed: SkiaSharp.SKBitmap
Added methods:
public bool ExtractAlpha (SKBitmap destination);
public bool ExtractAlpha (SKBitmap destination, SKPaint paint);
public bool ExtractAlpha (SKBitmap destination, out SKPointI offset);
public bool ExtractAlpha (SKBitmap destination, SKPaint paint, out SKPointI offset);
public bool ExtractSubset (SKBitmap destination, SKRectI subset);
public IntPtr GetAddr (int x, int y);
public ushort GetAddr16 (int x, int y);
public uint GetAddr32 (int x, int y);
public byte GetAddr8 (int x, int y);
public bool InstallMaskPixels (SKMask mask);
Type Changed: SkiaSharp.SKCanvas
Obsoleted methods:
[Obsolete ("Use DrawTextOnPath instead.")]
public void DrawText (string text, SKPath path, float hOffset, float vOffset, SKPaint paint);
[Obsolete ("Use DrawTextOnPath instead.")]
public void DrawText (IntPtr buffer, int length, SKPath path, float hOffset, float vOffset, SKPaint paint);
Added methods:
public void DrawAnnotation (SKRect rect, string key, SKData value);
public void DrawLinkDestinationAnnotation (SKRect rect, SKData value);
public SKData DrawLinkDestinationAnnotation (SKRect rect, string value);
public void DrawNamedDestinationAnnotation (SKPoint point, SKData value);
public SKData DrawNamedDestinationAnnotation (SKPoint point, string value);
public void DrawPositionedText (byte[] text, SKPoint[] points, SKPaint paint);
public void DrawText (byte[] text, float x, float y, SKPaint paint);
[Obsolete ("Use DrawTextOnPath instead.")]
public void DrawText (byte[] text, SKPath path, float hOffset, float vOffset, SKPaint paint);
public void DrawTextOnPath (byte[] text, SKPath path, float hOffset, float vOffset, SKPaint paint);
public void DrawTextOnPath (string text, SKPath path, float hOffset, float vOffset, SKPaint paint);
public void DrawTextOnPath (IntPtr buffer, int length, SKPath path, float hOffset, float vOffset, SKPaint paint);
public void DrawUrlAnnotation (SKRect rect, SKData value);
public SKData DrawUrlAnnotation (SKRect rect, string value);
Type Changed: SkiaSharp.SKCodec
Added properties:
public int NextScanline { get; }
public SKCodecScanlineOrder ScanlineOrder { get; }
Added methods:
public int GetOutputScanline (int inputScanline);
public int GetScanlines (IntPtr dst, int countLines, int rowBytes);
public bool SkipScanlines (int countLines);
public SKCodecResult StartScanlineDecode (SKImageInfo info);
public SKCodecResult StartScanlineDecode (SKImageInfo info, SKCodecOptions options);
public SKCodecResult StartScanlineDecode (SKImageInfo info, SKCodecOptions options, SKColorTable colorTable, ref int colorTableCount);
public SKCodecResult StartScanlineDecode (SKImageInfo info, SKCodecOptions options, IntPtr colorTable, ref int colorTableCount);
Type Changed: SkiaSharp.SKData
Added constructor:
public SKData (byte[] bytes, ulong length);
Type Changed: SkiaSharp.SKDocument
Added method:
public static SKDocument CreatePdf (SKWStream stream, SKDocumentPdfMetadata metadata, float dpi);
Type Changed: SkiaSharp.SKMaskFilter
Added methods:
public static SKMaskFilter CreateBlur (SKBlurStyle blurStyle, float sigma, SKBlurMaskFilterFlags flags);
public static SKMaskFilter CreateBlur (SKBlurStyle blurStyle, float sigma, SKRect occluder);
public static SKMaskFilter CreateBlur (SKBlurStyle blurStyle, float sigma, SKRect occluder, SKBlurMaskFilterFlags flags);
Type Changed: SkiaSharp.SKPaint
Added methods:
public long BreakText (byte[] text, float maxWidth, out float measuredWidth);
public SKPath GetTextPath (byte[] text, SKPoint[] points);
public SKPath GetTextPath (byte[] text, float x, float y);
public float MeasureText (byte[] text);
public float MeasureText (byte[] text, ref SKRect bounds);
Type Changed: SkiaSharp.SKPath
Added property:
public SKPathSegmentMask SegmentMasks { get; }
Added method:
public void AddPoly (SKPoint[] points, bool close);
Type Changed: SkiaSharp.SKStrokeJoin
Obsoleted fields:
[Obsolete ("Use SKStrokeJoin.Miter instead.")]
Mitter = 0,
Added value:
Miter = 0,
Type Changed: SkiaSharp.SKWStream
Modified properties:
public ---virtual--- int BytesWritten { get; }
Modified methods:
public ---virtual--- void Flush ()
public ---virtual--- bool Write (byte[] buffer, int size)
New Type: SkiaSharp.SK3dView
public class SK3dView : SkiaSharp.SKObject, System.IDisposable {
// constructors
public SK3dView ();
// properties
public SKMatrix Matrix { get; }
// methods
public void ApplyToCanvas (SKCanvas canvas);
protected override void Dispose (bool disposing);
public float DotWithNormal (float dx, float dy, float dz);
public void GetMatrix (ref SKMatrix matrix);
public void Restore ();
public void RotateXDegrees (float degrees);
public void RotateXRadians (float radians);
public void RotateYDegrees (float degrees);
public void RotateYRadians (float radians);
public void RotateZDegrees (float degrees);
public void RotateZRadians (float radians);
public void Save ();
public void Translate (float x, float y, float z);
public void TranslateX (float x);
public void TranslateY (float y);
public void TranslateZ (float z);
}
New Type: SkiaSharp.SKAutoMaskFreeImage
public class SKAutoMaskFreeImage : System.IDisposable {
// constructors
public SKAutoMaskFreeImage (IntPtr maskImage);
// methods
public virtual void Dispose ();
}
New Type: SkiaSharp.SKBlurMaskFilterFlags
[Serializable]
[Flags]
public enum SKBlurMaskFilterFlags {
All = 3,
HighQuality = 2,
IgnoreTransform = 1,
None = 0,
}
New Type: SkiaSharp.SKCodecScanlineOrder
[Serializable]
public enum SKCodecScanlineOrder {
BottomUp = 1,
TopDown = 0,
}
New Type: SkiaSharp.SKDocumentPdfMetadata
public struct SKDocumentPdfMetadata {
// properties
public string Author { get; set; }
public System.DateTime? Creation { get; set; }
public string Creator { get; set; }
public string Keywords { get; set; }
public System.DateTime? Modified { get; set; }
public string Producer { get; set; }
public string Subject { get; set; }
public string Title { get; set; }
}
New Type: SkiaSharp.SKFontManager
public class SKFontManager : SkiaSharp.SKObject, System.IDisposable {
// properties
public static SKFontManager Default { get; }
public int FontFamilyCount { get; }
// methods
protected override void Dispose (bool disposing);
public string GetFamilyName (int index);
public string[] GetFontFamilies ();
public SKTypeface MatchCharacter (char character);
public SKTypeface MatchCharacter (int character);
public SKTypeface MatchCharacter (string familyName, char character);
public SKTypeface MatchCharacter (string familyName, int character);
public SKTypeface MatchCharacter (string familyName, string[] bcp47, char character);
public SKTypeface MatchCharacter (string familyName, string[] bcp47, int character);
public SKTypeface MatchCharacter (string familyName, SKFontStyleWeight weight, SKFontStyleWidth width, SKFontStyleSlant slant, string[] bcp47, char character);
public SKTypeface MatchCharacter (string familyName, SKFontStyleWeight weight, SKFontStyleWidth width, SKFontStyleSlant slant, string[] bcp47, int character);
public SKTypeface MatchCharacter (string familyName, int weight, int width, SKFontStyleSlant slant, string[] bcp47, int character);
}
New Type: SkiaSharp.SKManagedWStream
public class SKManagedWStream : SkiaSharp.SKWStream, System.IDisposable {
// constructors
public SKManagedWStream (System.IO.Stream managedStream);
public SKManagedWStream (System.IO.Stream managedStream, bool disposeManagedStream);
// methods
protected override void Dispose (bool disposing);
}
New Type: SkiaSharp.SKMask
public struct SKMask {
// constructors
public SKMask (SKRectI bounds, uint rowBytes, SKMaskFormat format);
public SKMask (IntPtr image, SKRectI bounds, uint rowBytes, SKMaskFormat format);
// properties
public SKRectI Bounds { get; }
public SKMaskFormat Format { get; }
public IntPtr Image { get; }
public bool IsEmpty { get; }
public uint RowBytes { get; }
// methods
public long AllocateImage ();
public static IntPtr AllocateImage (long size);
public long ComputeImageSize ();
public long ComputeTotalImageSize ();
public static SKMask Create (byte[] image, SKRectI bounds, uint rowBytes, SKMaskFormat format);
public void FreeImage ();
public static void FreeImage (IntPtr image);
public IntPtr GetAddr (int x, int y);
public byte GetAddr1 (int x, int y);
public ushort GetAddr16 (int x, int y);
public uint GetAddr32 (int x, int y);
public byte GetAddr8 (int x, int y);
}
New Type: SkiaSharp.SKMaskFormat
[Serializable]
public enum SKMaskFormat {
A8 = 1,
Argb32 = 3,
BW = 0,
Lcd16 = 4,
ThreeD = 2,
}
New Type: SkiaSharp.SKPathSegmentMask
[Serializable]
[Flags]
public enum SKPathSegmentMask {
Conic = 4,
Cubic = 8,
Line = 1,
Quad = 2,
}
New Type: SkiaSharp.SKSvgCanvas
public class SKSvgCanvas {
// methods
public static SKCanvas Create (SKRect bounds, SKXmlWriter writer);
}
New Type: SkiaSharp.SKXmlStreamWriter
public class SKXmlStreamWriter : SkiaSharp.SKXmlWriter, System.IDisposable {
// constructors
public SKXmlStreamWriter (SKWStream stream);
// methods
protected override void Dispose (bool disposing);
}
New Type: SkiaSharp.SKXmlWriter
public abstract class SKXmlWriter : SkiaSharp.SKObject, System.IDisposable {
}
New Type: SkiaSharp.StringUtilities
public static class StringUtilities {
// methods
public static byte[] GetEncodedText (string text, SKTextEncoding encoding);
public static string GetString (byte[] data, SKTextEncoding encoding);
public static string GetString (IntPtr data, int dataLength, SKTextEncoding encoding);
public static int GetUnicodeCharacterCode (string character, SKTextEncoding encoding);
}