Gdk::Region Class Reference

This is an opaque data type holding a set of arbitrary pixels, and is usually used for clipping graphical operations (see Gdk::GC::set_clip_region()). More...

## Public Member Functions

| Region ()
| Constructs an invalid object. More...
| Region (GdkRegion* castitem, bool make_a_copy=false)
| Region (const Region& src)
Region& | operator= (const Region& src)
| Region (Region&& other) noexcept
Region& | operator= (Region&& other) noexcept
| ~Region () noexcept
void | swap (Region& other) noexcept
GdkRegion* | gobj ()
const GdkRegion* | gobj () const
GdkRegion* | gobj_copy () const
| Provides access to the underlying C instance. The caller is responsible for freeing it. Use when directly setting fields in structs. More...
| Region (const Glib::ArrayHandle< Gdk::Point >& points, FillRule fill_rule)
| Region (const Rectangle& rectangle)
void | get_clipbox (const Rectangle& rectangle)
| Obtains the smallest rectangle which includes the entire Gdk::Region. More...
Glib::ArrayHandle< Rectangle > | get_rectangles () const
bool | empty ()
| Finds out if the Gdk::Region is empty. More...
bool | point_in (int x, int y)
| Finds out if a point is in a region. More...
OverlapType | rect_in (const Rectangle& rect)
| Tests whether a rectangle is within a region. More...
void | offset (int dx, int dy)
| Moves a region the specified distance. More...
void | shrink (int dx, int dy)
| Resizes a region by the specified amount. More...
void | union_with_rect (const Rectangle& rect)
| Sets the area of region to the union of the areas of region and rect. More...
void | intersect (const Region& source2)
| Sets the area of source1 to the intersection of the areas of source1 and source2. More...
void | union_ (const Region& source2)
| Sets the area of source1 to the union of the areas of source1 and source2. More...
void | subtract (const Region& source2)
| Subtracts the area of source2 from the area source1. More...
void | xor_ (const Region& source2)
| Sets the area of source1 to the exclusive-OR of the areas of source1 and source2. More...
void | spans_intersect_foreach (GdkSpan* spans, int n_spans, bool sorted, GdkSpanFunc function, gpointer data)
| Calls a function on each span in the intersection of region and spans. More...

## Protected Attributes

GdkRegion* | gobject_

## Related Functions

(Note that these are not member functions.)
bool | operator== (const Region& lhs, const Region& rhs)
bool | operator!= (const Region& lhs, const Region& rhs)
void | swap (Region& lhs, Region& rhs) noexcept
Gdk::Region | wrap (GdkRegion* object, bool take_copy=false)
| A Glib::wrap() method for this object. More...

## Detailed Description

This is an opaque data type holding a set of arbitrary pixels, and is usually used for clipping graphical operations (see Gdk::GC::set_clip_region()).

## Constructor & Destructor Documentation

Gdk::Region::Region | ( |  | ) |

Constructs an invalid object.

E.g. for output arguments to methods. There is not much you can do with the object before it has been assigned a valid value.

Gdk::Region::Region | ( | GdkRegion * | castitem,
|  | bool | make_a_copy = `false`
| ) |  |

explicit

Gdk::Region::Region | ( | const Region& | src | ) |

Gdk::Region::Region | ( | Region&& | other | ) |

noexcept

Gdk::Region::~Region | ( |  | ) |

noexcept

Gdk::Region::Region | ( | const Glib::ArrayHandle< Gdk::Point >& | points,
|  | FillRule | fill_rule
| ) |  |

Gdk::Region::Region | ( | const Rectangle& | rectangle | ) |

explicit

## Member Function Documentation

bool Gdk::Region::empty | ( |  | ) |

Finds out if the Gdk::Region is empty.

Returns
  `true` if region is empty.

void Gdk::Region::get_clipbox | ( | const Rectangle& | rectangle | ) |

Obtains the smallest rectangle which includes the entire Gdk::Region.

Parameters

  rectangle | Return location for the clipbox.

Glib::ArrayHandle<Rectangle> Gdk::Region::get_rectangles | ( |  | ) | const

GdkRegion* Gdk::Region::gobj | ( |  | ) |

inline

const GdkRegion* Gdk::Region::gobj | ( |  | ) | const

inline

GdkRegion* Gdk::Region::gobj_copy | ( |  | ) | const

Provides access to the underlying C instance. The caller is responsible for freeing it. Use when directly setting fields in structs.

void Gdk::Region::intersect | ( | const Region& | source2 | ) |

Sets the area of source1 to the intersection of the areas of source1 and source2.

The resulting area is the set of pixels contained in both source1 and source2.

Parameters

  source2 | Another Gdk::Region.

void Gdk::Region::offset | ( | int | dx,
|  | int | dy
| ) |  |

Moves a region the specified distance.

Parameters

  dx | The distance to move the region horizontally.
  dy | The distance to move the region vertically.

Region& Gdk::Region::operator= | ( | const Region& | src | ) |

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

noexcept

bool Gdk::Region::point_in | ( | int | x,
|  | int | y
| ) |  |

Finds out if a point is in a region.

Parameters

  x | The x coordinate of a point.
  y | The y coordinate of a point.

Returns
  `true` if the point is in region.

OverlapType Gdk::Region::rect_in | ( | const Rectangle& | rect | ) |

Tests whether a rectangle is within a region.

Parameters

  rect | A Gdk::Rectangle.

Returns
  Gdk::OVERLAP_RECTANGLE_IN, Gdk::OVERLAP_RECTANGLE_OUT, or Gdk::OVERLAP_RECTANGLE_PART, depending on whether the rectangle is inside, outside, or partly inside the Gdk::Region, respectively.

void Gdk::Region::shrink | ( | int | dx,
|  | int | dy
| ) |  |

Resizes a region by the specified amount.

Positive values shrink the region. Negative values expand it.

Deprecated: 2.22: There is no replacement for this function.

Parameters

  dx | The number of pixels to shrink the region horizontally.
  dy | The number of pixels to shrink the region vertically.

void Gdk::Region::spans_intersect_foreach | ( | GdkSpan * | spans,
|  | int | n_spans,
|  | bool | sorted,
|  | GdkSpanFunc | function,
|  | gpointer | data
| ) |  |

Calls a function on each span in the intersection of region and spans.

Deprecated: 2.22: There is no replacement.

Parameters

  spans | An array of Gdk::Spans.
  n_spans | The length of spans.
  sorted | `true` if spans is sorted wrt. the y coordinate.
  function | Function to call on each span in the intersection.
  data | Data to pass to function.

void Gdk::Region::subtract | ( | const Region& | source2 | ) |

Subtracts the area of source2 from the area source1.

The resulting area is the set of pixels contained in source1 but not in source2.

Parameters

  source2 | Another Gdk::Region.

void Gdk::Region::swap | ( | Region& | other | ) |

noexcept

void Gdk::Region::union_ | ( | const Region& | source2 | ) |

Sets the area of source1 to the union of the areas of source1 and source2.

The resulting area is the set of pixels contained in either source1 or source2.

Parameters

  source2 | A Gdk::Region.

void Gdk::Region::union_with_rect | ( | const Rectangle& | rect | ) |

Sets the area of region to the union of the areas of region and rect.

The resulting area is the set of pixels contained in either region or rect.

Parameters

  rect | A Gdk::Rectangle.

void Gdk::Region::xor_ | ( | const Region& | source2 | ) |

Sets the area of source1 to the exclusive-OR of the areas of source1 and source2.

The resulting area is the set of pixels contained in one or the other of the two sources but not in both.

Parameters

  source2 | Another Gdk::Region.

## Friends And Related Function Documentation

bool operator!= | ( | const Region& | lhs,
|  | const Region& | rhs
| ) |  |

related

Parameters

  lhs | The left-hand side
  rhs | The right-hand side

Returns
  The result

bool operator== | ( | const Region& | lhs,
|  | const Region& | rhs
| ) |  |

related

Parameters

  lhs | The left-hand side
  rhs | The right-hand side

Returns
  The result

void swap | ( | Region& | lhs,
|  | Region& | rhs
| ) |  |

related

Parameters

  lhs | The left-hand side
  rhs | The right-hand side

Gdk::Region wrap | ( | GdkRegion * | object,
|  | bool | take_copy = `false`
| ) |  |

related

A Glib::wrap() method for this object.

Parameters

  object | The C instance.
  take_copy | False if the result should take ownership of the C instance. True if it should take a new copy or ref.

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

## Member Data Documentation

GdkRegion* Gdk::Region::gobject_

protected

The documentation for this class was generated from the following file:

- gdkmm/region.h