public static SizeF Subtract(SizeF sz1, SizeF sz2)
 {
     return new SizeF (sz1.Width - sz2.Width,
               sz1.Height - sz2.Height);
 }
 /// <summary>
 ///	SizeF Constructor
 /// </summary>
 ///
 /// <remarks>
 ///	Creates a SizeF from an existing SizeF value.
 /// </remarks>
 public SizeF(SizeF size)
 {
     width = size.Width;
     height = size.Height;
 }
 public static SizeF Add(SizeF sz1, SizeF sz2)
 {
     return new SizeF (sz1.Width + sz2.Width,
               sz1.Height + sz2.Height);
 }
        /// <summary>
        ///	Truncate Shared Method
        /// </summary>
        ///
        /// <remarks>
        ///	Produces a Size structure from a SizeF structure by
        ///	truncating the Width and Height properties.
        /// </remarks>
        public static Size Truncate(SizeF value)
        {
            int w, h;
            checked
            {
                w = (int)value.Width;
                h = (int)value.Height;
            }

            return new Size(w, h);
        }
        /// <summary>
        ///	Round Shared Method
        /// </summary>
        ///
        /// <remarks>
        ///	Produces a Size structure from a SizeF structure by
        ///	rounding the Width and Height properties.
        /// </remarks>
        public static Size Round(SizeF value)
        {
            int w, h;
            checked
            {
                w = (int)Math.Round(value.Width);
                h = (int)Math.Round(value.Height);
            }

            return new Size(w, h);
        }
        /// <summary>
        ///	Ceiling Shared Method
        /// </summary>
        ///
        /// <remarks>
        ///	Produces a Size structure from a SizeF structure by
        ///	taking the ceiling of the Width and Height properties.
        /// </remarks>
        public static Size Ceiling(SizeF value)
        {
            int w, h;
            checked
            {
                w = (int)Math.Ceiling(value.Width);
                h = (int)Math.Ceiling(value.Height);
            }

            return new Size(w, h);
        }
 /// <summary>
 ///	Inflate Method
 /// </summary>
 ///
 /// <remarks>
 ///	Inflates the RectangleF by a specified Size.
 /// </remarks>
 public void Inflate(SizeF size)
 {
     x -= size.Width;
     y -= size.Height;
     width += size.Width * 2;
     height += size.Height * 2;
 }
 // -----------------------
 // Public Constructors
 // -----------------------
 /// <summary>
 ///	RectangleF Constructor
 /// </summary>
 ///
 /// <remarks>
 ///	Creates a RectangleF from PointF and SizeF values.
 /// </remarks>
 public RectangleF(PointF location, SizeF size)
 {
     x = location.X;
     y = location.Y;
     width = size.Width;
     height = size.Height;
 }