public static Point[] ToDrawingPoint(this Point2D[] points, IntegerConversionMode mode) { Point[] res = new Point[points.Length]; for (int i = 0; i < points.Length; i++) { res[i] = new Point(points[i].X.ToInteger(mode), points[i].Y.ToInteger(mode)); } return(res); }
/// <summary> /// Fluent versions of Math.blah. /// Also use full for putting integer conversion mode options in a property grid etc. /// </summary> public static int ToInteger(this double d, IntegerConversionMode mode) { switch (mode) { case IntegerConversionMode.Floor: return((int)Math.Floor(d)); case IntegerConversionMode.Ceiling: return((int)Math.Ceiling(d)); case IntegerConversionMode.ToZero: return((d > 0) ? (int)Math.Floor(d) : (int)Math.Ceiling(d)); case IntegerConversionMode.AwayFromZero: return((d > 0) ? (int)Math.Ceiling(d) : (int)Math.Floor(d)); } return((int)d); }
public static IList <Point> ToDrawingPoints(this IEnumerable <Point2D> points, IntegerConversionMode mode) { List <Point> res = new List <Point>(); foreach (Point2D point in points) { Point p = new Point(point.X.ToInteger(mode), point.Y.ToInteger(mode)); res.Add(p); } return(res); }
public Size ToSize(IntegerConversionMode mode) { return(new Size(X.ToInteger(mode), Y.ToInteger(mode))); }