CPF/CPF.Mac/Mac/CoreGraphics/CGContext.cs
2023-11-21 23:05:03 +08:00

1257 lines
46 KiB
C#

using CPF.Mac.Foundation;
using CPF.Mac.ObjCRuntime;
using System;
using System.Runtime.InteropServices;
namespace CPF.Mac.CoreGraphics
{
public class CGContext : INativeObject, IDisposable
{
internal IntPtr handle;
public IntPtr Handle => handle;
public CGInterpolationQuality InterpolationQuality
{
get
{
return CGContextGetInterpolationQuality(handle);
}
set
{
CGContextSetInterpolationQuality(handle, value);
}
}
public CGPoint TextPosition
{
get
{
return CGContextGetTextPosition(handle);
}
set
{
CGContextSetTextPosition(handle, value.X, value.Y);
}
}
public CGAffineTransform TextMatrix
{
get
{
return CGContextGetTextMatrix(handle);
}
set
{
CGContextSetTextMatrix(handle, value);
}
}
public CGContext(IntPtr handle)
{
if (handle == IntPtr.Zero)
{
throw new Exception("Invalid parameters to context creation");
}
CGContextRetain(handle);
this.handle = handle;
}
internal CGContext()
{
}
[Preserve(Conditional = true)]
internal CGContext(IntPtr handle, bool owns)
{
if (!owns)
{
CGContextRetain(handle);
}
if (handle == IntPtr.Zero)
{
throw new Exception("Invalid handle");
}
this.handle = handle;
}
~CGContext()
{
Dispose(disposing: false);
}
public void Dispose()
{
Dispose(disposing: true);
GC.SuppressFinalize(this);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextRelease(IntPtr handle);
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextRetain(IntPtr handle);
protected virtual void Dispose(bool disposing)
{
if (handle != IntPtr.Zero)
{
CGContextRelease(handle);
handle = IntPtr.Zero;
}
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextSaveGState(IntPtr context);
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextRestoreGState(IntPtr context);
public void SaveState()
{
CGContextSaveGState(handle);
}
public void RestoreState()
{
CGContextRestoreGState(handle);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextScaleCTM(IntPtr ctx, double sx, double sy);
public void ScaleCTM(double sx, double sy)
{
CGContextScaleCTM(handle, sx, sy);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextTranslateCTM(IntPtr ctx, double tx, double ty);
public void TranslateCTM(double tx, double ty)
{
CGContextTranslateCTM(handle, tx, ty);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextRotateCTM(IntPtr ctx, double angle);
public void RotateCTM(double angle)
{
CGContextRotateCTM(handle, angle);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextConcatCTM(IntPtr ctx, CGAffineTransform transform);
public void ConcatCTM(CGAffineTransform transform)
{
CGContextConcatCTM(handle, transform);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextSetLineWidth(IntPtr c, double width);
public void SetLineWidth(double w)
{
CGContextSetLineWidth(handle, w);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextSetLineCap(IntPtr c, CGLineCap cap);
public void SetLineCap(CGLineCap cap)
{
CGContextSetLineCap(handle, cap);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextSetLineJoin(IntPtr c, CGLineJoin join);
public void SetLineJoin(CGLineJoin join)
{
CGContextSetLineJoin(handle, join);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextSetMiterLimit(IntPtr c, double limit);
public void SetMiterLimit(double limit)
{
CGContextSetMiterLimit(handle, limit);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextSetLineDash(IntPtr c, double phase, double[] lengths, long count);
public void SetLineDash(double phase, double[] lengths)
{
SetLineDash(phase, lengths, lengths.Length);
}
public void SetLineDash(double phase, double[] lengths, int n)
{
if (lengths == null)
{
n = 0;
}
else if (n < 0 || n > lengths.Length)
{
throw new ArgumentException("n");
}
CGContextSetLineDash(handle, phase, lengths, n);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextSetFlatness(IntPtr c, double flatness);
public void SetFlatness(double flatness)
{
CGContextSetFlatness(handle, flatness);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextSetAlpha(IntPtr c, double alpha);
public void SetAlpha(double alpha)
{
CGContextSetAlpha(handle, alpha);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextSetBlendMode(IntPtr context, CGBlendMode mode);
public void SetBlendMode(CGBlendMode mode)
{
CGContextSetBlendMode(handle, mode);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern CGAffineTransform CGContextGetCTM(IntPtr c);
public CGAffineTransform GetCTM()
{
return CGContextGetCTM(handle);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextBeginPath(IntPtr c);
public void BeginPath()
{
CGContextBeginPath(handle);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextMoveToPoint(IntPtr c, double x, double y);
public void MoveTo(double x, double y)
{
CGContextMoveToPoint(handle, x, y);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextAddLineToPoint(IntPtr c, double x, double y);
public void AddLineToPoint(double x, double y)
{
CGContextAddLineToPoint(handle, x, y);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextAddCurveToPoint(IntPtr c, double cp1x, double cp1y, double cp2x, double cp2y, double x, double y);
public void AddCurveToPoint(double cp1x, double cp1y, double cp2x, double cp2y, double x, double y)
{
CGContextAddCurveToPoint(handle, cp1x, cp1y, cp2x, cp2y, x, y);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextAddQuadCurveToPoint(IntPtr c, double cpx, double cpy, double x, double y);
public void AddQuadCurveToPoint(double cpx, double cpy, double x, double y)
{
CGContextAddQuadCurveToPoint(handle, cpx, cpy, x, y);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextClosePath(IntPtr c);
public void ClosePath()
{
CGContextClosePath(handle);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextAddRect(IntPtr c, CGRect rect);
public void AddRect(CGRect rect)
{
CGContextAddRect(handle, rect);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextAddRects(IntPtr c, CGRect[] rects, IntPtr size_t_count);
public void AddRects(CGRect[] rects)
{
CGContextAddRects(handle, rects, new IntPtr(rects.Length));
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextAddLines(IntPtr c, CGPoint[] points, IntPtr size_t_count);
public void AddLines(CGPoint[] points)
{
CGContextAddLines(handle, points, new IntPtr(points.Length));
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextAddEllipseInRect(IntPtr context, CGRect rect);
public void AddEllipseInRect(CGRect rect)
{
CGContextAddEllipseInRect(handle, rect);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextAddArc(IntPtr c, double x, double y, double radius, double startAngle, double endAngle, int clockwise);
public void AddArc(double x, double y, double radius, double startAngle, double endAngle, bool clockwise)
{
CGContextAddArc(handle, x, y, radius, startAngle, endAngle, clockwise ? 1 : 0);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextAddArcToPoint(IntPtr c, double x1, double y1, double x2, double y2, double radius);
public void AddArcToPoint(double x1, double y1, double x2, double y2, double radius)
{
CGContextAddArcToPoint(handle, x1, y1, x2, y2, radius);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextAddPath(IntPtr context, IntPtr path_ref);
public void AddPath(CGPath path)
{
CGContextAddPath(handle, path.handle);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextReplacePathWithStrokedPath(IntPtr c);
public void ReplacePathWithStrokedPath()
{
CGContextReplacePathWithStrokedPath(handle);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern int CGContextIsPathEmpty(IntPtr c);
public bool IsPathEmpty()
{
return CGContextIsPathEmpty(handle) != 0;
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern CGPoint CGContextGetPathCurrentPoint(IntPtr c);
public CGPoint GetPathCurrentPoint()
{
return CGContextGetPathCurrentPoint(handle);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern CGRect CGContextGetPathBoundingBox(IntPtr c);
public CGRect GetPathBoundingBox()
{
return CGContextGetPathBoundingBox(handle);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern int CGContextPathContainsPoint(IntPtr context, CGPoint point, CGPathDrawingMode mode);
public bool PathContainsPoint(CGPoint point, CGPathDrawingMode mode)
{
return CGContextPathContainsPoint(handle, point, mode) != 0;
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextDrawPath(IntPtr c, CGPathDrawingMode mode);
public void DrawPath(CGPathDrawingMode mode)
{
CGContextDrawPath(handle, mode);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextFillPath(IntPtr c);
public void FillPath()
{
CGContextFillPath(handle);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextEOFillPath(IntPtr c);
public void EOFillPath()
{
CGContextEOFillPath(handle);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextStrokePath(IntPtr c);
public void StrokePath()
{
CGContextStrokePath(handle);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextFillRect(IntPtr c, CGRect rect);
public void FillRect(CGRect rect)
{
CGContextFillRect(handle, rect);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextFillRects(IntPtr c, CGRect[] rects, IntPtr size_t_count);
public void ContextFillRects(CGRect[] rects)
{
CGContextFillRects(handle, rects, new IntPtr(rects.Length));
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextStrokeRect(IntPtr c, CGRect rect);
public void StrokeRect(CGRect rect)
{
CGContextStrokeRect(handle, rect);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextStrokeRectWithWidth(IntPtr c, CGRect rect, double width);
public void StrokeRectWithWidth(CGRect rect, double width)
{
CGContextStrokeRectWithWidth(handle, rect, width);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextClearRect(IntPtr c, CGRect rect);
public void ClearRect(CGRect rect)
{
CGContextClearRect(handle, rect);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextFillEllipseInRect(IntPtr context, CGRect rect);
public void FillEllipseInRect(CGRect rect)
{
CGContextFillEllipseInRect(handle, rect);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextStrokeEllipseInRect(IntPtr context, CGRect rect);
public void StrokeEllipseInRect(CGRect rect)
{
CGContextStrokeEllipseInRect(handle, rect);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextStrokeLineSegments(IntPtr c, CGPoint[] points, IntPtr size_t_count);
public void StrokeLineSegments(CGPoint[] points)
{
CGContextStrokeLineSegments(handle, points, new IntPtr(points.Length));
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextClip(IntPtr c);
public void Clip()
{
CGContextClip(handle);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextEOClip(IntPtr c);
public void EOClip()
{
CGContextEOClip(handle);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextClipToMask(IntPtr c, CGRect rect, IntPtr mask);
public void ClipToMask(CGRect rect, CGImage mask)
{
CGContextClipToMask(handle, rect, mask.handle);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern CGRect CGContextGetClipBoundingBox(IntPtr c);
public CGRect GetClipBoundingBox()
{
return CGContextGetClipBoundingBox(handle);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextClipToRect(IntPtr c, CGRect rect);
public void ClipToRect(CGRect rect)
{
CGContextClipToRect(handle, rect);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextClipToRects(IntPtr c, CGRect[] rects, IntPtr size_t_count);
public void ClipToRects(CGRect[] rects)
{
CGContextClipToRects(handle, rects, new IntPtr(rects.Length));
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextSetFillColorWithColor(IntPtr c, IntPtr color);
public void SetFillColor(CGColor color)
{
CGContextSetFillColorWithColor(handle, color.handle);
}
[Advice("Use SetFillColor() instead.")]
public void SetFillColorWithColor(CGColor color)
{
CGContextSetFillColorWithColor(handle, color.handle);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextSetStrokeColorWithColor(IntPtr c, IntPtr color);
public void SetStrokeColor(CGColor color)
{
CGContextSetStrokeColorWithColor(handle, color.handle);
}
[Advice("Use SetStrokeColor() instead.")]
public void SetStrokeColorWithColor(CGColor color)
{
CGContextSetStrokeColorWithColor(handle, color.handle);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextSetFillColorSpace(IntPtr context, IntPtr space);
public void SetFillColorSpace(CGColorSpace space)
{
CGContextSetFillColorSpace(handle, space.handle);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextSetStrokeColorSpace(IntPtr context, IntPtr space);
public void SetStrokeColorSpace(CGColorSpace space)
{
CGContextSetStrokeColorSpace(handle, space.handle);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextSetFillColor(IntPtr context, double[] components);
public void SetFillColor(double[] components)
{
if (components == null)
{
throw new ArgumentNullException("components");
}
CGContextSetFillColor(handle, components);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextSetStrokeColor(IntPtr context, double[] components);
public void SetStrokeColor(double[] components)
{
if (components == null)
{
throw new ArgumentNullException("components");
}
CGContextSetStrokeColor(handle, components);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextSetFillPattern(IntPtr context, IntPtr pattern, double[] components);
public void SetFillPattern(CGPattern pattern, double[] components)
{
if (components == null)
{
throw new ArgumentNullException("components");
}
CGContextSetFillPattern(handle, pattern.handle, components);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextSetStrokePattern(IntPtr context, IntPtr pattern, double[] components);
public void SetStrokePattern(CGPattern pattern, double[] components)
{
if (components == null)
{
throw new ArgumentNullException("components");
}
CGContextSetStrokePattern(handle, pattern.handle, components);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextSetPatternPhase(IntPtr context, CGSize phase);
public void SetPatternPhase(CGSize phase)
{
CGContextSetPatternPhase(handle, phase);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextSetGrayFillColor(IntPtr context, double gray, double alpha);
public void SetFillColor(double gray, double alpha)
{
CGContextSetGrayFillColor(handle, gray, alpha);
}
[Advice("Use SetFillColor() instead.")]
public void SetGrayFillColor(double gray, double alpha)
{
CGContextSetGrayFillColor(handle, gray, alpha);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextSetGrayStrokeColor(IntPtr context, double gray, double alpha);
public void SetStrokeColor(double gray, double alpha)
{
CGContextSetGrayStrokeColor(handle, gray, alpha);
}
[Advice("Use SetStrokeColor() instead.")]
public void SetGrayStrokeColor(double gray, double alpha)
{
CGContextSetGrayStrokeColor(handle, gray, alpha);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextSetRGBFillColor(IntPtr context, double red, double green, double blue, double alpha);
public void SetFillColor(double red, double green, double blue, double alpha)
{
CGContextSetRGBFillColor(handle, red, green, blue, alpha);
}
[Advice("Use SetFillColor() instead.")]
public void SetRGBFillColor(double red, double green, double blue, double alpha)
{
CGContextSetRGBFillColor(handle, red, green, blue, alpha);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextSetRGBStrokeColor(IntPtr context, double red, double green, double blue, double alpha);
public void SetStrokeColor(double red, double green, double blue, double alpha)
{
CGContextSetRGBStrokeColor(handle, red, green, blue, alpha);
}
[Advice("Use SetStrokeColor() instead.")]
public void SetRGBStrokeColor(double red, double green, double blue, double alpha)
{
CGContextSetRGBStrokeColor(handle, red, green, blue, alpha);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextSetCMYKFillColor(IntPtr context, double cyan, double magenta, double yellow, double black, double alpha);
public void SetFillColor(double cyan, double magenta, double yellow, double black, double alpha)
{
CGContextSetCMYKFillColor(handle, cyan, magenta, yellow, black, alpha);
}
[Advice("Use SetFillColor() instead.")]
public void SetCMYKFillColor(double cyan, double magenta, double yellow, double black, double alpha)
{
CGContextSetCMYKFillColor(handle, cyan, magenta, yellow, black, alpha);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextSetCMYKStrokeColor(IntPtr context, double cyan, double magenta, double yellow, double black, double alpha);
public void SetStrokeColor(double cyan, double magenta, double yellow, double black, double alpha)
{
CGContextSetCMYKStrokeColor(handle, cyan, magenta, yellow, black, alpha);
}
[Advice("Use SetStrokeColor() instead.")]
public void SetCMYKStrokeColor(double cyan, double magenta, double yellow, double black, double alpha)
{
CGContextSetCMYKStrokeColor(handle, cyan, magenta, yellow, black, alpha);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextSetRenderingIntent(IntPtr context, CGColorRenderingIntent intent);
public void SetRenderingIntent(CGColorRenderingIntent intent)
{
CGContextSetRenderingIntent(handle, intent);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextDrawImage(IntPtr c, CGRect rect, IntPtr image);
public void DrawImage(CGRect rect, CGImage image)
{
CGContextDrawImage(handle, rect, image.handle);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextDrawTiledImage(IntPtr c, CGRect rect, IntPtr image);
public void DrawTiledImage(CGRect rect, CGImage image)
{
CGContextDrawTiledImage(handle, rect, image.handle);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern CGInterpolationQuality CGContextGetInterpolationQuality(IntPtr context);
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextSetInterpolationQuality(IntPtr context, CGInterpolationQuality quality);
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextSetShadowWithColor(IntPtr context, CGSize offset, double blur, IntPtr color);
public void SetShadowWithColor(CGSize offset, double blur, CGColor color)
{
CGContextSetShadowWithColor(handle, offset, blur, color.handle);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextSetShadow(IntPtr context, CGSize offset, double blur);
public void SetShadow(CGSize offset, double blur)
{
CGContextSetShadow(handle, offset, blur);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextDrawLinearGradient(IntPtr context, IntPtr gradient, CGPoint startPoint, CGPoint endPoint, CGGradientDrawingOptions options);
public void DrawLinearGradient(CGGradient gradient, CGPoint startPoint, CGPoint endPoint, CGGradientDrawingOptions options)
{
CGContextDrawLinearGradient(handle, gradient.handle, startPoint, endPoint, options);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextDrawRadialGradient(IntPtr context, IntPtr gradient, CGPoint startCenter, double startRadius, CGPoint endCenter, double endRadius, CGGradientDrawingOptions options);
public void DrawRadialGradient(CGGradient gradient, CGPoint startCenter, double startRadius, CGPoint endCenter, double endRadius, CGGradientDrawingOptions options)
{
CGContextDrawRadialGradient(handle, gradient.handle, startCenter, startRadius, endCenter, endRadius, options);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextDrawShading(IntPtr context, IntPtr shading);
public void DrawShading(CGShading shading)
{
CGContextDrawShading(handle, shading.handle);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextSetCharacterSpacing(IntPtr context, double spacing);
public void SetCharacterSpacing(double spacing)
{
CGContextSetCharacterSpacing(handle, spacing);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextSetTextPosition(IntPtr c, double x, double y);
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern CGPoint CGContextGetTextPosition(IntPtr context);
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextSetTextMatrix(IntPtr c, CGAffineTransform t);
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern CGAffineTransform CGContextGetTextMatrix(IntPtr c);
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextSetTextDrawingMode(IntPtr c, CGTextDrawingMode mode);
public void SetTextDrawingMode(CGTextDrawingMode mode)
{
CGContextSetTextDrawingMode(handle, mode);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextSetFont(IntPtr c, IntPtr font);
public void SetFont(CGFont font)
{
CGContextSetFont(handle, font.handle);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextSetFontSize(IntPtr c, double size);
public void SetFontSize(double size)
{
CGContextSetFontSize(handle, size);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextSelectFont(IntPtr c, string name, double size, CGTextEncoding textEncoding);
public void SelectFont(string name, double size, CGTextEncoding textEncoding)
{
if (name == null)
{
throw new ArgumentNullException("name");
}
CGContextSelectFont(handle, name, size, textEncoding);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextShowGlyphsAtPositions(IntPtr context, ushort[] glyphs, CGPoint[] positions, IntPtr size_t_count);
public void ShowGlyphsAtPositions(ushort[] glyphs, CGPoint[] positions, int size_t_count)
{
if (positions == null)
{
throw new ArgumentNullException("positions");
}
if (glyphs == null)
{
throw new ArgumentNullException("glyphs");
}
CGContextShowGlyphsAtPositions(handle, glyphs, positions, new IntPtr(size_t_count));
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextShowText(IntPtr c, string s, IntPtr size_t_length);
public void ShowText(string str, int count)
{
if (str == null)
{
throw new ArgumentNullException("str");
}
if (count > str.Length)
{
throw new ArgumentException("count");
}
CGContextShowText(handle, str, new IntPtr(count));
}
public void ShowText(string str)
{
if (str == null)
{
throw new ArgumentNullException("str");
}
CGContextShowText(handle, str, new IntPtr(str.Length));
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextShowText(IntPtr c, byte[] bytes, IntPtr size_t_length);
public void ShowText(byte[] bytes, int count)
{
if (bytes == null)
{
throw new ArgumentNullException("bytes");
}
if (count > bytes.Length)
{
throw new ArgumentException("count");
}
CGContextShowText(handle, bytes, new IntPtr(count));
}
public void ShowText(byte[] bytes)
{
if (bytes == null)
{
throw new ArgumentNullException("bytes");
}
CGContextShowText(handle, bytes, new IntPtr(bytes.Length));
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextShowTextAtPoint(IntPtr c, double x, double y, string str, IntPtr size_t_length);
public void ShowTextAtPoint(double x, double y, string str, int length)
{
if (str == null)
{
throw new ArgumentNullException("str");
}
CGContextShowTextAtPoint(handle, x, y, str, new IntPtr(length));
}
public void ShowTextAtPoint(double x, double y, string str)
{
if (str == null)
{
throw new ArgumentNullException("str");
}
CGContextShowTextAtPoint(handle, x, y, str, new IntPtr(str.Length));
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextShowTextAtPoint(IntPtr c, double x, double y, byte[] bytes, IntPtr size_t_length);
public void ShowTextAtPoint(double x, double y, byte[] bytes, int length)
{
if (bytes == null)
{
throw new ArgumentNullException("bytes");
}
CGContextShowTextAtPoint(handle, x, y, bytes, new IntPtr(length));
}
public void ShowTextAtPoint(double x, double y, byte[] bytes)
{
if (bytes == null)
{
throw new ArgumentNullException("bytes");
}
CGContextShowTextAtPoint(handle, x, y, bytes, new IntPtr(bytes.Length));
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextShowGlyphs(IntPtr c, ushort[] glyphs, IntPtr size_t_count);
public void ShowGlyphs(ushort[] glyphs)
{
if (glyphs == null)
{
throw new ArgumentNullException("glyphs");
}
CGContextShowGlyphs(handle, glyphs, new IntPtr(glyphs.Length));
}
public void ShowGlyphs(ushort[] glyphs, int count)
{
if (glyphs == null)
{
throw new ArgumentNullException("glyphs");
}
if (count > glyphs.Length)
{
throw new ArgumentException("count");
}
CGContextShowGlyphs(handle, glyphs, new IntPtr(count));
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextShowGlyphsAtPoint(IntPtr context, double x, double y, ushort[] glyphs, IntPtr size_t_count);
public void ShowGlyphsAtPoint(double x, double y, ushort[] glyphs, int count)
{
if (glyphs == null)
{
throw new ArgumentNullException("glyphs");
}
if (count > glyphs.Length)
{
throw new ArgumentException("count");
}
CGContextShowGlyphsAtPoint(handle, x, y, glyphs, new IntPtr(count));
}
public void ShowGlyphsAtPoint(double x, double y, ushort[] glyphs)
{
if (glyphs == null)
{
throw new ArgumentNullException("glyphs");
}
CGContextShowGlyphsAtPoint(handle, x, y, glyphs, new IntPtr(glyphs.Length));
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextShowGlyphsWithAdvances(IntPtr c, ushort[] glyphs, CGSize[] advances, IntPtr size_t_count);
public void ShowGlyphsWithAdvances(ushort[] glyphs, CGSize[] advances, int count)
{
if (glyphs == null)
{
throw new ArgumentNullException("glyphs");
}
if (advances == null)
{
throw new ArgumentNullException("advances");
}
if (count > glyphs.Length || count > advances.Length)
{
throw new ArgumentException("count");
}
CGContextShowGlyphsWithAdvances(handle, glyphs, advances, new IntPtr(count));
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextDrawPDFPage(IntPtr c, IntPtr page);
public void DrawPDFPage(CGPDFPage page)
{
CGContextDrawPDFPage(handle, page.handle);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextBeginPage(IntPtr c, ref CGRect mediaBox);
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextBeginPage(IntPtr c, IntPtr zero);
public void BeginPage(CGRect? rect)
{
if (rect.HasValue)
{
CGRect mediaBox = rect.Value;
CGContextBeginPage(handle, ref mediaBox);
}
else
{
CGContextBeginPage(handle, IntPtr.Zero);
}
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextEndPage(IntPtr c);
public void EndPage()
{
CGContextEndPage(handle);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextFlush(IntPtr c);
public void Flush()
{
CGContextFlush(handle);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextSynchronize(IntPtr c);
public void Synchronize()
{
CGContextSynchronize(handle);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextSetShouldAntialias(IntPtr c, int shouldAntialias);
public void SetShouldAntialias(bool shouldAntialias)
{
CGContextSetShouldAntialias(handle, shouldAntialias ? 1 : 0);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextSetAllowsAntialiasing(IntPtr context, int allowsAntialiasing);
public void SetAllowsAntialiasing(bool allowsAntialiasing)
{
CGContextSetAllowsAntialiasing(handle, allowsAntialiasing ? 1 : 0);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextSetShouldSmoothFonts(IntPtr c, int shouldSmoothFonts);
public void SetShouldSmoothFonts(bool shouldSmoothFonts)
{
CGContextSetShouldSmoothFonts(handle, shouldSmoothFonts ? 1 : 0);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern CGAffineTransform CGContextGetUserSpaceToDeviceSpaceTransform(IntPtr context);
public CGAffineTransform GetUserSpaceToDeviceSpaceTransform()
{
return CGContextGetUserSpaceToDeviceSpaceTransform(handle);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern CGPoint CGContextConvertPointToDeviceSpace(IntPtr context, CGPoint point);
public CGPoint PointToDeviceSpace(CGPoint point)
{
return CGContextConvertPointToDeviceSpace(handle, point);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern CGPoint CGContextConvertPointToUserSpace(IntPtr context, CGPoint point);
public CGPoint ConvertPointToUserSpace(CGPoint point)
{
return CGContextConvertPointToUserSpace(handle, point);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern CGSize CGContextConvertSizeToDeviceSpace(IntPtr context, CGSize size);
public CGSize ConvertSizeToDeviceSpace(CGSize size)
{
return CGContextConvertSizeToDeviceSpace(handle, size);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern CGSize CGContextConvertSizeToUserSpace(IntPtr context, CGSize size);
public CGSize ConvertSizeToUserSpace(CGSize size)
{
return CGContextConvertSizeToUserSpace(handle, size);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern CGRect CGContextConvertRectToDeviceSpace(IntPtr context, CGRect rect);
public CGRect ConvertRectToDeviceSpace(CGRect rect)
{
return CGContextConvertRectToDeviceSpace(handle, rect);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern CGRect CGContextConvertRectToUserSpace(IntPtr context, CGRect rect);
public CGRect ConvertRectToUserSpace(CGRect rect)
{
return CGContextConvertRectToUserSpace(handle, rect);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextDrawLayerInRect(IntPtr context, CGRect rect, IntPtr layer);
public void DrawLayer(CGLayer layer, CGRect rect)
{
if (layer == null)
{
throw new ArgumentNullException("layer");
}
CGContextDrawLayerInRect(handle, rect, layer.Handle);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextDrawLayerAtPoint(IntPtr context, CGPoint rect, IntPtr layer);
public void DrawLayer(CGLayer layer, CGPoint point)
{
if (layer == null)
{
throw new ArgumentNullException("layer");
}
CGContextDrawLayerAtPoint(handle, point, layer.Handle);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern IntPtr CGContextCopyPath(IntPtr context);
[Since(4, 0)]
public CGPath CopyPath()
{
return new CGPath(CGContextCopyPath(handle), owns: true);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern IntPtr CGContextSetAllowsFontSmoothing(IntPtr context, bool allows);
[Since(4, 0)]
public void SetAllowsFontSmoothing(bool allows)
{
CGContextSetAllowsFontSmoothing(handle, allows);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern IntPtr CGContextSetAllowsFontSubpixelPositioning(IntPtr context, bool allows);
[Since(4, 0)]
public void SetAllowsSubpixelPositioning(bool allows)
{
CGContextSetAllowsFontSubpixelPositioning(handle, allows);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern IntPtr CGContextSetAllowsFontSubpixelQuantization(IntPtr context, bool allows);
[Since(4, 0)]
public void SetAllowsFontSubpixelQuantization(bool allows)
{
CGContextSetAllowsFontSubpixelQuantization(handle, allows);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern IntPtr CGContextSetShouldSubpixelPositionFonts(IntPtr context, bool should);
[Since(4, 0)]
public void SetShouldSubpixelPositionFonts(bool shouldSubpixelPositionFonts)
{
CGContextSetShouldSubpixelPositionFonts(handle, shouldSubpixelPositionFonts);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern IntPtr CGContextSetShouldSubpixelQuantizeFonts(IntPtr context, bool should);
[Since(4, 0)]
public void ShouldSubpixelQuantizeFonts(bool shouldSubpixelQuantizeFonts)
{
CGContextSetShouldSubpixelQuantizeFonts(handle, shouldSubpixelQuantizeFonts);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern IntPtr CGContextBeginTransparencyLayer(IntPtr context, IntPtr dictionary);
public void BeginTransparencyLayer()
{
CGContextBeginTransparencyLayer(handle, IntPtr.Zero);
}
public void BeginTransparencyLayer(NSDictionary auxiliaryInfo = null)
{
CGContextBeginTransparencyLayer(handle, auxiliaryInfo?.Handle ?? IntPtr.Zero);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern IntPtr CGContextBeginTransparencyLayerWithRect(IntPtr context, CGRect rect, IntPtr dictionary);
public void BeginTransparencyLayer(CGRect rectangle, NSDictionary auxiliaryInfo = null)
{
CGContextBeginTransparencyLayerWithRect(handle, rectangle, auxiliaryInfo?.Handle ?? IntPtr.Zero);
}
public void BeginTransparencyLayer(CGRect rectangle)
{
CGContextBeginTransparencyLayerWithRect(handle, rectangle, IntPtr.Zero);
}
[DllImport("/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern IntPtr CGContextEndTransparencyLayer(IntPtr context);
public void EndTransparencyLayer()
{
CGContextEndTransparencyLayer(handle);
}
}
}