Gdk::Rectangle Class Reference

Gdk::Rectangle is a structure holding the position and size of a rectangle. More...

`#include <gdkmm/rectangle.h>`

## Public Member Functions

| Rectangle (const Rectangle& other) noexcept
Rectangle& | operator= (const Rectangle& other) noexcept
| Rectangle (Rectangle&& other) noexcept
Rectangle& | operator= (Rectangle&& other) noexcept
| Rectangle ()
| Rectangle (const GdkRectangle* gobject)
GdkRectangle* | gobj ()
| Provides access to the underlying C instance. More...
const GdkRectangle* | gobj () const
| Provides access to the underlying C instance. More...
| Rectangle (int x, int y, int width, int height)
| Creates a new rectangle instance with these dimensions. More...
Rectangle& | join (const Rectangle& src2)
| Calculates the union of two rectangles, changing this rectangle. More...
Rectangle& | intersect (const Rectangle& src2)
| Calculates the intersection of two rectangles, changing this rectangle. More...
Rectangle& | intersect (const Rectangle& src2, bool& rectangles_intersect)
| Calculates the intersection of two rectangles, changing this rectangle. More...
bool | intersects (const Rectangle& src2) const
| Checks whether two rectangles intersect. More...
bool | has_zero_area () const
| Checks whether either the width or height is 0. More...
int | get_x () const
void | set_x (const int& value)
int | get_y () const
void | set_y (const int& value)
int | get_width () const
void | set_width (const int& value)
int | get_height () const
void | set_height (const int& value)

## Static Public Member Functions

static GType | get_type ()
| Get the GType for this class, for use with the underlying GObject type system. More...

## Protected Attributes

GdkRectangle | gobject_

## Related Functions

(Note that these are not member functions.)
Rectangle | join (const Rectangle& src1, const Rectangle& src2)
| Calculates the union of two rectangles. More...
Rectangle | intersect (const Rectangle& src1, const Rectangle& src2)
| Calculates the intersection of two rectangles. More...
Rectangle | intersect (const Rectangle& src1, const Rectangle& src2, bool& rectangles_intersect)
| Calculates the intersection of two rectangles. More...
Gdk::Rectangle& | wrap (GdkRectangle* object)
const Gdk::Rectangle& | wrap (const GdkRectangle* object)

## Detailed Description

Gdk::Rectangle is a structure holding the position and size of a rectangle.

The intersection of two rectangles can be computed with intersect(). To find the union of two rectangles use join().

## Constructor & Destructor Documentation

Gdk::Rectangle::Rectangle | ( | const Rectangle& | other | ) |

noexcept

Gdk::Rectangle::Rectangle | ( | Rectangle&& | other | ) |

noexcept

Gdk::Rectangle::Rectangle | ( |  | ) |

Gdk::Rectangle::Rectangle | ( | const GdkRectangle * | gobject | ) |

explicit

Gdk::Rectangle::Rectangle | ( | int | x,
|  | int | y,
|  | int | width,
|  | int | height
| ) |  |

Creates a new rectangle instance with these dimensions.

## Member Function Documentation

int Gdk::Rectangle::get_height | ( |  | ) | const

static GType Gdk::Rectangle::get_type | ( |  | ) |

static

Get the GType for this class, for use with the underlying GObject type system.

int Gdk::Rectangle::get_width | ( |  | ) | const

int Gdk::Rectangle::get_x | ( |  | ) | const

int Gdk::Rectangle::get_y | ( |  | ) | const

GdkRectangle* Gdk::Rectangle::gobj | ( |  | ) |

inline

Provides access to the underlying C instance.

const GdkRectangle* Gdk::Rectangle::gobj | ( |  | ) | const

inline

Provides access to the underlying C instance.

bool Gdk::Rectangle::has_zero_area | ( |  | ) | const

Checks whether either the width or height is 0.

Returns
  Whether this rectangle has 0 area.

Rectangle& Gdk::Rectangle::intersect | ( | const Rectangle& | src2 | ) |

Calculates the intersection of two rectangles, changing this rectangle.

If the rectangles do not intersect, this rectangle's width and height are set to 0 and its x and y values are undefined.

This method returns a reference to this instance, allowing you to then call another method easily. For instance: rect.intersect(src2).join(src3);

Parameters

  src2 | The rectangle with which to calculate the intersection with this rectangle.

Returns
  A reference to this rectangle.

Rectangle& Gdk::Rectangle::intersect | ( | const Rectangle& | src2,
|  | bool & | rectangles_intersect
| ) |  |

Calculates the intersection of two rectangles, changing this rectangle.

If the rectangles do not intersect, this rectangle's width and height are set to 0 and its x and y values are undefined.

This method returns a reference to this instance, allowing you to then call another method easily. For instance: rect.intersect(src2, rectangles_intersect).join(src3);

Parameters

  | src2 | The rectangle with which to calculate the intersection with this rectangle.
  [out] | rectangles_intersect | This will be set to `true` if the rectangles intersect, else `false`.

Returns
  A reference to this rectangle.

bool Gdk::Rectangle::intersects | ( | const Rectangle& | src2 | ) | const

Checks whether two rectangles intersect.

Since gtkmm 3.8:

Parameters

  src2 | The rectangle with which to check intersection with this rectangle.

Returns
  Whether this rectangle intersects src2.

Rectangle& Gdk::Rectangle::join | ( | const Rectangle& | src2 | ) |

Calculates the union of two rectangles, changing this rectangle.

The union of this rectangle and src2 is the smallest rectangle which includes both this rectangle and src2 within it.

This method returns a reference to this instance, allowing you to then call another method easily. For instance: rect.join(src2).intersect(src3);

Parameters

  src2 | The rectangle with which to calculate the union with this rectangle.

Returns
  A reference to this rectangle.

Rectangle& Gdk::Rectangle::operator= | ( | const Rectangle& | other | ) |

noexcept

Rectangle& Gdk::Rectangle::operator= | ( | Rectangle&& | other | ) |

noexcept

void Gdk::Rectangle::set_height | ( | const int & | value | ) |

void Gdk::Rectangle::set_width | ( | const int & | value | ) |

void Gdk::Rectangle::set_x | ( | const int & | value | ) |

void Gdk::Rectangle::set_y | ( | const int & | value | ) |

## Friends And Related Function Documentation

Rectangle intersect | ( | const Rectangle& | src1,
|  | const Rectangle& | src2
| ) |  |

related

Calculates the intersection of two rectangles.

If the rectangles do not intersect, the returned rectangle's width and height are set to 0 and its x and y values are undefined.

Since gtkmm 3.8:

Parameters

  src1 | One of the rectangles.
  src2 | The other rectangle.

Returns
  The intersection of src1 and src2.

Rectangle intersect | ( | const Rectangle& | src1,
|  | const Rectangle& | src2,
|  | bool & | rectangles_intersect
| ) |  |

related

Calculates the intersection of two rectangles.

If the rectangles do not intersect, the returned rectangle's width and height are set to 0 and its x and y values are undefined.

Since gtkmm 3.8:

Parameters

  | src1 | One of the rectangles.
  | src2 | The other rectangle.
  [out] | rectangles_intersect | This will be set to `true` if the rectangles intersect, else `false`.

Returns
  The intersection of src1 and src2.

Rectangle join | ( | const Rectangle& | src1,
|  | const Rectangle& | src2
| ) |  |

related

Calculates the union of two rectangles.

The union of src1 and src2 is the smallest rectangle which includes both src1 and src2 within it.

Since gtkmm 3.8:

Parameters

  src1 | One of the rectangles.
  src2 | The other rectangle.

Returns
  The union of src1 and src2.

Gdk::Rectangle& wrap | ( | GdkRectangle * | object | ) |

related

Parameters

  object | The C instance

Returns
  A C++ instance that wraps this C instance.

const Gdk::Rectangle& wrap | ( | const GdkRectangle * | object | ) |

related

Parameters

  object | The C instance

Returns
  A C++ instance that wraps this C instance.

## Member Data Documentation

GdkRectangle Gdk::Rectangle::gobject_

protected