private static void AddArcImpl(IntPtr thisPtr, IntPtr arc) { ID2D1GeometrySinkShadow shadow = ToShadow <ID2D1GeometrySinkShadow>(thisPtr); ID2D1GeometrySink callback = (ID2D1GeometrySink)shadow.Callback; callback.AddArc(*((ArcSegment *)arc)); }
private static void AddQuadraticBezierImpl(IntPtr thisPtr, IntPtr bezier) { ID2D1GeometrySinkShadow shadow = ToShadow <ID2D1GeometrySinkShadow>(thisPtr); ID2D1GeometrySink callback = (ID2D1GeometrySink)shadow.Callback; callback.AddQuadraticBezier(*((QuadraticBezierSegment *)bezier)); }
private static void AddLineImpl(IntPtr thisPtr, PointF point) { ID2D1GeometrySinkShadow shadow = ToShadow <ID2D1GeometrySinkShadow>(thisPtr); ID2D1GeometrySink callback = (ID2D1GeometrySink)shadow.Callback; callback.AddLine(point); }
private static void AddQuadraticBeziersImpl(IntPtr thisPtr, IntPtr beziers, int beziersCount) { ID2D1GeometrySinkShadow shadow = ToShadow <ID2D1GeometrySinkShadow>(thisPtr); ID2D1GeometrySink callback = (ID2D1GeometrySink)shadow.Callback; var managedBeziers = new QuadraticBezierSegment[beziersCount]; MemoryHelpers.Read(beziers, managedBeziers, 0, beziersCount); callback.AddQuadraticBeziers(managedBeziers); }