public virtual String[] MakeCoordinatesAbsolute(String[] relativeCoordinates, double[] initialPoint) { String[] result = new String[relativeCoordinates.Length]; Array.Copy(relativeCoordinates, 0, result, 0, 2); // convert all relative operators to absolute operators ... relativeCoordinates = SvgCoordinateUtils.MakeRelativeOperatorCoordinatesAbsolute(relativeCoordinates, initialPoint ); // ... but don't store the first coordinate pair Array.Copy(relativeCoordinates, 2, result, 2, relativeCoordinates.Length - 2); return(result); }
public override void SetCoordinates(String[] coordinates, Point startPoint) { if (coordinates.Length == 0 || coordinates.Length % 2 != 0) { throw new ArgumentException(MessageFormatUtil.Format(SvgExceptionMessageConstant.MOVE_TO_EXPECTS_FOLLOWING_PARAMETERS_GOT_0 , JavaUtil.ArraysToString(coordinates))); } if (coordinates.Length > 2) { // (x y)+ parameters will be implemented in the future throw new NotSupportedException(); } this.coordinates = new String[] { coordinates[0], coordinates[1] }; if (IsRelative()) { this.coordinates = SvgCoordinateUtils.MakeRelativeOperatorCoordinatesAbsolute(coordinates, new double[] { startPoint.x, startPoint.y }); } }
public override void SetCoordinates(String[] coordinates, Point startPoint) { if (coordinates.Length == 0 || coordinates.Length % 2 != 0) { throw new ArgumentException(MessageFormatUtil.Format(SvgExceptionMessageConstant.LINE_TO_EXPECTS_FOLLOWING_PARAMETERS_GOT_0 , JavaUtil.ArraysToString(coordinates))); } this.coordinates = new String[coordinates.Length / 2][]; double[] initialPoint = new double[] { startPoint.GetX(), startPoint.GetY() }; for (int i = 0; i < coordinates.Length; i += 2) { String[] curCoordinates = new String[] { coordinates[i], coordinates[i + 1] }; if (IsRelative()) { curCoordinates = SvgCoordinateUtils.MakeRelativeOperatorCoordinatesAbsolute(curCoordinates, initialPoint); initialPoint[0] = (float)CssUtils.ParseFloat(curCoordinates[0]); initialPoint[1] = (float)CssUtils.ParseFloat(curCoordinates[1]); } this.coordinates[i / 2] = curCoordinates; } }
public virtual String[] MakeCoordinatesAbsolute(String[] relativeCoordinates, double[] initialPoint) { return(SvgCoordinateUtils.MakeRelativeOperatorCoordinatesAbsolute(relativeCoordinates, initialPoint)); }