Fix the issue with the bad line endings

This commit is contained in:
Matthew Leibowitz 2018-08-07 23:48:29 +02:00
Родитель 2f9adbceba
Коммит ebcad0c2c3
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 3650EBE4AA155AF9
12 изменённых файлов: 3795 добавлений и 3794 удалений

Просмотреть файл

@ -18,6 +18,7 @@ void CopyChangelogs (DirectoryPath diffRoot, string id, string version)
var mdFiles = $"{path}/*.diff.md";
ReplaceTextInFiles (mdFiles, "<h4>", "> ");
ReplaceTextInFiles (mdFiles, "</h4>", Environment.NewLine);
ReplaceTextInFiles (mdFiles, "\r\r", "\r");
foreach (var file in GetFiles (mdFiles)) {
var dllName = file.GetFilenameWithoutExtension ().GetFilenameWithoutExtension ().GetFilenameWithoutExtension ();
var changelogPath = (FilePath)$"./changelogs/{id}/{version}/{dllName}.md";

Просмотреть файл

@ -1,245 +1,245 @@
# API diff: SkiaSharp.dll
## SkiaSharp.dll
### Namespace SkiaSharp
#### Type Changed: SkiaSharp.GRContext
Added method:
```csharp
public void Flush (GRContextFlushBits flagsBitfield);
```
#### Type Changed: SkiaSharp.GRGlInterface
Obsoleted methods:
```diff
[Obsolete ("Use CreateNativeGlInterface() or CreateDefaultInterface() instead. This method will be removed in the next release.")]
public static GRGlInterface CreateNativeInterface ();
```
Added methods:
```csharp
public static GRGlInterface AssembleAngleInterface (GRGlGetProcDelegate get);
public static GRGlInterface AssembleAngleInterface (object context, GRGlGetProcDelegate get);
public static GRGlInterface CreateNativeAngleInterface ();
public static GRGlInterface CreateNativeGlInterface ();
```
#### Type Changed: SkiaSharp.SKMatrix
Removed fields:
```csharp
public float Persp0;
public float Persp1;
public float Persp2;
public float ScaleX;
public float ScaleY;
public float SkewX;
public float SkewY;
public float TransX;
public float TransY;
```
Added properties:
```csharp
public float Persp0 { get; set; }
public float Persp1 { get; set; }
public float Persp2 { get; set; }
public float ScaleX { get; set; }
public float ScaleY { get; set; }
public float SkewX { get; set; }
public float SkewY { get; set; }
public float TransX { get; set; }
public float TransY { get; set; }
public float[] Values { get; set; }
```
Added method:
```csharp
public void GetValues (float[] values);
```
#### Type Changed: SkiaSharp.SKObject
Modified base type:
```diff
-System.Object
+SkiaSharp.SKNativeObject
```
Modified properties:
```diff
public ---override--- IntPtr Handle { get; set; }
```
Removed methods:
```csharp
public virtual void Dispose ();
protected override void ~SKObject ();
```
Modified methods:
```diff
-protected virtual void Dispose (bool disposing)
+protected override void Dispose (bool disposing)
```
#### Type Changed: SkiaSharp.SKPath
Added properties:
```csharp
public SKRect Bounds { get; }
public SKPathConvexity Convexity { get; set; }
public bool IsConcave { get; }
public bool IsConvex { get; }
public SKRect TightBounds { get; }
```
Modified methods:
```diff
-public void AddCircle (float x, float y, float radius, SKPathDirection dir = 0)
+public void AddCircle (float x, float y, float radius, SKPathDirection dir)
-public void AddOval (SKRect rect, SKPathDirection direction = 0)
+public void AddOval (SKRect rect, SKPathDirection direction)
-public void AddRect (SKRect rect, SKPathDirection direction = 0)
+public void AddRect (SKRect rect, SKPathDirection direction)
-public void AddRoundedRect (SKRect rect, float rx, float ry, SKPathDirection dir = 0)
+public void AddRoundedRect (SKRect rect, float rx, float ry, SKPathDirection dir)
```
Added methods:
```csharp
public bool GetTightBounds (out SKRect result);
public bool Op (SKPath other, SKPathOp op, SKPath result);
public static SKPath ParseSvgPathData (string svgPath);
public bool Simplify (SKPath result);
public string ToSvgPathData ();
```
#### Type Changed: SkiaSharp.SKPath.Iterator
Modified base type:
```diff
-System.Object
+SkiaSharp.SKNativeObject
```
Removed methods:
```csharp
public virtual void Dispose ();
protected override void ~Iterator ();
```
Added method:
```csharp
protected override void Dispose (bool disposing);
```
#### Type Changed: SkiaSharp.SKPath.RawIterator
Modified base type:
```diff
-System.Object
+SkiaSharp.SKNativeObject
```
Removed methods:
```csharp
public virtual void Dispose ();
protected override void ~RawIterator ();
```
Added method:
```csharp
protected override void Dispose (bool disposing);
```
#### New Type: SkiaSharp.SKPath.OpBuilder
```csharp
public class OpBuilder : SkiaSharp.SKNativeObject, System.IDisposable {
// constructors
public SKPath.OpBuilder ();
// methods
public void Add (SKPath path, SKPathOp op);
protected override void Dispose (bool disposing);
public bool Resolve (SKPath result);
}
```
#### New Type: SkiaSharp.GRContextFlushBits
```csharp
[Serializable]
public enum GRContextFlushBits {
Discard = 2,
None = 0,
}
```
#### New Type: SkiaSharp.SKNativeObject
```csharp
public class SKNativeObject : System.IDisposable {
// properties
protected virtual IntPtr Handle { get; set; }
// methods
public virtual void Dispose ();
protected virtual void Dispose (bool disposing);
protected override void ~SKNativeObject ();
}
```
#### New Type: SkiaSharp.SKPathConvexity
```csharp
[Serializable]
public enum SKPathConvexity {
Concave = 2,
Convex = 1,
Unknown = 0,
}
```
#### New Type: SkiaSharp.SKPathOp
```csharp
[Serializable]
public enum SKPathOp {
Difference = 0,
Intersect = 1,
ReverseDifference = 4,
Union = 2,
Xor = 3,
}
```
# API diff: SkiaSharp.dll
## SkiaSharp.dll
### Namespace SkiaSharp
#### Type Changed: SkiaSharp.GRContext
Added method:
```csharp
public void Flush (GRContextFlushBits flagsBitfield);
```
#### Type Changed: SkiaSharp.GRGlInterface
Obsoleted methods:
```diff
[Obsolete ("Use CreateNativeGlInterface() or CreateDefaultInterface() instead. This method will be removed in the next release.")]
public static GRGlInterface CreateNativeInterface ();
```
Added methods:
```csharp
public static GRGlInterface AssembleAngleInterface (GRGlGetProcDelegate get);
public static GRGlInterface AssembleAngleInterface (object context, GRGlGetProcDelegate get);
public static GRGlInterface CreateNativeAngleInterface ();
public static GRGlInterface CreateNativeGlInterface ();
```
#### Type Changed: SkiaSharp.SKMatrix
Removed fields:
```csharp
public float Persp0;
public float Persp1;
public float Persp2;
public float ScaleX;
public float ScaleY;
public float SkewX;
public float SkewY;
public float TransX;
public float TransY;
```
Added properties:
```csharp
public float Persp0 { get; set; }
public float Persp1 { get; set; }
public float Persp2 { get; set; }
public float ScaleX { get; set; }
public float ScaleY { get; set; }
public float SkewX { get; set; }
public float SkewY { get; set; }
public float TransX { get; set; }
public float TransY { get; set; }
public float[] Values { get; set; }
```
Added method:
```csharp
public void GetValues (float[] values);
```
#### Type Changed: SkiaSharp.SKObject
Modified base type:
```diff
-System.Object
+SkiaSharp.SKNativeObject
```
Modified properties:
```diff
public ---override--- IntPtr Handle { get; set; }
```
Removed methods:
```csharp
public virtual void Dispose ();
protected override void ~SKObject ();
```
Modified methods:
```diff
-protected virtual void Dispose (bool disposing)
+protected override void Dispose (bool disposing)
```
#### Type Changed: SkiaSharp.SKPath
Added properties:
```csharp
public SKRect Bounds { get; }
public SKPathConvexity Convexity { get; set; }
public bool IsConcave { get; }
public bool IsConvex { get; }
public SKRect TightBounds { get; }
```
Modified methods:
```diff
-public void AddCircle (float x, float y, float radius, SKPathDirection dir = 0)
+public void AddCircle (float x, float y, float radius, SKPathDirection dir)
-public void AddOval (SKRect rect, SKPathDirection direction = 0)
+public void AddOval (SKRect rect, SKPathDirection direction)
-public void AddRect (SKRect rect, SKPathDirection direction = 0)
+public void AddRect (SKRect rect, SKPathDirection direction)
-public void AddRoundedRect (SKRect rect, float rx, float ry, SKPathDirection dir = 0)
+public void AddRoundedRect (SKRect rect, float rx, float ry, SKPathDirection dir)
```
Added methods:
```csharp
public bool GetTightBounds (out SKRect result);
public bool Op (SKPath other, SKPathOp op, SKPath result);
public static SKPath ParseSvgPathData (string svgPath);
public bool Simplify (SKPath result);
public string ToSvgPathData ();
```
#### Type Changed: SkiaSharp.SKPath.Iterator
Modified base type:
```diff
-System.Object
+SkiaSharp.SKNativeObject
```
Removed methods:
```csharp
public virtual void Dispose ();
protected override void ~Iterator ();
```
Added method:
```csharp
protected override void Dispose (bool disposing);
```
#### Type Changed: SkiaSharp.SKPath.RawIterator
Modified base type:
```diff
-System.Object
+SkiaSharp.SKNativeObject
```
Removed methods:
```csharp
public virtual void Dispose ();
protected override void ~RawIterator ();
```
Added method:
```csharp
protected override void Dispose (bool disposing);
```
#### New Type: SkiaSharp.SKPath.OpBuilder
```csharp
public class OpBuilder : SkiaSharp.SKNativeObject, System.IDisposable {
// constructors
public SKPath.OpBuilder ();
// methods
public void Add (SKPath path, SKPathOp op);
protected override void Dispose (bool disposing);
public bool Resolve (SKPath result);
}
```
#### New Type: SkiaSharp.GRContextFlushBits
```csharp
[Serializable]
public enum GRContextFlushBits {
Discard = 2,
None = 0,
}
```
#### New Type: SkiaSharp.SKNativeObject
```csharp
public class SKNativeObject : System.IDisposable {
// properties
protected virtual IntPtr Handle { get; set; }
// methods
public virtual void Dispose ();
protected virtual void Dispose (bool disposing);
protected override void ~SKNativeObject ();
}
```
#### New Type: SkiaSharp.SKPathConvexity
```csharp
[Serializable]
public enum SKPathConvexity {
Concave = 2,
Convex = 1,
Unknown = 0,
}
```
#### New Type: SkiaSharp.SKPathOp
```csharp
[Serializable]
public enum SKPathOp {
Difference = 0,
Intersect = 1,
ReverseDifference = 4,
Union = 2,
Xor = 3,
}
```

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -1,170 +1,170 @@
# API diff: SkiaSharp.dll
## SkiaSharp.dll
### Namespace SkiaSharp
#### Type Changed: SkiaSharp.GRBackendRenderTargetDesc
Added properties:
```csharp
public SKRectI Rect { get; }
public SKSizeI Size { get; }
```
#### Type Changed: SkiaSharp.SKAutoCanvasRestore
Added constructor:
```csharp
public SKAutoCanvasRestore (SKCanvas canvas);
```
#### Type Changed: SkiaSharp.SKBitmap
Added property:
```csharp
public bool ReadyToDraw { get; }
```
Added methods:
```csharp
public bool CopyPixelsTo (IntPtr dst, int dstSize, int dstRowBytes, bool preserveDstPad);
public static SKBitmap Decode (SKCodec codec, SKImageInfo bitmapInfo);
public static SKBitmap Decode (SKData data, SKImageInfo bitmapInfo);
public static SKBitmap Decode (SKStream stream, SKImageInfo bitmapInfo);
public static SKBitmap Decode (byte[] buffer, SKImageInfo bitmapInfo);
public static SKBitmap Decode (string filename, SKImageInfo bitmapInfo);
public IntPtr GetPixels ();
public bool InstallPixels (SKImageInfo info, IntPtr pixels);
public bool InstallPixels (SKImageInfo info, IntPtr pixels, int rowBytes);
public bool InstallPixels (SKImageInfo info, IntPtr pixels, int rowBytes, SKColorTable ctable);
public bool InstallPixels (SKImageInfo info, IntPtr pixels, int rowBytes, SKColorTable ctable, SKBitmapReleaseDelegate releaseProc, object context);
public void SetColorTable (SKColorTable ct);
public void SetPixels (IntPtr pixels);
public void SetPixels (IntPtr pixels, SKColorTable ct);
```
#### Type Changed: SkiaSharp.SKCanvas
Obsoleted methods:
```diff
[Obsolete ("Use DrawPositionedText instead.")]
public void DrawText (string text, SKPoint[] points, SKPaint paint);
[Obsolete ("Use DrawPositionedText instead.")]
public void DrawText (IntPtr buffer, int length, SKPoint[] points, SKPaint paint);
```
Added methods:
```csharp
protected override void Dispose (bool disposing);
public void DrawPositionedText (string text, SKPoint[] points, SKPaint paint);
public void DrawPositionedText (IntPtr buffer, int length, SKPoint[] points, SKPaint paint);
public void DrawRegion (SKRegion region, SKPaint paint);
public bool QuickReject (SKPath path);
public bool QuickReject (SKRect rect);
```
#### Type Changed: SkiaSharp.SKCodec
Added methods:
```csharp
public SKCodecResult IncrementalDecode ();
public SKCodecResult IncrementalDecode (out int rowsDecoded);
public SKCodecResult StartIncrementalDecode (SKImageInfo info, IntPtr pixels, int rowBytes);
public SKCodecResult StartIncrementalDecode (SKImageInfo info, IntPtr pixels, int rowBytes, SKCodecOptions options);
public SKCodecResult StartIncrementalDecode (SKImageInfo info, IntPtr pixels, int rowBytes, SKCodecOptions options, SKColorTable colorTable, ref int colorTableCount);
public SKCodecResult StartIncrementalDecode (SKImageInfo info, IntPtr pixels, int rowBytes, SKCodecOptions options, IntPtr colorTable, ref int colorTableCount);
```
#### Type Changed: SkiaSharp.SKColor
Added constructor:
```csharp
public SKColor (uint value);
```
#### Type Changed: SkiaSharp.SKColorFilter
Added method:
```csharp
public static SKColorFilter CreateBlendMode (SKColor c, SKBlendMode mode);
```
#### Type Changed: SkiaSharp.SKColorTable
Added property:
```csharp
public SKColor Item { get; }
```
#### Type Changed: SkiaSharp.SKData
Added property:
```csharp
public bool IsEmpty { get; }
```
Added methods:
```csharp
public System.IO.Stream AsStream (bool streamDisposesData);
public byte[] ToArray ();
```
#### Type Changed: SkiaSharp.SKPath
Added properties:
```csharp
public bool IsEmpty { get; }
public int VerbCount { get; }
```
#### New Type: SkiaSharp.SKAutoLockPixels
```csharp
public class SKAutoLockPixels : System.IDisposable {
// constructors
public SKAutoLockPixels (SKBitmap bitmap);
public SKAutoLockPixels (SKBitmap bitmap, bool doLock);
// methods
public virtual void Dispose ();
public void Unlock ();
}
```
#### New Type: SkiaSharp.SKBitmapReleaseDelegate
```csharp
public sealed delegate SKBitmapReleaseDelegate : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
// constructors
public SKBitmapReleaseDelegate (object object, IntPtr method);
// methods
public virtual System.IAsyncResult BeginInvoke (IntPtr address, object context, System.AsyncCallback callback, object object);
public virtual void EndInvoke (System.IAsyncResult result);
public virtual void Invoke (IntPtr address, object context);
}
```
# API diff: SkiaSharp.dll
## SkiaSharp.dll
### Namespace SkiaSharp
#### Type Changed: SkiaSharp.GRBackendRenderTargetDesc
Added properties:
```csharp
public SKRectI Rect { get; }
public SKSizeI Size { get; }
```
#### Type Changed: SkiaSharp.SKAutoCanvasRestore
Added constructor:
```csharp
public SKAutoCanvasRestore (SKCanvas canvas);
```
#### Type Changed: SkiaSharp.SKBitmap
Added property:
```csharp
public bool ReadyToDraw { get; }
```
Added methods:
```csharp
public bool CopyPixelsTo (IntPtr dst, int dstSize, int dstRowBytes, bool preserveDstPad);
public static SKBitmap Decode (SKCodec codec, SKImageInfo bitmapInfo);
public static SKBitmap Decode (SKData data, SKImageInfo bitmapInfo);
public static SKBitmap Decode (SKStream stream, SKImageInfo bitmapInfo);
public static SKBitmap Decode (byte[] buffer, SKImageInfo bitmapInfo);
public static SKBitmap Decode (string filename, SKImageInfo bitmapInfo);
public IntPtr GetPixels ();
public bool InstallPixels (SKImageInfo info, IntPtr pixels);
public bool InstallPixels (SKImageInfo info, IntPtr pixels, int rowBytes);
public bool InstallPixels (SKImageInfo info, IntPtr pixels, int rowBytes, SKColorTable ctable);
public bool InstallPixels (SKImageInfo info, IntPtr pixels, int rowBytes, SKColorTable ctable, SKBitmapReleaseDelegate releaseProc, object context);
public void SetColorTable (SKColorTable ct);
public void SetPixels (IntPtr pixels);
public void SetPixels (IntPtr pixels, SKColorTable ct);
```
#### Type Changed: SkiaSharp.SKCanvas
Obsoleted methods:
```diff
[Obsolete ("Use DrawPositionedText instead.")]
public void DrawText (string text, SKPoint[] points, SKPaint paint);
[Obsolete ("Use DrawPositionedText instead.")]
public void DrawText (IntPtr buffer, int length, SKPoint[] points, SKPaint paint);
```
Added methods:
```csharp
protected override void Dispose (bool disposing);
public void DrawPositionedText (string text, SKPoint[] points, SKPaint paint);
public void DrawPositionedText (IntPtr buffer, int length, SKPoint[] points, SKPaint paint);
public void DrawRegion (SKRegion region, SKPaint paint);
public bool QuickReject (SKPath path);
public bool QuickReject (SKRect rect);
```
#### Type Changed: SkiaSharp.SKCodec
Added methods:
```csharp
public SKCodecResult IncrementalDecode ();
public SKCodecResult IncrementalDecode (out int rowsDecoded);
public SKCodecResult StartIncrementalDecode (SKImageInfo info, IntPtr pixels, int rowBytes);
public SKCodecResult StartIncrementalDecode (SKImageInfo info, IntPtr pixels, int rowBytes, SKCodecOptions options);
public SKCodecResult StartIncrementalDecode (SKImageInfo info, IntPtr pixels, int rowBytes, SKCodecOptions options, SKColorTable colorTable, ref int colorTableCount);
public SKCodecResult StartIncrementalDecode (SKImageInfo info, IntPtr pixels, int rowBytes, SKCodecOptions options, IntPtr colorTable, ref int colorTableCount);
```
#### Type Changed: SkiaSharp.SKColor
Added constructor:
```csharp
public SKColor (uint value);
```
#### Type Changed: SkiaSharp.SKColorFilter
Added method:
```csharp
public static SKColorFilter CreateBlendMode (SKColor c, SKBlendMode mode);
```
#### Type Changed: SkiaSharp.SKColorTable
Added property:
```csharp
public SKColor Item { get; }
```
#### Type Changed: SkiaSharp.SKData
Added property:
```csharp
public bool IsEmpty { get; }
```
Added methods:
```csharp
public System.IO.Stream AsStream (bool streamDisposesData);
public byte[] ToArray ();
```
#### Type Changed: SkiaSharp.SKPath
Added properties:
```csharp
public bool IsEmpty { get; }
public int VerbCount { get; }
```
#### New Type: SkiaSharp.SKAutoLockPixels
```csharp
public class SKAutoLockPixels : System.IDisposable {
// constructors
public SKAutoLockPixels (SKBitmap bitmap);
public SKAutoLockPixels (SKBitmap bitmap, bool doLock);
// methods
public virtual void Dispose ();
public void Unlock ();
}
```
#### New Type: SkiaSharp.SKBitmapReleaseDelegate
```csharp
public sealed delegate SKBitmapReleaseDelegate : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
// constructors
public SKBitmapReleaseDelegate (object object, IntPtr method);
// methods
public virtual System.IAsyncResult BeginInvoke (IntPtr address, object context, System.AsyncCallback callback, object object);
public virtual void EndInvoke (System.IAsyncResult result);
public virtual void Invoke (IntPtr address, object context);
}
```

Просмотреть файл

@ -1,250 +1,250 @@
# API diff: SkiaSharp.dll
## SkiaSharp.dll
> Assembly Version Changed: 1.56.0.0 vs 1.55.0.0
### Namespace SkiaSharp
#### Type Changed: SkiaSharp.SKBitmap
Added methods:
```csharp
public bool InstallPixels (SKPixmap pixmap);
public SKPixmap PeekPixels ();
public bool Resize (SKBitmap dst, SKBitmapResizeMethod method);
public SKBitmap Resize (SKImageInfo info, SKBitmapResizeMethod method);
public static bool Resize (SKBitmap dst, SKBitmap src, SKBitmapResizeMethod method);
```
#### Type Changed: SkiaSharp.SKCodec
Added properties:
```csharp
public SKEncodedInfo EncodedInfo { get; }
public int FrameCount { get; }
public SKCodecFrameInfo[] FrameInfo { get; }
public int RepetitionCount { get; }
```
Added methods:
```csharp
public SKCodecResult GetPixels (SKImageInfo info, IntPtr pixels, SKCodecOptions options);
public SKCodecResult GetPixels (SKImageInfo info, IntPtr pixels, int rowBytes, SKCodecOptions options);
```
#### Type Changed: SkiaSharp.SKCodecOptions
Added constructor:
```csharp
public SKCodecOptions (int frameIndex, bool hasPriorFrame);
```
Added properties:
```csharp
public int FrameIndex { get; set; }
public bool HasPriorFrame { get; set; }
```
#### Type Changed: SkiaSharp.SKColorFilter
Obsoleted methods:
```diff
[Obsolete ("Use CreateBlendMode(SKColor, SKBlendMode) instead.")]
public static SKColorFilter CreateXferMode (SKColor c, SKXferMode mode);
```
Added method:
```csharp
[Obsolete ("Use CreateBlendMode(SKColor, SKBlendMode) instead.")]
public static SKColorFilter CreateBlendMode (SKColor c, SKXferMode mode);
```
#### Type Changed: SkiaSharp.SKImageFilter
Removed method:
```csharp
public static SKImageFilter CreateMerge (SKImageFilter[] filters, SKXferMode[] modes, SKImageFilter.CropRect cropRect);
```
Added methods:
```csharp
public static SKImageFilter CreateMerge (SKImageFilter[] filters, SKBlendMode[] modes, SKImageFilter.CropRect cropRect);
public static SKImageFilter CreateMerge (SKImageFilter first, SKImageFilter second, SKBlendMode mode, SKImageFilter.CropRect cropRect);
```
#### Type Changed: SkiaSharp.SKMaskFilter
Added method:
```csharp
public static SKMaskFilter CreateShadow (float occluderHeight, SKPoint3 lightPos, float lightRadius, float ambientAlpha, float spotAlpha, SKShadowMaskFilterShadowFlags flags);
```
#### Type Changed: SkiaSharp.SKPicture
Obsoleted properties:
```diff
[Obsolete ("Use CullRect instead.")]
public SKRect Bounds { get; }
```
Added property:
```csharp
public SKRect CullRect { get; }
```
#### Type Changed: SkiaSharp.SKPictureRecorder
Modified methods:
```diff
-public SKCanvas BeginRecording (SKRect rect)
+public SKCanvas BeginRecording (SKRect cullRect)
```
#### Type Changed: SkiaSharp.SKShader
Obsoleted methods:
```diff
[Obsolete ("Use CreateCompose(SKShader, SKShader, SKBlendMode) instead.")]
public static SKShader CreateCompose (SKShader shaderA, SKShader shaderB, SKXferMode mode);
```
Added method:
```csharp
public static SKShader CreateCompose (SKShader shaderA, SKShader shaderB, SKBlendMode mode);
```
#### New Type: SkiaSharp.SKBitmapResizeMethod
```csharp
[Serializable]
public enum SKBitmapResizeMethod {
Box = 0,
Hamming = 3,
Lanczos3 = 2,
Mitchell = 4,
Triangle = 1,
}
```
#### New Type: SkiaSharp.SKCodecFrameInfo
```csharp
public struct SKCodecFrameInfo {
// properties
public int Duration { get; set; }
public int RequiredFrame { get; set; }
}
```
#### New Type: SkiaSharp.SKEncodedInfo
```csharp
public struct SKEncodedInfo {
// constructors
public SKEncodedInfo (SKEncodedInfoColor color);
public SKEncodedInfo (SKEncodedInfoColor color, SKEncodedInfoAlpha alpha, byte bitsPerComponent);
// properties
public SKEncodedInfoAlpha Alpha { get; }
public byte BitsPerComponent { get; }
public byte BitsPerPixel { get; }
public SKEncodedInfoColor Color { get; }
}
```
#### New Type: SkiaSharp.SKEncodedInfoAlpha
```csharp
[Serializable]
public enum SKEncodedInfoAlpha {
Binary = 2,
Opaque = 0,
Unpremul = 1,
}
```
#### New Type: SkiaSharp.SKEncodedInfoColor
```csharp
[Serializable]
public enum SKEncodedInfoColor {
Bgr = 5,
Bgra = 7,
Bgrx = 6,
Gray = 0,
GrayAlpha = 1,
InvertedCmyk = 10,
Palette = 2,
Rgb = 3,
Rgba = 4,
Ycck = 11,
Yuv = 8,
Yuva = 9,
}
```
#### New Type: SkiaSharp.SKPixmap
```csharp
public class SKPixmap : SkiaSharp.SKObject, System.IDisposable {
// constructors
public SKPixmap ();
public SKPixmap (SKImageInfo info, IntPtr addr, int rowBytes, SKColorTable ctable);
// properties
public SKAlphaType AlphaType { get; }
public int BytesPerPixel { get; }
public SKColorTable ColorTable { get; }
public SKColorType ColorType { get; }
public int Height { get; }
public SKImageInfo Info { get; }
public int RowBytes { get; }
public int Width { get; }
// methods
protected override void Dispose (bool disposing);
public IntPtr GetPixels ();
public void Reset ();
public void Reset (SKImageInfo info, IntPtr addr, int rowBytes, SKColorTable ctable);
public static bool Resize (SKPixmap dst, SKPixmap src, SKBitmapResizeMethod method);
}
```
#### New Type: SkiaSharp.SKShadowMaskFilterShadowFlags
```csharp
[Serializable]
[Flags]
public enum SKShadowMaskFilterShadowFlags {
All = 7,
GaussianEdge = 4,
LargerUmbra = 2,
None = 0,
TransparentOccluder = 1,
}
```
# API diff: SkiaSharp.dll
## SkiaSharp.dll
> Assembly Version Changed: 1.56.0.0 vs 1.55.0.0
### Namespace SkiaSharp
#### Type Changed: SkiaSharp.SKBitmap
Added methods:
```csharp
public bool InstallPixels (SKPixmap pixmap);
public SKPixmap PeekPixels ();
public bool Resize (SKBitmap dst, SKBitmapResizeMethod method);
public SKBitmap Resize (SKImageInfo info, SKBitmapResizeMethod method);
public static bool Resize (SKBitmap dst, SKBitmap src, SKBitmapResizeMethod method);
```
#### Type Changed: SkiaSharp.SKCodec
Added properties:
```csharp
public SKEncodedInfo EncodedInfo { get; }
public int FrameCount { get; }
public SKCodecFrameInfo[] FrameInfo { get; }
public int RepetitionCount { get; }
```
Added methods:
```csharp
public SKCodecResult GetPixels (SKImageInfo info, IntPtr pixels, SKCodecOptions options);
public SKCodecResult GetPixels (SKImageInfo info, IntPtr pixels, int rowBytes, SKCodecOptions options);
```
#### Type Changed: SkiaSharp.SKCodecOptions
Added constructor:
```csharp
public SKCodecOptions (int frameIndex, bool hasPriorFrame);
```
Added properties:
```csharp
public int FrameIndex { get; set; }
public bool HasPriorFrame { get; set; }
```
#### Type Changed: SkiaSharp.SKColorFilter
Obsoleted methods:
```diff
[Obsolete ("Use CreateBlendMode(SKColor, SKBlendMode) instead.")]
public static SKColorFilter CreateXferMode (SKColor c, SKXferMode mode);
```
Added method:
```csharp
[Obsolete ("Use CreateBlendMode(SKColor, SKBlendMode) instead.")]
public static SKColorFilter CreateBlendMode (SKColor c, SKXferMode mode);
```
#### Type Changed: SkiaSharp.SKImageFilter
Removed method:
```csharp
public static SKImageFilter CreateMerge (SKImageFilter[] filters, SKXferMode[] modes, SKImageFilter.CropRect cropRect);
```
Added methods:
```csharp
public static SKImageFilter CreateMerge (SKImageFilter[] filters, SKBlendMode[] modes, SKImageFilter.CropRect cropRect);
public static SKImageFilter CreateMerge (SKImageFilter first, SKImageFilter second, SKBlendMode mode, SKImageFilter.CropRect cropRect);
```
#### Type Changed: SkiaSharp.SKMaskFilter
Added method:
```csharp
public static SKMaskFilter CreateShadow (float occluderHeight, SKPoint3 lightPos, float lightRadius, float ambientAlpha, float spotAlpha, SKShadowMaskFilterShadowFlags flags);
```
#### Type Changed: SkiaSharp.SKPicture
Obsoleted properties:
```diff
[Obsolete ("Use CullRect instead.")]
public SKRect Bounds { get; }
```
Added property:
```csharp
public SKRect CullRect { get; }
```
#### Type Changed: SkiaSharp.SKPictureRecorder
Modified methods:
```diff
-public SKCanvas BeginRecording (SKRect rect)
+public SKCanvas BeginRecording (SKRect cullRect)
```
#### Type Changed: SkiaSharp.SKShader
Obsoleted methods:
```diff
[Obsolete ("Use CreateCompose(SKShader, SKShader, SKBlendMode) instead.")]
public static SKShader CreateCompose (SKShader shaderA, SKShader shaderB, SKXferMode mode);
```
Added method:
```csharp
public static SKShader CreateCompose (SKShader shaderA, SKShader shaderB, SKBlendMode mode);
```
#### New Type: SkiaSharp.SKBitmapResizeMethod
```csharp
[Serializable]
public enum SKBitmapResizeMethod {
Box = 0,
Hamming = 3,
Lanczos3 = 2,
Mitchell = 4,
Triangle = 1,
}
```
#### New Type: SkiaSharp.SKCodecFrameInfo
```csharp
public struct SKCodecFrameInfo {
// properties
public int Duration { get; set; }
public int RequiredFrame { get; set; }
}
```
#### New Type: SkiaSharp.SKEncodedInfo
```csharp
public struct SKEncodedInfo {
// constructors
public SKEncodedInfo (SKEncodedInfoColor color);
public SKEncodedInfo (SKEncodedInfoColor color, SKEncodedInfoAlpha alpha, byte bitsPerComponent);
// properties
public SKEncodedInfoAlpha Alpha { get; }
public byte BitsPerComponent { get; }
public byte BitsPerPixel { get; }
public SKEncodedInfoColor Color { get; }
}
```
#### New Type: SkiaSharp.SKEncodedInfoAlpha
```csharp
[Serializable]
public enum SKEncodedInfoAlpha {
Binary = 2,
Opaque = 0,
Unpremul = 1,
}
```
#### New Type: SkiaSharp.SKEncodedInfoColor
```csharp
[Serializable]
public enum SKEncodedInfoColor {
Bgr = 5,
Bgra = 7,
Bgrx = 6,
Gray = 0,
GrayAlpha = 1,
InvertedCmyk = 10,
Palette = 2,
Rgb = 3,
Rgba = 4,
Ycck = 11,
Yuv = 8,
Yuva = 9,
}
```
#### New Type: SkiaSharp.SKPixmap
```csharp
public class SKPixmap : SkiaSharp.SKObject, System.IDisposable {
// constructors
public SKPixmap ();
public SKPixmap (SKImageInfo info, IntPtr addr, int rowBytes, SKColorTable ctable);
// properties
public SKAlphaType AlphaType { get; }
public int BytesPerPixel { get; }
public SKColorTable ColorTable { get; }
public SKColorType ColorType { get; }
public int Height { get; }
public SKImageInfo Info { get; }
public int RowBytes { get; }
public int Width { get; }
// methods
protected override void Dispose (bool disposing);
public IntPtr GetPixels ();
public void Reset ();
public void Reset (SKImageInfo info, IntPtr addr, int rowBytes, SKColorTable ctable);
public static bool Resize (SKPixmap dst, SKPixmap src, SKBitmapResizeMethod method);
}
```
#### New Type: SkiaSharp.SKShadowMaskFilterShadowFlags
```csharp
[Serializable]
[Flags]
public enum SKShadowMaskFilterShadowFlags {
All = 7,
GaussianEdge = 4,
LargerUmbra = 2,
None = 0,
TransparentOccluder = 1,
}
```

Просмотреть файл

@ -1,375 +1,375 @@
# API diff: SkiaSharp.dll
## SkiaSharp.dll
### Namespace SkiaSharp
#### Type Changed: SkiaSharp.SKBitmap
Added methods:
```csharp
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:
```diff
[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:
```csharp
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:
```csharp
public int NextScanline { get; }
public SKCodecScanlineOrder ScanlineOrder { get; }
```
Added methods:
```csharp
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:
```csharp
public SKData (byte[] bytes, ulong length);
```
#### Type Changed: SkiaSharp.SKDocument
Added method:
```csharp
public static SKDocument CreatePdf (SKWStream stream, SKDocumentPdfMetadata metadata, float dpi);
```
#### Type Changed: SkiaSharp.SKMaskFilter
Added methods:
```csharp
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:
```csharp
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:
```csharp
public SKPathSegmentMask SegmentMasks { get; }
```
Added method:
```csharp
public void AddPoly (SKPoint[] points, bool close);
```
#### Type Changed: SkiaSharp.SKStrokeJoin
Obsoleted fields:
```diff
[Obsolete ("Use SKStrokeJoin.Miter instead.")]
Mitter = 0,
```
Added value:
```csharp
Miter = 0,
```
#### Type Changed: SkiaSharp.SKWStream
Modified properties:
```diff
public ---virtual--- int BytesWritten { get; }
```
Modified methods:
```diff
public ---virtual--- void Flush ()
public ---virtual--- bool Write (byte[] buffer, int size)
```
#### New Type: SkiaSharp.SK3dView
```csharp
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
```csharp
public class SKAutoMaskFreeImage : System.IDisposable {
// constructors
public SKAutoMaskFreeImage (IntPtr maskImage);
// methods
public virtual void Dispose ();
}
```
#### New Type: SkiaSharp.SKBlurMaskFilterFlags
```csharp
[Serializable]
[Flags]
public enum SKBlurMaskFilterFlags {
All = 3,
HighQuality = 2,
IgnoreTransform = 1,
None = 0,
}
```
#### New Type: SkiaSharp.SKCodecScanlineOrder
```csharp
[Serializable]
public enum SKCodecScanlineOrder {
BottomUp = 1,
TopDown = 0,
}
```
#### New Type: SkiaSharp.SKDocumentPdfMetadata
```csharp
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
```csharp
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
```csharp
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
```csharp
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
```csharp
[Serializable]
public enum SKMaskFormat {
A8 = 1,
Argb32 = 3,
BW = 0,
Lcd16 = 4,
ThreeD = 2,
}
```
#### New Type: SkiaSharp.SKPathSegmentMask
```csharp
[Serializable]
[Flags]
public enum SKPathSegmentMask {
Conic = 4,
Cubic = 8,
Line = 1,
Quad = 2,
}
```
#### New Type: SkiaSharp.SKSvgCanvas
```csharp
public class SKSvgCanvas {
// methods
public static SKCanvas Create (SKRect bounds, SKXmlWriter writer);
}
```
#### New Type: SkiaSharp.SKXmlStreamWriter
```csharp
public class SKXmlStreamWriter : SkiaSharp.SKXmlWriter, System.IDisposable {
// constructors
public SKXmlStreamWriter (SKWStream stream);
// methods
protected override void Dispose (bool disposing);
}
```
#### New Type: SkiaSharp.SKXmlWriter
```csharp
public abstract class SKXmlWriter : SkiaSharp.SKObject, System.IDisposable {
}
```
#### New Type: SkiaSharp.StringUtilities
```csharp
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);
}
```
# API diff: SkiaSharp.dll
## SkiaSharp.dll
### Namespace SkiaSharp
#### Type Changed: SkiaSharp.SKBitmap
Added methods:
```csharp
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:
```diff
[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:
```csharp
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:
```csharp
public int NextScanline { get; }
public SKCodecScanlineOrder ScanlineOrder { get; }
```
Added methods:
```csharp
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:
```csharp
public SKData (byte[] bytes, ulong length);
```
#### Type Changed: SkiaSharp.SKDocument
Added method:
```csharp
public static SKDocument CreatePdf (SKWStream stream, SKDocumentPdfMetadata metadata, float dpi);
```
#### Type Changed: SkiaSharp.SKMaskFilter
Added methods:
```csharp
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:
```csharp
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:
```csharp
public SKPathSegmentMask SegmentMasks { get; }
```
Added method:
```csharp
public void AddPoly (SKPoint[] points, bool close);
```
#### Type Changed: SkiaSharp.SKStrokeJoin
Obsoleted fields:
```diff
[Obsolete ("Use SKStrokeJoin.Miter instead.")]
Mitter = 0,
```
Added value:
```csharp
Miter = 0,
```
#### Type Changed: SkiaSharp.SKWStream
Modified properties:
```diff
public ---virtual--- int BytesWritten { get; }
```
Modified methods:
```diff
public ---virtual--- void Flush ()
public ---virtual--- bool Write (byte[] buffer, int size)
```
#### New Type: SkiaSharp.SK3dView
```csharp
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
```csharp
public class SKAutoMaskFreeImage : System.IDisposable {
// constructors
public SKAutoMaskFreeImage (IntPtr maskImage);
// methods
public virtual void Dispose ();
}
```
#### New Type: SkiaSharp.SKBlurMaskFilterFlags
```csharp
[Serializable]
[Flags]
public enum SKBlurMaskFilterFlags {
All = 3,
HighQuality = 2,
IgnoreTransform = 1,
None = 0,
}
```
#### New Type: SkiaSharp.SKCodecScanlineOrder
```csharp
[Serializable]
public enum SKCodecScanlineOrder {
BottomUp = 1,
TopDown = 0,
}
```
#### New Type: SkiaSharp.SKDocumentPdfMetadata
```csharp
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
```csharp
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
```csharp
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
```csharp
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
```csharp
[Serializable]
public enum SKMaskFormat {
A8 = 1,
Argb32 = 3,
BW = 0,
Lcd16 = 4,
ThreeD = 2,
}
```
#### New Type: SkiaSharp.SKPathSegmentMask
```csharp
[Serializable]
[Flags]
public enum SKPathSegmentMask {
Conic = 4,
Cubic = 8,
Line = 1,
Quad = 2,
}
```
#### New Type: SkiaSharp.SKSvgCanvas
```csharp
public class SKSvgCanvas {
// methods
public static SKCanvas Create (SKRect bounds, SKXmlWriter writer);
}
```
#### New Type: SkiaSharp.SKXmlStreamWriter
```csharp
public class SKXmlStreamWriter : SkiaSharp.SKXmlWriter, System.IDisposable {
// constructors
public SKXmlStreamWriter (SKWStream stream);
// methods
protected override void Dispose (bool disposing);
}
```
#### New Type: SkiaSharp.SKXmlWriter
```csharp
public abstract class SKXmlWriter : SkiaSharp.SKObject, System.IDisposable {
}
```
#### New Type: SkiaSharp.StringUtilities
```csharp
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);
}
```

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -1,220 +1,220 @@
# API diff: SkiaSharp.dll
## SkiaSharp.dll
> Assembly Version Changed: 1.57.0.0 vs 1.56.0.0
### Namespace SkiaSharp
#### Type Changed: SkiaSharp.GRPixelConfig
Removed value:
```csharp
Index8 = 2,
```
Added value:
```csharp
Gray8 = 2,
```
#### Type Changed: SkiaSharp.SKBitmap
Added methods:
```csharp
public bool Encode (SKWStream dst, SKEncodedImageFormat format, int quality);
public void NotifyPixelsChanged ();
public bool PeekPixels (SKPixmap pixmap);
```
#### Type Changed: SkiaSharp.SKCanvas
Added method:
```csharp
public void DrawSurface (SKSurface surface, float x, float y, SKPaint paint);
```
#### Type Changed: SkiaSharp.SKCodec
Modified properties:
```diff
-public SKEncodedFormat EncodedFormat { get; }
+public SKEncodedImageFormat EncodedFormat { get; }
```
#### Type Changed: SkiaSharp.SKCodecFrameInfo
Added property:
```csharp
public bool FullyRecieved { get; set; }
```
#### Type Changed: SkiaSharp.SKData
Added methods:
```csharp
public static SKData Create (int size);
public static SKData Create (ulong size);
```
#### Type Changed: SkiaSharp.SKDocument
Added methods:
```csharp
public static SKDocument CreateXps (SKWStream stream, float dpi);
public static SKDocument CreateXps (string path, float dpi);
```
#### Type Changed: SkiaSharp.SKDynamicMemoryWStream
Added methods:
```csharp
public void CopyTo (SKWStream dst);
public void CopyTo (IntPtr data);
public SKData DetachAsData ();
```
#### Type Changed: SkiaSharp.SKImage
Removed method:
```csharp
public SKImage ToTextureImage (GRContext context);
```
Obsoleted methods:
```diff
[Obsolete ("Use Encode(SKEncodedImageFormat, int) instead.")]
public SKData Encode (SKImageEncodeFormat format, int quality);
```
Added method:
```csharp
public SKData Encode (SKEncodedImageFormat format, int quality);
```
#### Type Changed: SkiaSharp.SKImageEncodeFormat
Removed value:
```csharp
Unknown = 0,
```
Modified fields:
```diff
-Bmp = 1
+Bmp = 0
-Gif = 2
+Gif = 1
-Ico = 3
+Ico = 2
-Jpeg = 4
+Jpeg = 3
-Png = 5
+Png = 4
-Wbmp = 6
+Wbmp = 5
-Webp = 7
+Webp = 6
```
#### Type Changed: SkiaSharp.SKMaskFilter
Removed methods:
```csharp
public static SKMaskFilter CreateEmboss (float blurSigma, SKPoint3 direction, float ambient, float specular);
public static SKMaskFilter CreateEmboss (float blurSigma, float directionX, float directionY, float directionZ, float ambient, float specular);
public static SKMaskFilter CreateShadow (float occluderHeight, SKPoint3 lightPos, float lightRadius, float ambientAlpha, float spotAlpha, SKShadowMaskFilterShadowFlags flags);
```
#### Type Changed: SkiaSharp.SKPixmap
Added methods:
```csharp
public SKData Encode (SKEncodedImageFormat encoder, int quality);
public bool Encode (SKWStream dst, SKEncodedImageFormat encoder, int quality);
public static bool Encode (SKWStream dst, SKPixmap src, SKEncodedImageFormat encoder, int quality);
```
#### Type Changed: SkiaSharp.SKSurface
Added property:
```csharp
public SKSurfaceProps SurfaceProps { get; }
```
Added methods:
```csharp
public void Draw (SKCanvas canvas, float x, float y, SKPaint paint);
public SKPixmap PeekPixels ();
public bool PeekPixels (SKPixmap pixmap);
public bool ReadPixels (SKImageInfo dstInfo, IntPtr dstPixels, int dstRowBytes, int srcX, int srcY);
```
#### Type Changed: SkiaSharp.SKWStream
Removed method:
```csharp
public void NewLine ();
```
Added method:
```csharp
public bool NewLine ();
```
#### Removed Type SkiaSharp.SKEncodedFormat
#### Removed Type SkiaSharp.SKShadowMaskFilterShadowFlags
#### New Type: SkiaSharp.SKEncodedImageFormat
```csharp
[Serializable]
public enum SKEncodedImageFormat {
Astc = 9,
Bmp = 0,
Dng = 10,
Gif = 1,
Ico = 2,
Jpeg = 3,
Ktx = 8,
Pkm = 7,
Png = 4,
Wbmp = 5,
Webp = 6,
}
```
# API diff: SkiaSharp.dll
## SkiaSharp.dll
> Assembly Version Changed: 1.57.0.0 vs 1.56.0.0
### Namespace SkiaSharp
#### Type Changed: SkiaSharp.GRPixelConfig
Removed value:
```csharp
Index8 = 2,
```
Added value:
```csharp
Gray8 = 2,
```
#### Type Changed: SkiaSharp.SKBitmap
Added methods:
```csharp
public bool Encode (SKWStream dst, SKEncodedImageFormat format, int quality);
public void NotifyPixelsChanged ();
public bool PeekPixels (SKPixmap pixmap);
```
#### Type Changed: SkiaSharp.SKCanvas
Added method:
```csharp
public void DrawSurface (SKSurface surface, float x, float y, SKPaint paint);
```
#### Type Changed: SkiaSharp.SKCodec
Modified properties:
```diff
-public SKEncodedFormat EncodedFormat { get; }
+public SKEncodedImageFormat EncodedFormat { get; }
```
#### Type Changed: SkiaSharp.SKCodecFrameInfo
Added property:
```csharp
public bool FullyRecieved { get; set; }
```
#### Type Changed: SkiaSharp.SKData
Added methods:
```csharp
public static SKData Create (int size);
public static SKData Create (ulong size);
```
#### Type Changed: SkiaSharp.SKDocument
Added methods:
```csharp
public static SKDocument CreateXps (SKWStream stream, float dpi);
public static SKDocument CreateXps (string path, float dpi);
```
#### Type Changed: SkiaSharp.SKDynamicMemoryWStream
Added methods:
```csharp
public void CopyTo (SKWStream dst);
public void CopyTo (IntPtr data);
public SKData DetachAsData ();
```
#### Type Changed: SkiaSharp.SKImage
Removed method:
```csharp
public SKImage ToTextureImage (GRContext context);
```
Obsoleted methods:
```diff
[Obsolete ("Use Encode(SKEncodedImageFormat, int) instead.")]
public SKData Encode (SKImageEncodeFormat format, int quality);
```
Added method:
```csharp
public SKData Encode (SKEncodedImageFormat format, int quality);
```
#### Type Changed: SkiaSharp.SKImageEncodeFormat
Removed value:
```csharp
Unknown = 0,
```
Modified fields:
```diff
-Bmp = 1
+Bmp = 0
-Gif = 2
+Gif = 1
-Ico = 3
+Ico = 2
-Jpeg = 4
+Jpeg = 3
-Png = 5
+Png = 4
-Wbmp = 6
+Wbmp = 5
-Webp = 7
+Webp = 6
```
#### Type Changed: SkiaSharp.SKMaskFilter
Removed methods:
```csharp
public static SKMaskFilter CreateEmboss (float blurSigma, SKPoint3 direction, float ambient, float specular);
public static SKMaskFilter CreateEmboss (float blurSigma, float directionX, float directionY, float directionZ, float ambient, float specular);
public static SKMaskFilter CreateShadow (float occluderHeight, SKPoint3 lightPos, float lightRadius, float ambientAlpha, float spotAlpha, SKShadowMaskFilterShadowFlags flags);
```
#### Type Changed: SkiaSharp.SKPixmap
Added methods:
```csharp
public SKData Encode (SKEncodedImageFormat encoder, int quality);
public bool Encode (SKWStream dst, SKEncodedImageFormat encoder, int quality);
public static bool Encode (SKWStream dst, SKPixmap src, SKEncodedImageFormat encoder, int quality);
```
#### Type Changed: SkiaSharp.SKSurface
Added property:
```csharp
public SKSurfaceProps SurfaceProps { get; }
```
Added methods:
```csharp
public void Draw (SKCanvas canvas, float x, float y, SKPaint paint);
public SKPixmap PeekPixels ();
public bool PeekPixels (SKPixmap pixmap);
public bool ReadPixels (SKImageInfo dstInfo, IntPtr dstPixels, int dstRowBytes, int srcX, int srcY);
```
#### Type Changed: SkiaSharp.SKWStream
Removed method:
```csharp
public void NewLine ();
```
Added method:
```csharp
public bool NewLine ();
```
#### Removed Type SkiaSharp.SKEncodedFormat
#### Removed Type SkiaSharp.SKShadowMaskFilterShadowFlags
#### New Type: SkiaSharp.SKEncodedImageFormat
```csharp
[Serializable]
public enum SKEncodedImageFormat {
Astc = 9,
Bmp = 0,
Dng = 10,
Gif = 1,
Ico = 2,
Jpeg = 3,
Ktx = 8,
Pkm = 7,
Png = 4,
Wbmp = 5,
Webp = 6,
}
```

Просмотреть файл

@ -1,380 +1,380 @@
# API diff: SkiaSharp.dll
## SkiaSharp.dll
> Assembly Version Changed: 1.58.0.0 vs 1.57.0.0
### Namespace SkiaSharp
#### Type Changed: SkiaSharp.GRContextOptions
Removed properties:
```csharp
public bool ClipBatchToBounds { get; set; }
public bool DrawBatchBounds { get; set; }
public bool ForceSWPathMasks { get; set; }
public int MaxBatchLookahead { get; set; }
public int MaxBatchLookback { get; set; }
```
Added properties:
```csharp
public bool ClipDrawOpsToBounds { get; set; }
public bool ForceSoftwarePathMasks { get; set; }
public int MaxOpCombineLookahead { get; set; }
public int MaxOpCombineLookback { get; set; }
public bool RequireDecodeDisableForSrgb { get; set; }
```
#### Type Changed: SkiaSharp.GRPixelConfig
Removed values:
```csharp
Astc12x12 = 12,
Latc = 10,
R11Eac = 11,
```
Modified fields:
```diff
-AlphaHalf = 14
+AlphaHalf = 12
-RgbaFloat = 13
+RgbaFloat = 10
-RgbaHalf = 15
+RgbaHalf = 13
```
Added value:
```csharp
RgFloat = 11,
```
#### Type Changed: SkiaSharp.SKBitmap
Added property:
```csharp
public SKColorSpace ColorSpace { get; }
```
#### Type Changed: SkiaSharp.SKCanvas
Obsoleted properties:
```diff
[Obsolete ("Use LocalClipBounds instead.")]
public SKRect ClipBounds { get; }
[Obsolete ("Use DeviceClipBounds instead.")]
public SKRectI ClipDeviceBounds { get; }
```
Added properties:
```csharp
public SKRectI DeviceClipBounds { get; }
public SKRect LocalClipBounds { get; }
```
Obsoleted methods:
```diff
[Obsolete ("Use GetLocalClipBounds instead.")]
public bool GetClipBounds (ref SKRect bounds);
[Obsolete ("Use GetDeviceClipBounds instead.")]
public bool GetClipDeviceBounds (ref SKRectI bounds);
```
Added methods:
```csharp
public bool GetDeviceClipBounds (out SKRectI bounds);
public bool GetLocalClipBounds (out SKRect bounds);
```
#### Type Changed: SkiaSharp.SKColorFilter
Removed fields:
```csharp
public static const int MaxColorCubeDimension;
[Obsolete ("Use MaxColorCubeDimension instead.")]
public static const int MaxCubeSize;
public static const int MinColorCubeDimension;
[Obsolete ("Use MinColorCubeDimension instead.")]
public static const int MinCubeSize;
```
Removed methods:
```csharp
public static SKColorFilter CreateColorCube (SKData cubeData, int cubeDimension);
public static SKColorFilter CreateColorCube (byte[] cubeData, int cubeDimension);
public static SKColorFilter CreateGamma (float gamma);
public static bool IsValid3DColorCube (SKData cubeData, int cubeDimension);
```
Added methods:
```csharp
public static SKColorFilter CreateHighContrast (SKHighContrastConfig config);
public static SKColorFilter CreateHighContrast (bool grayscale, SKHighContrastConfigInvertStyle invertStyle, float contrast);
```
#### Type Changed: SkiaSharp.SKData
Added methods:
```csharp
public static SKData Create (SKStream stream);
public static SKData Create (System.IO.Stream stream);
public static SKData Create (string filename);
public static SKData Create (SKStream stream, int length);
public static SKData Create (SKStream stream, long length);
public static SKData Create (SKStream stream, ulong length);
public static SKData Create (System.IO.Stream stream, int length);
public static SKData Create (System.IO.Stream stream, long length);
public static SKData Create (System.IO.Stream stream, ulong length);
```
#### Type Changed: SkiaSharp.SKImageEncodeFormat
Modified fields:
```diff
-Bmp = 0
+Bmp = 1
-Gif = 1
+Gif = 2
-Ico = 2
+Ico = 3
-Jpeg = 3
+Jpeg = 4
-Png = 4
+Png = 5
-Wbmp = 5
+Wbmp = 6
-Webp = 6
+Webp = 7
```
Added value:
```csharp
Unknown = 0,
```
#### Type Changed: SkiaSharp.SKImageFilter
Removed method:
```csharp
public static SKImageFilter CreateMagnifier (SKRect src, float inset, SKImageFilter input);
```
Added methods:
```csharp
public static SKImageFilter CreateImage (SKImage image);
public static SKImageFilter CreateImage (SKImage image, SKRect src, SKRect dst, SKFilterQuality filterQuality);
public static SKImageFilter CreateMagnifier (SKRect src, float inset, SKImageFilter input, SKImageFilter.CropRect cropRect);
public static SKImageFilter CreatePaint (SKPaint paint, SKImageFilter.CropRect cropRect);
```
#### Type Changed: SkiaSharp.SKImageInfo
Added constructor:
```csharp
public SKImageInfo (int width, int height, SKColorType colorType, SKAlphaType alphaType, SKColorSpace colorspace);
```
Added property:
```csharp
public SKColorSpace ColorSpace { get; set; }
```
#### Type Changed: SkiaSharp.SKPaint
Removed properties:
```csharp
public bool StrikeThruText { get; set; }
public bool UnderlineText { get; set; }
```
#### Type Changed: SkiaSharp.SKPath
Added method:
```csharp
public SKRect ComputeTightBounds ();
```
#### Type Changed: SkiaSharp.SKPathEffect
Added method:
```csharp
public static SKPathEffect CreateArcTo (float radius);
```
#### Type Changed: SkiaSharp.SKPixmap
Added property:
```csharp
public SKColorSpace ColorSpace { get; }
```
#### Type Changed: SkiaSharp.SKSurface
Added methods:
```csharp
public static SKSurface Create (SKPixmap pixmap);
public static SKSurface Create (SKPixmap pixmap, SKSurfaceProps props);
```
#### New Type: SkiaSharp.SKColorSpace
```csharp
public class SKColorSpace : SkiaSharp.SKObject, System.IDisposable {
// properties
public bool GammaIsCloseToSrgb { get; }
public bool GammaIsLinear { get; }
// methods
public static SKMatrix44 ConvertPrimariesToXyzD50 (SKColorSpacePrimaries primaries);
public static bool ConvertPrimariesToXyzD50 (SKColorSpacePrimaries primaries, SKMatrix44 toXyzD50);
public static SKColorSpace CreateIcc (byte[] input);
public static SKColorSpace CreateIcc (byte[] input, long length);
public static SKColorSpace CreateIcc (IntPtr input, long length);
public static SKColorSpace CreateRgb (SKColorSpaceRenderTargetGamma gamma, SKColorSpaceGamut gamut, SKColorSpaceFlags flags);
public static SKColorSpace CreateRgb (SKColorSpaceRenderTargetGamma gamma, SKMatrix44 toXyzD50, SKColorSpaceFlags flags);
public static SKColorSpace CreateRgb (SKColorSpaceTransferFn coeffs, SKColorSpaceGamut gamut, SKColorSpaceFlags flags);
public static SKColorSpace CreateRgb (SKColorSpaceTransferFn coeffs, SKMatrix44 toXyzD50, SKColorSpaceFlags flags);
public static SKColorSpace CreateSrgb ();
public static SKColorSpace CreateSrgbLinear ();
protected override void Dispose (bool disposing);
public static bool Equal (SKColorSpace left, SKColorSpace right);
public SKMatrix44 ToXyzD50 ();
public bool ToXyzD50 (SKMatrix44 toXyzD50);
}
```
#### New Type: SkiaSharp.SKColorSpaceFlags
```csharp
[Serializable]
public enum SKColorSpaceFlags {
NonLinearBlending = 1,
}
```
#### New Type: SkiaSharp.SKColorSpaceGamut
```csharp
[Serializable]
public enum SKColorSpaceGamut {
AdobeRgb = 1,
Dcip3D65 = 2,
Rec2020 = 3,
Srgb = 0,
}
```
#### New Type: SkiaSharp.SKColorSpacePrimaries
```csharp
public struct SKColorSpacePrimaries {
// constructors
public SKColorSpacePrimaries (float rx, float ry, float gx, float gy, float bx, float by, float wx, float wy);
// properties
public float BX { get; set; }
public float BY { get; set; }
public float GX { get; set; }
public float GY { get; set; }
public float RX { get; set; }
public float RY { get; set; }
public float WX { get; set; }
public float WY { get; set; }
}
```
#### New Type: SkiaSharp.SKColorSpaceRenderTargetGamma
```csharp
[Serializable]
public enum SKColorSpaceRenderTargetGamma {
Linear = 0,
Srgb = 1,
}
```
#### New Type: SkiaSharp.SKColorSpaceTransferFn
```csharp
public struct SKColorSpaceTransferFn {
// constructors
public SKColorSpaceTransferFn (float g, float a, float b, float c, float d, float e, float f);
// properties
public float A { get; set; }
public float B { get; set; }
public float C { get; set; }
public float D { get; set; }
public float E { get; set; }
public float F { get; set; }
public float G { get; set; }
}
```
#### New Type: SkiaSharp.SKHighContrastConfig
```csharp
public struct SKHighContrastConfig {
// constructors
public SKHighContrastConfig (bool grayscale, SKHighContrastConfigInvertStyle invertStyle, float contrast);
// fields
public static SKHighContrastConfig Default;
// properties
public float Contrast { get; set; }
public bool Grayscale { get; set; }
public SKHighContrastConfigInvertStyle InvertStyle { get; set; }
public bool IsValid { get; }
}
```
#### New Type: SkiaSharp.SKHighContrastConfigInvertStyle
```csharp
[Serializable]
public enum SKHighContrastConfigInvertStyle {
InvertBrightness = 1,
InvertLightness = 2,
NoInvert = 0,
}
```
# API diff: SkiaSharp.dll
## SkiaSharp.dll
> Assembly Version Changed: 1.58.0.0 vs 1.57.0.0
### Namespace SkiaSharp
#### Type Changed: SkiaSharp.GRContextOptions
Removed properties:
```csharp
public bool ClipBatchToBounds { get; set; }
public bool DrawBatchBounds { get; set; }
public bool ForceSWPathMasks { get; set; }
public int MaxBatchLookahead { get; set; }
public int MaxBatchLookback { get; set; }
```
Added properties:
```csharp
public bool ClipDrawOpsToBounds { get; set; }
public bool ForceSoftwarePathMasks { get; set; }
public int MaxOpCombineLookahead { get; set; }
public int MaxOpCombineLookback { get; set; }
public bool RequireDecodeDisableForSrgb { get; set; }
```
#### Type Changed: SkiaSharp.GRPixelConfig
Removed values:
```csharp
Astc12x12 = 12,
Latc = 10,
R11Eac = 11,
```
Modified fields:
```diff
-AlphaHalf = 14
+AlphaHalf = 12
-RgbaFloat = 13
+RgbaFloat = 10
-RgbaHalf = 15
+RgbaHalf = 13
```
Added value:
```csharp
RgFloat = 11,
```
#### Type Changed: SkiaSharp.SKBitmap
Added property:
```csharp
public SKColorSpace ColorSpace { get; }
```
#### Type Changed: SkiaSharp.SKCanvas
Obsoleted properties:
```diff
[Obsolete ("Use LocalClipBounds instead.")]
public SKRect ClipBounds { get; }
[Obsolete ("Use DeviceClipBounds instead.")]
public SKRectI ClipDeviceBounds { get; }
```
Added properties:
```csharp
public SKRectI DeviceClipBounds { get; }
public SKRect LocalClipBounds { get; }
```
Obsoleted methods:
```diff
[Obsolete ("Use GetLocalClipBounds instead.")]
public bool GetClipBounds (ref SKRect bounds);
[Obsolete ("Use GetDeviceClipBounds instead.")]
public bool GetClipDeviceBounds (ref SKRectI bounds);
```
Added methods:
```csharp
public bool GetDeviceClipBounds (out SKRectI bounds);
public bool GetLocalClipBounds (out SKRect bounds);
```
#### Type Changed: SkiaSharp.SKColorFilter
Removed fields:
```csharp
public static const int MaxColorCubeDimension;
[Obsolete ("Use MaxColorCubeDimension instead.")]
public static const int MaxCubeSize;
public static const int MinColorCubeDimension;
[Obsolete ("Use MinColorCubeDimension instead.")]
public static const int MinCubeSize;
```
Removed methods:
```csharp
public static SKColorFilter CreateColorCube (SKData cubeData, int cubeDimension);
public static SKColorFilter CreateColorCube (byte[] cubeData, int cubeDimension);
public static SKColorFilter CreateGamma (float gamma);
public static bool IsValid3DColorCube (SKData cubeData, int cubeDimension);
```
Added methods:
```csharp
public static SKColorFilter CreateHighContrast (SKHighContrastConfig config);
public static SKColorFilter CreateHighContrast (bool grayscale, SKHighContrastConfigInvertStyle invertStyle, float contrast);
```
#### Type Changed: SkiaSharp.SKData
Added methods:
```csharp
public static SKData Create (SKStream stream);
public static SKData Create (System.IO.Stream stream);
public static SKData Create (string filename);
public static SKData Create (SKStream stream, int length);
public static SKData Create (SKStream stream, long length);
public static SKData Create (SKStream stream, ulong length);
public static SKData Create (System.IO.Stream stream, int length);
public static SKData Create (System.IO.Stream stream, long length);
public static SKData Create (System.IO.Stream stream, ulong length);
```
#### Type Changed: SkiaSharp.SKImageEncodeFormat
Modified fields:
```diff
-Bmp = 0
+Bmp = 1
-Gif = 1
+Gif = 2
-Ico = 2
+Ico = 3
-Jpeg = 3
+Jpeg = 4
-Png = 4
+Png = 5
-Wbmp = 5
+Wbmp = 6
-Webp = 6
+Webp = 7
```
Added value:
```csharp
Unknown = 0,
```
#### Type Changed: SkiaSharp.SKImageFilter
Removed method:
```csharp
public static SKImageFilter CreateMagnifier (SKRect src, float inset, SKImageFilter input);
```
Added methods:
```csharp
public static SKImageFilter CreateImage (SKImage image);
public static SKImageFilter CreateImage (SKImage image, SKRect src, SKRect dst, SKFilterQuality filterQuality);
public static SKImageFilter CreateMagnifier (SKRect src, float inset, SKImageFilter input, SKImageFilter.CropRect cropRect);
public static SKImageFilter CreatePaint (SKPaint paint, SKImageFilter.CropRect cropRect);
```
#### Type Changed: SkiaSharp.SKImageInfo
Added constructor:
```csharp
public SKImageInfo (int width, int height, SKColorType colorType, SKAlphaType alphaType, SKColorSpace colorspace);
```
Added property:
```csharp
public SKColorSpace ColorSpace { get; set; }
```
#### Type Changed: SkiaSharp.SKPaint
Removed properties:
```csharp
public bool StrikeThruText { get; set; }
public bool UnderlineText { get; set; }
```
#### Type Changed: SkiaSharp.SKPath
Added method:
```csharp
public SKRect ComputeTightBounds ();
```
#### Type Changed: SkiaSharp.SKPathEffect
Added method:
```csharp
public static SKPathEffect CreateArcTo (float radius);
```
#### Type Changed: SkiaSharp.SKPixmap
Added property:
```csharp
public SKColorSpace ColorSpace { get; }
```
#### Type Changed: SkiaSharp.SKSurface
Added methods:
```csharp
public static SKSurface Create (SKPixmap pixmap);
public static SKSurface Create (SKPixmap pixmap, SKSurfaceProps props);
```
#### New Type: SkiaSharp.SKColorSpace
```csharp
public class SKColorSpace : SkiaSharp.SKObject, System.IDisposable {
// properties
public bool GammaIsCloseToSrgb { get; }
public bool GammaIsLinear { get; }
// methods
public static SKMatrix44 ConvertPrimariesToXyzD50 (SKColorSpacePrimaries primaries);
public static bool ConvertPrimariesToXyzD50 (SKColorSpacePrimaries primaries, SKMatrix44 toXyzD50);
public static SKColorSpace CreateIcc (byte[] input);
public static SKColorSpace CreateIcc (byte[] input, long length);
public static SKColorSpace CreateIcc (IntPtr input, long length);
public static SKColorSpace CreateRgb (SKColorSpaceRenderTargetGamma gamma, SKColorSpaceGamut gamut, SKColorSpaceFlags flags);
public static SKColorSpace CreateRgb (SKColorSpaceRenderTargetGamma gamma, SKMatrix44 toXyzD50, SKColorSpaceFlags flags);
public static SKColorSpace CreateRgb (SKColorSpaceTransferFn coeffs, SKColorSpaceGamut gamut, SKColorSpaceFlags flags);
public static SKColorSpace CreateRgb (SKColorSpaceTransferFn coeffs, SKMatrix44 toXyzD50, SKColorSpaceFlags flags);
public static SKColorSpace CreateSrgb ();
public static SKColorSpace CreateSrgbLinear ();
protected override void Dispose (bool disposing);
public static bool Equal (SKColorSpace left, SKColorSpace right);
public SKMatrix44 ToXyzD50 ();
public bool ToXyzD50 (SKMatrix44 toXyzD50);
}
```
#### New Type: SkiaSharp.SKColorSpaceFlags
```csharp
[Serializable]
public enum SKColorSpaceFlags {
NonLinearBlending = 1,
}
```
#### New Type: SkiaSharp.SKColorSpaceGamut
```csharp
[Serializable]
public enum SKColorSpaceGamut {
AdobeRgb = 1,
Dcip3D65 = 2,
Rec2020 = 3,
Srgb = 0,
}
```
#### New Type: SkiaSharp.SKColorSpacePrimaries
```csharp
public struct SKColorSpacePrimaries {
// constructors
public SKColorSpacePrimaries (float rx, float ry, float gx, float gy, float bx, float by, float wx, float wy);
// properties
public float BX { get; set; }
public float BY { get; set; }
public float GX { get; set; }
public float GY { get; set; }
public float RX { get; set; }
public float RY { get; set; }
public float WX { get; set; }
public float WY { get; set; }
}
```
#### New Type: SkiaSharp.SKColorSpaceRenderTargetGamma
```csharp
[Serializable]
public enum SKColorSpaceRenderTargetGamma {
Linear = 0,
Srgb = 1,
}
```
#### New Type: SkiaSharp.SKColorSpaceTransferFn
```csharp
public struct SKColorSpaceTransferFn {
// constructors
public SKColorSpaceTransferFn (float g, float a, float b, float c, float d, float e, float f);
// properties
public float A { get; set; }
public float B { get; set; }
public float C { get; set; }
public float D { get; set; }
public float E { get; set; }
public float F { get; set; }
public float G { get; set; }
}
```
#### New Type: SkiaSharp.SKHighContrastConfig
```csharp
public struct SKHighContrastConfig {
// constructors
public SKHighContrastConfig (bool grayscale, SKHighContrastConfigInvertStyle invertStyle, float contrast);
// fields
public static SKHighContrastConfig Default;
// properties
public float Contrast { get; set; }
public bool Grayscale { get; set; }
public SKHighContrastConfigInvertStyle InvertStyle { get; set; }
public bool IsValid { get; }
}
```
#### New Type: SkiaSharp.SKHighContrastConfigInvertStyle
```csharp
[Serializable]
public enum SKHighContrastConfigInvertStyle {
InvertBrightness = 1,
InvertLightness = 2,
NoInvert = 0,
}
```

Просмотреть файл

@ -1,194 +1,194 @@
# API diff: SkiaSharp.dll
## SkiaSharp.dll
> Assembly Version Changed: 1.59.0.0 vs 1.58.0.0
### Namespace SkiaSharp
#### Type Changed: SkiaSharp.GRBackendState
Added value:
```csharp
None = 0,
```
#### Type Changed: SkiaSharp.GRContextOptions
Removed property:
```csharp
public bool ClipDrawOpsToBounds { get; set; }
```
Added property:
```csharp
public bool AvoidStencilBuffers { get; set; }
```
#### Type Changed: SkiaSharp.GRGlBackendState
Added value:
```csharp
None = 0,
```
#### Type Changed: SkiaSharp.SKBitmap
Added constructor:
```csharp
public SKBitmap (SKImageInfo info, SKColorTable ctable, SKBitmapAllocFlags flags);
```
Obsoleted methods:
```diff
[Obsolete ("Use SKPixmap.ReadPixels instead.")]
public bool CopyPixelsTo (IntPtr dst, int dstSize, int dstRowBytes, bool preserveDstPad);
```
#### Type Changed: SkiaSharp.SKCanvas
Added method:
```csharp
public void DrawVertices (SKVertices vertices, SKBlendMode mode, SKPaint paint);
```
#### Type Changed: SkiaSharp.SKCodecFrameInfo
Added property:
```csharp
public SKAlphaType AlphaType { get; set; }
```
#### Type Changed: SkiaSharp.SKCodecOptions
Added property:
```csharp
public SKTransferFunctionBehavior PremulBehavior { get; set; }
```
#### Type Changed: SkiaSharp.SKColorSpace
Added property:
```csharp
public bool IsSrgb { get; }
```
Obsoleted methods:
```diff
[Obsolete ("Use SKColorSpacePrimaries.ToXyzD50 instead.")]
public static SKMatrix44 ConvertPrimariesToXyzD50 (SKColorSpacePrimaries primaries);
[Obsolete ("Use SKColorSpacePrimaries.ToXyzD50(SKMatrix44) instead.")]
public static bool ConvertPrimariesToXyzD50 (SKColorSpacePrimaries primaries, SKMatrix44 toXyzD50);
```
#### Type Changed: SkiaSharp.SKColorSpaceFlags
Added value:
```csharp
None = 0,
```
#### Type Changed: SkiaSharp.SKColorSpacePrimaries
Added methods:
```csharp
public SKMatrix44 ToXyzD50 ();
public bool ToXyzD50 (SKMatrix44 toXyzD50);
```
#### Type Changed: SkiaSharp.SKColorSpaceTransferFn
Added method:
```csharp
public SKColorSpaceTransferFn Invert ();
```
#### Type Changed: SkiaSharp.SKCropRectFlags
Added value:
```csharp
HasNone = 0,
```
#### Type Changed: SkiaSharp.SKPixmap
Added methods:
```csharp
public bool ReadPixels (SKPixmap pixmap);
public bool ReadPixels (SKImageInfo dstInfo, IntPtr dstPixels, int dstRowBytes);
public bool ReadPixels (SKPixmap pixmap, int srcX, int srcY);
public bool ReadPixels (SKImageInfo dstInfo, IntPtr dstPixels, int dstRowBytes, int srcX, int srcY);
```
#### Type Changed: SkiaSharp.SKSurfacePropsFlags
Added value:
```csharp
None = 0,
```
#### New Type: SkiaSharp.SKBitmapAllocFlags
```csharp
[Serializable]
[Flags]
public enum SKBitmapAllocFlags {
None = 0,
ZeroPixels = 1,
}
```
#### New Type: SkiaSharp.SKTransferFunctionBehavior
```csharp
[Serializable]
public enum SKTransferFunctionBehavior {
Ignore = 1,
Respect = 0,
}
```
#### New Type: SkiaSharp.SKVertices
```csharp
public class SKVertices : SkiaSharp.SKObject, System.IDisposable {
// methods
public static SKVertices CreateCopy (SKVertexMode vmode, SKPoint[] positions, SKColor[] colors);
public static SKVertices CreateCopy (SKVertexMode vmode, SKPoint[] positions, SKPoint[] texs, SKColor[] colors);
public static SKVertices CreateCopy (SKVertexMode vmode, SKPoint[] positions, SKPoint[] texs, SKColor[] colors, ushort[] indices);
protected override void Dispose (bool disposing);
}
```
# API diff: SkiaSharp.dll
## SkiaSharp.dll
> Assembly Version Changed: 1.59.0.0 vs 1.58.0.0
### Namespace SkiaSharp
#### Type Changed: SkiaSharp.GRBackendState
Added value:
```csharp
None = 0,
```
#### Type Changed: SkiaSharp.GRContextOptions
Removed property:
```csharp
public bool ClipDrawOpsToBounds { get; set; }
```
Added property:
```csharp
public bool AvoidStencilBuffers { get; set; }
```
#### Type Changed: SkiaSharp.GRGlBackendState
Added value:
```csharp
None = 0,
```
#### Type Changed: SkiaSharp.SKBitmap
Added constructor:
```csharp
public SKBitmap (SKImageInfo info, SKColorTable ctable, SKBitmapAllocFlags flags);
```
Obsoleted methods:
```diff
[Obsolete ("Use SKPixmap.ReadPixels instead.")]
public bool CopyPixelsTo (IntPtr dst, int dstSize, int dstRowBytes, bool preserveDstPad);
```
#### Type Changed: SkiaSharp.SKCanvas
Added method:
```csharp
public void DrawVertices (SKVertices vertices, SKBlendMode mode, SKPaint paint);
```
#### Type Changed: SkiaSharp.SKCodecFrameInfo
Added property:
```csharp
public SKAlphaType AlphaType { get; set; }
```
#### Type Changed: SkiaSharp.SKCodecOptions
Added property:
```csharp
public SKTransferFunctionBehavior PremulBehavior { get; set; }
```
#### Type Changed: SkiaSharp.SKColorSpace
Added property:
```csharp
public bool IsSrgb { get; }
```
Obsoleted methods:
```diff
[Obsolete ("Use SKColorSpacePrimaries.ToXyzD50 instead.")]
public static SKMatrix44 ConvertPrimariesToXyzD50 (SKColorSpacePrimaries primaries);
[Obsolete ("Use SKColorSpacePrimaries.ToXyzD50(SKMatrix44) instead.")]
public static bool ConvertPrimariesToXyzD50 (SKColorSpacePrimaries primaries, SKMatrix44 toXyzD50);
```
#### Type Changed: SkiaSharp.SKColorSpaceFlags
Added value:
```csharp
None = 0,
```
#### Type Changed: SkiaSharp.SKColorSpacePrimaries
Added methods:
```csharp
public SKMatrix44 ToXyzD50 ();
public bool ToXyzD50 (SKMatrix44 toXyzD50);
```
#### Type Changed: SkiaSharp.SKColorSpaceTransferFn
Added method:
```csharp
public SKColorSpaceTransferFn Invert ();
```
#### Type Changed: SkiaSharp.SKCropRectFlags
Added value:
```csharp
HasNone = 0,
```
#### Type Changed: SkiaSharp.SKPixmap
Added methods:
```csharp
public bool ReadPixels (SKPixmap pixmap);
public bool ReadPixels (SKImageInfo dstInfo, IntPtr dstPixels, int dstRowBytes);
public bool ReadPixels (SKPixmap pixmap, int srcX, int srcY);
public bool ReadPixels (SKImageInfo dstInfo, IntPtr dstPixels, int dstRowBytes, int srcX, int srcY);
```
#### Type Changed: SkiaSharp.SKSurfacePropsFlags
Added value:
```csharp
None = 0,
```
#### New Type: SkiaSharp.SKBitmapAllocFlags
```csharp
[Serializable]
[Flags]
public enum SKBitmapAllocFlags {
None = 0,
ZeroPixels = 1,
}
```
#### New Type: SkiaSharp.SKTransferFunctionBehavior
```csharp
[Serializable]
public enum SKTransferFunctionBehavior {
Ignore = 1,
Respect = 0,
}
```
#### New Type: SkiaSharp.SKVertices
```csharp
public class SKVertices : SkiaSharp.SKObject, System.IDisposable {
// methods
public static SKVertices CreateCopy (SKVertexMode vmode, SKPoint[] positions, SKColor[] colors);
public static SKVertices CreateCopy (SKVertexMode vmode, SKPoint[] positions, SKPoint[] texs, SKColor[] colors);
public static SKVertices CreateCopy (SKVertexMode vmode, SKPoint[] positions, SKPoint[] texs, SKColor[] colors, ushort[] indices);
protected override void Dispose (bool disposing);
}
```

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -1,244 +1,244 @@
# API diff: SkiaSharp.dll
## SkiaSharp.dll
### Namespace SkiaSharp
#### Type Changed: SkiaSharp.SKBitmap
Obsoleted methods:
```diff
[Obsolete ("Use SKPixmap.Encode instead.")]
public bool Encode (SKWStream dst, SKEncodedImageFormat format, int quality);
```
#### Type Changed: SkiaSharp.SKCanvas
Added methods:
```csharp
public void ClipRoundRect (SKRoundRect rect, SKClipOperation operation, bool antialias);
public void DrawRoundRect (SKRoundRect rect, SKPaint paint);
```
#### Type Changed: SkiaSharp.SKPath
Obsoleted methods:
```diff
[Obsolete ("Use AddRoundRect instead.")]
public void AddRoundedRect (SKRect rect, float rx, float ry, SKPathDirection dir);
```
Added methods:
```csharp
public void AddRoundRect (SKRoundRect rect, SKPathDirection direction);
public void AddRoundRect (SKRoundRect rect, SKPathDirection direction, uint startIndex);
public void AddRoundRect (SKRect rect, float rx, float ry, SKPathDirection dir);
```
#### Type Changed: SkiaSharp.SKPixmap
Added methods:
```csharp
public SKData Encode (SKJpegEncoderOptions options);
public SKData Encode (SKPngEncoderOptions options);
public SKData Encode (SKWebpEncoderOptions options);
public bool Encode (SKWStream dst, SKJpegEncoderOptions options);
public bool Encode (SKWStream dst, SKPngEncoderOptions options);
public bool Encode (SKWStream dst, SKWebpEncoderOptions options);
public static bool Encode (SKWStream dst, SKPixmap src, SKJpegEncoderOptions options);
public static bool Encode (SKWStream dst, SKPixmap src, SKPngEncoderOptions options);
public static bool Encode (SKWStream dst, SKPixmap src, SKWebpEncoderOptions options);
public static bool Encode (SKWStream dst, SKBitmap src, SKEncodedImageFormat format, int quality);
```
#### New Type: SkiaSharp.SKJpegEncoderAlphaOption
```csharp
[Serializable]
public enum SKJpegEncoderAlphaOption {
BlendOnBlack = 1,
Ignore = 0,
}
```
#### New Type: SkiaSharp.SKJpegEncoderDownsample
```csharp
[Serializable]
public enum SKJpegEncoderDownsample {
Downsample420 = 0,
Downsample422 = 1,
Downsample444 = 2,
}
```
#### New Type: SkiaSharp.SKJpegEncoderOptions
```csharp
public struct SKJpegEncoderOptions {
// constructors
public SKJpegEncoderOptions (int quality, SKJpegEncoderDownsample downsample, SKJpegEncoderAlphaOption alphaOption);
public SKJpegEncoderOptions (int quality, SKJpegEncoderDownsample downsample, SKJpegEncoderAlphaOption alphaOption, SKTransferFunctionBehavior blendBehavior);
// fields
public static SKJpegEncoderOptions Default;
// properties
public SKJpegEncoderAlphaOption AlphaOption { get; set; }
public SKTransferFunctionBehavior BlendBehavior { get; set; }
public SKJpegEncoderDownsample Downsample { get; set; }
public int Quality { get; set; }
}
```
#### New Type: SkiaSharp.SKNWayCanvas
```csharp
public class SKNWayCanvas : SkiaSharp.SKNoDrawCanvas, System.IDisposable {
// constructors
public SKNWayCanvas (int width, int height);
// methods
public void AddCanvas (SKCanvas canvas);
public void RemoveAll ();
public void RemoveCanvas (SKCanvas canvas);
}
```
#### New Type: SkiaSharp.SKNoDrawCanvas
```csharp
public class SKNoDrawCanvas : SkiaSharp.SKCanvas, System.IDisposable {
// constructors
public SKNoDrawCanvas (int width, int height);
}
```
#### New Type: SkiaSharp.SKPngEncoderFilterFlags
```csharp
[Serializable]
[Flags]
public enum SKPngEncoderFilterFlags {
AllFilters = 248,
Avg = 64,
NoFilters = 0,
None = 8,
Paeth = 128,
Sub = 16,
Up = 32,
}
```
#### New Type: SkiaSharp.SKPngEncoderOptions
```csharp
public struct SKPngEncoderOptions {
// constructors
public SKPngEncoderOptions (SKPngEncoderFilterFlags filterFlags, int zLibLevel);
public SKPngEncoderOptions (SKPngEncoderFilterFlags filterFlags, int zLibLevel, SKTransferFunctionBehavior unpremulBehavior);
// fields
public static SKPngEncoderOptions Default;
// properties
public SKPngEncoderFilterFlags FilterFlags { get; set; }
public SKTransferFunctionBehavior UnpremulBehavior { get; set; }
public int ZLibLevel { get; set; }
}
```
#### New Type: SkiaSharp.SKRoundRect
```csharp
public class SKRoundRect : SkiaSharp.SKObject, System.IDisposable {
// constructors
public SKRoundRect ();
public SKRoundRect (SKRect rect);
public SKRoundRect (SKRoundRect rrect);
public SKRoundRect (SKRect rect, float xRadius, float yRadius);
// properties
public bool AllCornersCircular { get; }
public float Height { get; }
public bool IsValid { get; }
public SKRect Rect { get; }
public SKRoundRectType Type { get; }
public float Width { get; }
// methods
public bool CheckAllCornersCircular (float tolerance);
public bool Contains (SKRect rect);
public void Deflate (SKSize size);
public void Deflate (float dx, float dy);
protected override void Dispose (bool disposing);
public SKPoint GetRadii (SKRoundRectCorner corner);
public void Inflate (SKSize size);
public void Inflate (float dx, float dy);
public void Offset (SKPoint pos);
public void Offset (float dx, float dy);
public void SetEmpty ();
public void SetNinePatch (SKRect rect, float leftRadius, float topRadius, float rightRadius, float bottomRadius);
public void SetOval (SKRect rect);
public void SetRect (SKRect rect);
public void SetRect (SKRect rect, float xRadius, float yRadius);
public void SetRectRadii (SKRect rect, SKPoint[] radii);
public SKRoundRect Transform (SKMatrix matrix);
}
```
#### New Type: SkiaSharp.SKRoundRectCorner
```csharp
[Serializable]
public enum SKRoundRectCorner {
LowerLeft = 3,
LowerRight = 2,
UpperLeft = 0,
UpperRight = 1,
}
```
#### New Type: SkiaSharp.SKRoundRectType
```csharp
[Serializable]
public enum SKRoundRectType {
Complex = 5,
Empty = 0,
NinePatch = 4,
Oval = 2,
Rect = 1,
Simple = 3,
}
```
#### New Type: SkiaSharp.SKWebpEncoderCompression
```csharp
[Serializable]
public enum SKWebpEncoderCompression {
Lossless = 1,
Lossy = 0,
}
```
#### New Type: SkiaSharp.SKWebpEncoderOptions
```csharp
public struct SKWebpEncoderOptions {
// constructors
public SKWebpEncoderOptions (SKWebpEncoderCompression compression, float quality);
public SKWebpEncoderOptions (SKWebpEncoderCompression compression, float quality, SKTransferFunctionBehavior unpremulBehavior);
// fields
public static SKWebpEncoderOptions Default;
// properties
public SKWebpEncoderCompression Compression { get; set; }
public float Quality { get; set; }
public SKTransferFunctionBehavior UnpremulBehavior { get; set; }
}
```
# API diff: SkiaSharp.dll
## SkiaSharp.dll
### Namespace SkiaSharp
#### Type Changed: SkiaSharp.SKBitmap
Obsoleted methods:
```diff
[Obsolete ("Use SKPixmap.Encode instead.")]
public bool Encode (SKWStream dst, SKEncodedImageFormat format, int quality);
```
#### Type Changed: SkiaSharp.SKCanvas
Added methods:
```csharp
public void ClipRoundRect (SKRoundRect rect, SKClipOperation operation, bool antialias);
public void DrawRoundRect (SKRoundRect rect, SKPaint paint);
```
#### Type Changed: SkiaSharp.SKPath
Obsoleted methods:
```diff
[Obsolete ("Use AddRoundRect instead.")]
public void AddRoundedRect (SKRect rect, float rx, float ry, SKPathDirection dir);
```
Added methods:
```csharp
public void AddRoundRect (SKRoundRect rect, SKPathDirection direction);
public void AddRoundRect (SKRoundRect rect, SKPathDirection direction, uint startIndex);
public void AddRoundRect (SKRect rect, float rx, float ry, SKPathDirection dir);
```
#### Type Changed: SkiaSharp.SKPixmap
Added methods:
```csharp
public SKData Encode (SKJpegEncoderOptions options);
public SKData Encode (SKPngEncoderOptions options);
public SKData Encode (SKWebpEncoderOptions options);
public bool Encode (SKWStream dst, SKJpegEncoderOptions options);
public bool Encode (SKWStream dst, SKPngEncoderOptions options);
public bool Encode (SKWStream dst, SKWebpEncoderOptions options);
public static bool Encode (SKWStream dst, SKPixmap src, SKJpegEncoderOptions options);
public static bool Encode (SKWStream dst, SKPixmap src, SKPngEncoderOptions options);
public static bool Encode (SKWStream dst, SKPixmap src, SKWebpEncoderOptions options);
public static bool Encode (SKWStream dst, SKBitmap src, SKEncodedImageFormat format, int quality);
```
#### New Type: SkiaSharp.SKJpegEncoderAlphaOption
```csharp
[Serializable]
public enum SKJpegEncoderAlphaOption {
BlendOnBlack = 1,
Ignore = 0,
}
```
#### New Type: SkiaSharp.SKJpegEncoderDownsample
```csharp
[Serializable]
public enum SKJpegEncoderDownsample {
Downsample420 = 0,
Downsample422 = 1,
Downsample444 = 2,
}
```
#### New Type: SkiaSharp.SKJpegEncoderOptions
```csharp
public struct SKJpegEncoderOptions {
// constructors
public SKJpegEncoderOptions (int quality, SKJpegEncoderDownsample downsample, SKJpegEncoderAlphaOption alphaOption);
public SKJpegEncoderOptions (int quality, SKJpegEncoderDownsample downsample, SKJpegEncoderAlphaOption alphaOption, SKTransferFunctionBehavior blendBehavior);
// fields
public static SKJpegEncoderOptions Default;
// properties
public SKJpegEncoderAlphaOption AlphaOption { get; set; }
public SKTransferFunctionBehavior BlendBehavior { get; set; }
public SKJpegEncoderDownsample Downsample { get; set; }
public int Quality { get; set; }
}
```
#### New Type: SkiaSharp.SKNWayCanvas
```csharp
public class SKNWayCanvas : SkiaSharp.SKNoDrawCanvas, System.IDisposable {
// constructors
public SKNWayCanvas (int width, int height);
// methods
public void AddCanvas (SKCanvas canvas);
public void RemoveAll ();
public void RemoveCanvas (SKCanvas canvas);
}
```
#### New Type: SkiaSharp.SKNoDrawCanvas
```csharp
public class SKNoDrawCanvas : SkiaSharp.SKCanvas, System.IDisposable {
// constructors
public SKNoDrawCanvas (int width, int height);
}
```
#### New Type: SkiaSharp.SKPngEncoderFilterFlags
```csharp
[Serializable]
[Flags]
public enum SKPngEncoderFilterFlags {
AllFilters = 248,
Avg = 64,
NoFilters = 0,
None = 8,
Paeth = 128,
Sub = 16,
Up = 32,
}
```
#### New Type: SkiaSharp.SKPngEncoderOptions
```csharp
public struct SKPngEncoderOptions {
// constructors
public SKPngEncoderOptions (SKPngEncoderFilterFlags filterFlags, int zLibLevel);
public SKPngEncoderOptions (SKPngEncoderFilterFlags filterFlags, int zLibLevel, SKTransferFunctionBehavior unpremulBehavior);
// fields
public static SKPngEncoderOptions Default;
// properties
public SKPngEncoderFilterFlags FilterFlags { get; set; }
public SKTransferFunctionBehavior UnpremulBehavior { get; set; }
public int ZLibLevel { get; set; }
}
```
#### New Type: SkiaSharp.SKRoundRect
```csharp
public class SKRoundRect : SkiaSharp.SKObject, System.IDisposable {
// constructors
public SKRoundRect ();
public SKRoundRect (SKRect rect);
public SKRoundRect (SKRoundRect rrect);
public SKRoundRect (SKRect rect, float xRadius, float yRadius);
// properties
public bool AllCornersCircular { get; }
public float Height { get; }
public bool IsValid { get; }
public SKRect Rect { get; }
public SKRoundRectType Type { get; }
public float Width { get; }
// methods
public bool CheckAllCornersCircular (float tolerance);
public bool Contains (SKRect rect);
public void Deflate (SKSize size);
public void Deflate (float dx, float dy);
protected override void Dispose (bool disposing);
public SKPoint GetRadii (SKRoundRectCorner corner);
public void Inflate (SKSize size);
public void Inflate (float dx, float dy);
public void Offset (SKPoint pos);
public void Offset (float dx, float dy);
public void SetEmpty ();
public void SetNinePatch (SKRect rect, float leftRadius, float topRadius, float rightRadius, float bottomRadius);
public void SetOval (SKRect rect);
public void SetRect (SKRect rect);
public void SetRect (SKRect rect, float xRadius, float yRadius);
public void SetRectRadii (SKRect rect, SKPoint[] radii);
public SKRoundRect Transform (SKMatrix matrix);
}
```
#### New Type: SkiaSharp.SKRoundRectCorner
```csharp
[Serializable]
public enum SKRoundRectCorner {
LowerLeft = 3,
LowerRight = 2,
UpperLeft = 0,
UpperRight = 1,
}
```
#### New Type: SkiaSharp.SKRoundRectType
```csharp
[Serializable]
public enum SKRoundRectType {
Complex = 5,
Empty = 0,
NinePatch = 4,
Oval = 2,
Rect = 1,
Simple = 3,
}
```
#### New Type: SkiaSharp.SKWebpEncoderCompression
```csharp
[Serializable]
public enum SKWebpEncoderCompression {
Lossless = 1,
Lossy = 0,
}
```
#### New Type: SkiaSharp.SKWebpEncoderOptions
```csharp
public struct SKWebpEncoderOptions {
// constructors
public SKWebpEncoderOptions (SKWebpEncoderCompression compression, float quality);
public SKWebpEncoderOptions (SKWebpEncoderCompression compression, float quality, SKTransferFunctionBehavior unpremulBehavior);
// fields
public static SKWebpEncoderOptions Default;
// properties
public SKWebpEncoderCompression Compression { get; set; }
public float Quality { get; set; }
public SKTransferFunctionBehavior UnpremulBehavior { get; set; }
}
```