# Rectangle
Содержит набор из четырех целых чисел, определяющих расположение и размер прямоугольника.

## Инициализация
```js
const Drawing = require('proglib').Drawing;
const Rectangle = Drawing.Rectangle;
const Size = Drawing.Size;
const Point = Drawing.Point;

// Инициализирует новый экземпляр класса Rectangle заданным расположением и размером.
//
// Параметры:
//    Location
//       Объект Point, представляющий левый верхний угол прямоугольной области.
//
//    Size
//       Объект Size, представляющий ширину и высоту прямоугольной области.
let _rectangle = new Rectangle(Location, Size);

//     Инициализирует новый экземпляр класса Rectangle заданным расположением и размером.
//
// Параметры:
//    X
//       Координата по оси X верхнего левого угла прямоугольника.
//
//    Y
//       Координата по оси Y верхнего левого угла прямоугольника.
//
//    Width
//       Ширина прямоугольника.
//
//    Height
//       Высота прямоугольника.
let _rectangle = new Rectangle(X, Y, Width, Height);
```

## Свойства
```js

// Возвращает координату по оси X, являющуюся суммой значений свойств X и Width данного объекта Rectangle.
// 
// Возврат:
//    Number
_rectangle.Right;

// Возвращает координату по оси Y верхнего края объекта Rectangle.
// 
// Возврат:
//    Number
_rectangle.Top;

// Возвращает координату по оси X левого края структуры Rectangle.
// 
// Возврат:
//    Number
_rectangle.Left;

// Возвращает координату по оси Y, являющуюся суммой значений свойств Y и Height данного объекта Rectangle.
// 
// Возврат:
//    Number
_rectangle.Bottom;

// Возвращает или задает координаты левого верхнего угла объекта Rectangle.
// 
// Возврат:
//    Number
_rectangle.Location;

// Возвращает или задает размер этого объекта Rectangle.
// 
// Возврат:
//    Number
_rectangle.Size;
```

## Методы
```js
// Определяет, содержится ли заданная точка в структуре Rectangle.
//
// Параметры:
//    X
//       Координата тестируемой точки по оси X.
//
//    Y
//       Координата тестируемой точки по оси Y.
//
// Возврат:
//     Boolean
_rectangle.Contains(X, Y);

// Определяет, содержится ли заданная точка в структуре Rectangle.
//
// Параметры:
//    pt
//       Объект Point для проверки.
//
// Возврат:
//     Boolean
_rectangle.Contains(pt);

// Определяет, содержится ли вся прямоугольная область, представленная параметром rect, в структуре Rectangle.
//
// Параметры:
//    rect:
//       Объект Rectangle для проверки.
//
// Возврат:
//     Boolean
_rectangle.Contains(rect);

// Увеличивает данный объект Rectangle на заданную величину.
//
// Параметры:
//    Width
//       Величина, на которую требуется увеличить данный прямоугольник Rectangle в горизонтальном направлении.
//
//    Height
//       Величина, на которую требуется увеличить данный прямоугольник Rectangle в вертикальном направлении.
_rectangle.Inflate(Width, Height);

// Увеличивает данный объект Rectangle на заданную величину.
//
// Параметры:
//    Size
//       Величина, на которую требуется увеличить данный прямоугольник.
_rectangle.Inflate(Size);

// Заменяет данный объект Rectangle его пересечением с указанным прямоугольником Rectangle.
// 
// Параметры:
//    rect
//       Объект Rectangle, с которым происходит пересечение.
_rectangle.Intersect(rect);

// Определяет, пересекается ли данный прямоугольник с прямоугольником rect.
// 
// Параметры:
//    rect
//       Прямоугольник для проверки.
_rectangle.IntersectsWith(rect);

// Изменяет положение этого прямоугольника на указанную величину.
//
// Параметры:
//    X
//       Горизонтальное смещение.
//
//    Y
//       Вертикальное смещение.
_rectangle.Offset(X, Y);

// Проверяет, является ли указанный объект с таким же расположением и размером, что и объект Rectangle.
//    rect
//       Объект Rectangle для проверки.
// 
// Возврат:
//    Boolean
_rectangle.Equals(rect);

// Преобразует атрибуты этого прямоугольника Rectangle в удобную для восприятия строку.
// 
// Возврат:
//    String
_rectangle.toString();

// Возвращает тип для текущего экземпляра.
// 
// Возврат:
//    String
_rectangle.GetType();
```

```js
// Создает объект Rectangle с заданным положением краев.
// 
// Параметры:
//    Left
//       Координата по оси X верхнего левого угла объекта Rectangle.
//    Top
//       Координата по оси Y верхнего левого угла объекта Rectangle.
//    Right
//       Координата по оси X нижнего правого угла объекта Rectangle.
//    Bottom
//       Координата по оси Y нижнего правого угла объекта Rectangle.
// 
// Возврат:
//    Rectangle
Rectangle.FromLTRB(Left, Top, Right, Bottom);

// Создает и возвращает увеличенную копию заданной объекта Rectangle.
// Копия увеличивается на заданную величину. Исходный объект Rectangle остается без изменений.
// 
// Параметры:
//    rect
//       Объект Rectangle, являющийся исходным.
//    X
//       Величина, на которую требуется увеличить данный прямоугольник Rectangle в горизонтальном направлении.
//    Y
//       Величина, на которую требуется увеличить данный прямоугольник Rectangle в вертикальном направлении.
// 
// Возврат:
//    Rectangle
Rectangle.Inflate(rect, X, Y);

// Возвращает третий объект Rectangle, представляющий собой пересечение двух других объектов Rectangle.
// Если пересечение отсутствует, возвращается пустой объект Rectangle.
// 
// Параметры:
//    A
//       Прямоугольник для пересечения.
//    B
//       Прямоугольник для пересечения.
// 
// Возврат:
//    Rectangle
Rectangle.Intersect(A, B);

// Округляет значения Rectangle до ближайших целых чисел.
// 
// Параметры:
//    rect
//       Преобразуемый объект Rectangle.
// 
// Возврат:
//    Rectangle
Rectangle.Round(rect);

// Возвращает объект Rectangle, содержащую объединение двух объектов Rectangle.
// 
// Параметры:
//    A
//       Прямоугольник, предназначенный для объединения.
//    B
//       Прямоугольник, предназначенный для объединения.
// 
// Возврат:
//    Rectangle
Rectangle.Union(A, B);
```