// ----------------------------------------------------------------------- // // Copyright 2015 MIT Licence. See licence.md for more information. // // ----------------------------------------------------------------------- namespace Perspex.Platform { using System; using Perspex.Media; /// /// Describes a geometry using drawing commands. /// public interface IStreamGeometryContextImpl : IDisposable { /// /// Draws an arc to the specified point. /// /// The destination point. /// The radii of an oval whose perimeter is used to draw the angle. /// The rotation angle of the oval that specifies the curve. /// true to draw the arc greater than 180 degrees; otherwise, false. /// /// A value that indicates whether the arc is drawn in the Clockwise or Counterclockwise direction. /// void ArcTo(Point point, Size size, double rotationAngle, bool isLargeArc, SweepDirection sweepDirection); /// /// Begins a new figure. /// /// The starting point for the figure. /// Whether the figure is filled. void BeginFigure(Point startPoint, bool isFilled); /// /// Draws a Bezier curve to the specified point. /// /// The first control point used to specify the shape of the curve. /// The second control point used to specify the shape of the curve. /// The destination point for the end of the curve. void BezierTo(Point point1, Point point2, Point point3); /// /// Draws a line to the specified point. /// /// The destination point. void LineTo(Point point); /// /// Ends the figure started by . /// /// Whether the figure is closed. void EndFigure(bool isClosed); } }