public static IPolygon Clip(ClipOperation operation, IPolygon subject_polygon, IPolygon clip_polygon) { Clip_polygon Clip_polygon = new Clip_polygon(); Clip_polygon Clip_subject_polygon = ClipWrapper.PolygonTo_Clip_polygon(subject_polygon); Clip_polygon Clip_clip_polygon = ClipWrapper.PolygonTo_Clip_polygon(clip_polygon); try { ClipPolygon(ref Clip_subject_polygon, ref Clip_clip_polygon, operation, ref Clip_polygon); IPolygon polygon = ClipWrapper.Clip_polygon_ToPolygon(Clip_polygon); return(polygon); } finally { ClipWrapper.Free_Clip_polygon(Clip_subject_polygon); ClipWrapper.Free_Clip_polygon(Clip_clip_polygon); ClipWrapper.FreePolygon(ref Clip_polygon); } }
public static GeomTristrip ClipToTristrip(ClipOperation operation, GeomPolygon subject_polygon, GeomPolygon clip_polygon) { Clip_tristrip Clip_strip = new Clip_tristrip(); Clip_polygon Clip_subject_polygon = ClipWrapper.GeomPolygonTo_Clip_polygon(subject_polygon); Clip_polygon Clip_clip_polygon = ClipWrapper.GeomPolygonTo_Clip_polygon(clip_polygon); try { ClipTristrip(ref Clip_subject_polygon, ref Clip_clip_polygon, operation, ref Clip_strip); GeomTristrip tristrip = ClipWrapper.Clip_strip_ToTristrip(Clip_strip); return(tristrip); } finally { ClipWrapper.Free_Clip_polygon(Clip_subject_polygon); ClipWrapper.Free_Clip_polygon(Clip_clip_polygon); ClipWrapper.FreeTristrip(ref Clip_strip); } }
/// <summary> /// Gets the short operation string. /// </summary> private string GetShortOperationString(ClipOperation operation) { switch (operation) { case ClipOperation.Difference: return("diff"); case ClipOperation.Intersection: return("intersect"); case ClipOperation.SymDifference: return("sym dif."); case ClipOperation.Union: return("union"); case ClipOperation.Clip: return("clip"); default: throw new ArgumentOutOfRangeException(); } }
public IGeometry Clip(IGeometry g, ClipOperation operation) { return(new Geometry(_shape.Clip(g.GetInternal(), (tkClipOperation)operation))); }
public static SKClipOperation ToSkia(this ClipOperation operation) => operation switch {
public void ClipRect(Rectangle rect, ClipOperation operation, bool antialias) => _canvas.ClipRect(rect.ToSkia(), operation.ToSkia(), antialias);
public ClipPathCanvasCommand(ClipPath clipPath, ClipOperation operation, bool antialias) { ClipPath = clipPath; Operation = operation; Antialias = antialias; }
public ClipRectCanvasCommand(Rect rect, ClipOperation operation, bool antialias) { Rect = rect; Operation = operation; Antialias = antialias; }
private static extern void ClipTristrip([In] ref Clip_polygon subject_polygon, [In] ref Clip_polygon clip_polygon, [In] ClipOperation set_operation, [In, Out] ref Clip_tristrip result_tristrip);
private static extern void ClipPolygon([In] ref Clip_polygon subject_polygon, [In] ref Clip_polygon clip_polygon, [In] ClipOperation set_operation, [In, Out] ref Clip_polygon result_polygon);
public GeomPolygon Clip(ClipOperation operation, GeomPolygon polygon) { return(ClipWrapper.Clip(operation, this, polygon)); }
public void ClipRect(Rect rect, ClipOperation operation = ClipOperation.Intersect, bool antialias = false) { Commands?.Add(new ClipRectCanvasCommand(rect, operation, antialias)); }
public void ClipPath(ClipPath clipPath, ClipOperation operation = ClipOperation.Intersect, bool antialias = false) { Commands?.Add(new ClipPathCanvasCommand(clipPath, operation, antialias)); }