# Rect Struct

> A rect holds four coordinates for a rectangle.

- Product: Adobe PDF Library 21
- Language: Modern C++
- Version: 21.4.0
- HTML page: https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/struct/Rect
- Version index: https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/llms.txt

```cpp
struct Rect
```

**Namespace:** `datalogics_interface`

## Description

A rect holds four coordinates for a rectangle.

The coordinates for a rectangle include left, top, right, bottom. Width () and height () defines the rectangle's width and height. LLx and LLy defines lower left corner, and URx and URy defines the upper right corner.

**Referenced by:** [`Annotation`](https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/class/Annotation.md), [`AxialShadingPattern`](https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/class/AxialShadingPattern.md), [`CircleAnnotation`](https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/class/CircleAnnotation.md), [`Container`](https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/class/Container.md), [`Content`](https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/class/Content.md), [`DrawParams`](https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/class/DrawParams.md), [`Element`](https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/class/Element.md), [`Font`](https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/class/Font.md), [`Form`](https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/class/Form.md), [`FreeTextAnnotation`](https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/class/FreeTextAnnotation.md), [`Group`](https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/class/Group.md), [`HighlightAnnotation`](https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/class/HighlightAnnotation.md), [`Image`](https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/class/Image.md), [`InkAnnotation`](https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/class/InkAnnotation.md), [`LineAnnotation`](https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/class/LineAnnotation.md), [`LinkAnnotation`](https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/class/LinkAnnotation.md), [`Page`](https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/class/Page.md), [`Path`](https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/class/Path.md), [`PolyLineAnnotation`](https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/class/PolyLineAnnotation.md), [`PolygonAnnotation`](https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/class/PolygonAnnotation.md), [`Quad`](https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/struct/Quad.md), [`Rect`](https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/struct/Rect.md), [`Redaction`](https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/class/Redaction.md), [`RemoteDestination`](https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/class/RemoteDestination.md), [`ShadingPattern`](https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/class/ShadingPattern.md), [`SignDoc`](https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/class/SignDoc.md), [`SquareAnnotation`](https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/class/SquareAnnotation.md), [`Text`](https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/class/Text.md), [`TextMarkupAnnotation`](https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/class/TextMarkupAnnotation.md), [`TextRun`](https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/class/TextRun.md), [`UnderlineAnnotation`](https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/class/UnderlineAnnotation.md), [`ViewDestination`](https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/class/ViewDestination.md)

**Uses types:** [`Rect`](https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/struct/Rect.md)

## Constructors

### Rect

```cpp
datalogics_interface::Rect::Rect()=default
```

*constructor*

### Rect

```cpp
datalogics_interface::Rect::Rect(double ll_x, double ll_y, double ur_x, double ur_y)
```

*constructor*

**Parameters**

- `ll_x` (`double`)
- `ll_y` (`double`)
- `ur_x` (`double`)
- `ur_y` (`double`)

## Fields

### ll_x

```cpp
double datalogics_interface::Rect::ll_x
```

### ll_y

```cpp
double datalogics_interface::Rect::ll_y
```

### ur_x

```cpp
double datalogics_interface::Rect::ur_x
```

### ur_y

```cpp
double datalogics_interface::Rect::ur_y
```

## Methods

### bottom

```cpp
double datalogics_interface::Rect::bottom() const
```

**Returns:** `double`

### height

```cpp
double datalogics_interface::Rect::height() const
```

**Returns:** `double`

### in_rect

```cpp
bool datalogics_interface::Rect::in_rect(const Rect &other) const
```

**Parameters**

- `other` ([`const Rect &`](https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/struct/Rect.md))

**Returns:** `bool`

### intersect

```cpp
Rect datalogics_interface::Rect::intersect(const Rect &other) const
```

**Parameters**

- `other` ([`const Rect &`](https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/struct/Rect.md))

**Returns:** [`Rect`](https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/struct/Rect.md)

### is_empty

```cpp
bool datalogics_interface::Rect::is_empty() const
```

**Returns:** `bool`

### left

```cpp
double datalogics_interface::Rect::left() const
```

**Returns:** `double`

### operator!=

```cpp
bool datalogics_interface::Rect::operator!=(const Rect &rhs) const
```

**Parameters**

- `rhs` ([`const Rect &`](https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/struct/Rect.md))

**Returns:** `bool`

### operator==

```cpp
bool datalogics_interface::Rect::operator==(const Rect &rhs) const
```

**Parameters**

- `rhs` ([`const Rect &`](https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/struct/Rect.md))

**Returns:** `bool`

### overlaps

```cpp
bool datalogics_interface::Rect::overlaps(const Rect &other) const
```

**Parameters**

- `other` ([`const Rect &`](https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/struct/Rect.md))

**Returns:** `bool`

### right

```cpp
double datalogics_interface::Rect::right() const
```

**Returns:** `double`

### set_bottom

```cpp
void datalogics_interface::Rect::set_bottom(double val)
```

**Parameters**

- `val` (`double`)

**Returns:** `void`

### set_left

```cpp
void datalogics_interface::Rect::set_left(double val)
```

**Parameters**

- `val` (`double`)

**Returns:** `void`

### set_right

```cpp
void datalogics_interface::Rect::set_right(double val)
```

**Parameters**

- `val` (`double`)

**Returns:** `void`

### set_top

```cpp
void datalogics_interface::Rect::set_top(double val)
```

**Parameters**

- `val` (`double`)

**Returns:** `void`

### to_string

```cpp
std::string datalogics_interface::Rect::to_string() const
```

**Returns:** `std::string`

### top

```cpp
double datalogics_interface::Rect::top() const
```

**Returns:** `double`

### transform

```cpp
Rect datalogics_interface::Rect::transform(const Matrix &m) const
```

**Parameters**

- `m` ([`const Matrix &`](https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/struct/Matrix.md))

**Returns:** [`Rect`](https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/struct/Rect.md)

### width

```cpp
double datalogics_interface::Rect::width() const
```

**Returns:** `double`
