internal void ArcFor(PDFUnit rx, PDFUnit ry, double ang, PathArcSize size, PathArcSweep sweep, PDFPoint enddelta) { PDFPoint end = ConvertDeltaToActual(enddelta); PathArcData arc = new PathArcData() { RadiusX = rx, RadiusY = ry, XAxisRotation = ang, ArcSize = size, ArcSweep = sweep, EndPoint = end }; CurrentPath.Add(arc); IEnumerable <PathBezierCurveData> curves = PathDataHelper.GetBezierCurvesForArc(this.Cursor, arc); foreach (PathBezierCurveData bez in curves) { IncludeInBounds(bez.EndPoint); if (bez.HasStartHandle) { IncludeInBounds(bez.StartHandle); } if (bez.HasEndHandle) { IncludeInBounds(bez.EndHandle); } } Cursor = end; }
public ArcToPathCommand(float rx, float ry, float xAxisRotate, PathArcSize largeArc, PathDirection sweep, float x, float y) { Rx = rx; Ry = ry; XAxisRotate = xAxisRotate; LargeArc = largeArc; Sweep = sweep; X = x; Y = y; }
public void ArcTo(float radiusX, float radiusY, int xAxisRotate, PathArcSize arcSize, PathDirection direction, float x, int y) => _path.ArcTo(radiusX, radiusY, xAxisRotate, arcSize.ToSkia(), direction.ToSkia(), x, y);
public void ArcTo(float rx, float ry, float xAxisRotate, PathArcSize largeArc, PathDirection sweep, float x, float y) { Commands?.Add(new ArcToPathCommand(rx, ry, xAxisRotate, largeArc, sweep, x, y)); }