Example #1
0
        /// <summary>
        /// Обрезает в r1 область высотой r2, снизу.
        /// </summary>
        /// <param name="r1"></param>
        /// <param name="r2"></param>
        /// <returns></returns>
        public static GRectangle DeleteBottom(GRectangle r1, GRectangle r2)
        {
            GRectangle res = new GRectangle();

            res.X      = r1.X;
            res.Y      = r1.Y;
            res.Width  = r1.Width;
            res.Height = r1.Height - r2.Height;
            return(res);
        }
Example #2
0
        /// <summary>
        /// Обьединяет две прямоугольные области
        /// </summary>
        /// <param name="r1"></param>
        /// <param name="r2"></param>
        /// <returns></returns>
        public static GRectangle Join(GRectangle r1, GRectangle r2)
        {
            GRectangle res = new GRectangle();

            res.X      = r1.X < r2.X ? r1.X : r2.X;
            res.Y      = r1.Y < r2.Y ? r1.Y : r2.Y;
            res.Width  = r1.X + r1.Width > r2.X + r2.Width ? r1.X + r1.Width - res.X : r2.X + r2.Width - res.X;
            res.Height = r1.X + r1.Height > r2.Y + r2.Height ? r1.Y + r1.Height - res.Y : r2.Y + r2.Height - res.Y;
            return(res);
        }
Example #3
0
        /// <summary>
        /// Выделить область прямоугольную, снизу в текущем прямоугольнике, указанной высоты.
        /// </summary>
        /// <param name="mainRect"></param>
        /// <param name="height"></param>
        /// <returns></returns>
        public static GRectangle GetBottom(GRectangle mainRect, int height)
        {
            GRectangle res = new GRectangle();

            res.X      = mainRect.X;
            res.Y      = mainRect.Y + mainRect.Height - height;
            res.Width  = mainRect.Width;
            res.Height = height;

            return(res);
        }
Example #4
0
        public static GRectangle AttachRight(GRectangle r1, int Width)
        {
            GRectangle res = new GRectangle();

            res.X      = r1.X;
            res.Y      = r1.Y;
            res.Width  = r1.Width + Width;
            res.Height = r1.Height;

            return(res);
        }
Example #5
0
        /// <summary>
        /// Выделить область прямоугольную, справа в текущем прямоугольнике, указанной ширины.
        /// </summary>
        /// <param name="mainRetc"></param>
        /// <param name="width"></param>
        /// <returns></returns>
        public static GRectangle GetRight(GRectangle mainRect, int width)
        {
            GRectangle res = new GRectangle();

            res.X      = mainRect.X + mainRect.Width - width;
            res.Y      = mainRect.Y;
            res.Width  = width;
            res.Height = mainRect.Height;

            mainRect.Width -= width;
            return(res);
        }