示例#1
0
 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);
 }
示例#2
0
 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
         });
     }
 }
示例#3
0
 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;
     }
 }
示例#4
0
 public virtual String[] MakeCoordinatesAbsolute(String[] relativeCoordinates, double[] initialPoint)
 {
     return(SvgCoordinateUtils.MakeRelativeOperatorCoordinatesAbsolute(relativeCoordinates, initialPoint));
 }