# Struct gdk4::Rectangle [−][src]

`#[repr(transparent)]pub struct Rectangle(_);`

## Expand description

A `Rectangle`

data type for representing rectangles.

`Rectangle`

is identical to `cairo_rectangle_t`

. Together with Cairo’s
`cairo::Region`

data type, these are the central types for representing
sets of pixels.

The intersection of two rectangles can be computed with
`intersect()`

; to find the union of two rectangles use
`union()`

.

The `cairo::Region`

type provided by Cairo is usually used for managing
non-rectangular clipping of graphical operations.

The Graphene library has a number of other data types for regions and volumes in 2D and 3D.

## Implementations

Calculates the intersection of two rectangles.

It is allowed for @dest to be the same as either @self or @src2.
If the rectangles do not intersect, @dest’s width and height is set
to 0 and its x and y values are undefined. If you are only interested
in whether the rectangles intersect, but not in the intersecting area
itself, pass `None`

for @dest.

`src2`

##### Returns

`true`

if the rectangles intersect.

`dest`

return location for the intersection of @self and @src2

Calculates the union of two rectangles.

The union of rectangles @self and @src2 is the smallest rectangle which includes both @self and @src2 within it. It is allowed for @dest to be the same as either @self or @src2.

Note that this function does not ignore ‘empty’ rectangles (ie. with zero width or height).

`src2`

##### Returns

`dest`

return location for the union of @self and @src2

## Trait Implementations

Performs the conversion.

Performs the conversion.

Returns the type identifier of `Self`

.

## Auto Trait Implementations

### impl RefUnwindSafe for Rectangle

### impl UnwindSafe for Rectangle

## Blanket Implementations

Mutably borrows from an owned value. Read more

Returns a `SendValue`

clone of `self`

.