public override PathSegment ApplyTransform(GeneralTransform transform) { var segment = ArcToBezierSegments(_segment, Start); if (segment != null) { return(PathSegmentHelper.ApplyTransform(segment, Start, transform)); } _segment.Point = transform.Transform(_segment.Point); return(_segment); }
internal static void ApplyTransform(this PathFigure figure, GeneralTransform transform) { figure.StartPoint = transform.Transform(figure.StartPoint); for (var i = 0; i < figure.Segments.Count; i++) { var segment = PathSegmentHelper.ApplyTransform(figure.Segments[i], figure.StartPoint, transform); if (!Equals(figure.Segments[i], segment)) { figure.Segments[i] = segment; } } }