# 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...

List of all members.

## Public Member Functions

| Region ()
| Region (GdkRegion* castitem, bool make_a_copy=false)
| Region (const Region& src)
Region& | operator= (const Region& src)
| ~Region ()
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.
| 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.
Glib::ArrayHandle< Rectangle > | get_rectangles () const
bool | empty ()
| Finds out if the Gdk::Region is empty.
bool | point_in (int x, int y)
| Finds out if a point is in a region.
OverlapType | rect_in (const Rectangle& rect)
| Tests whether a rectangle is within a region.
void | offset (int dx, int dy)
| Moves a region the specified distance.
void | shrink (int dx, int dy)
| Resizes a region by the specified amount.
void | union_with_rect (const Rectangle& rect)
| Sets the area of region to the union of the areas of region and rect.
void | intersect (const Region& source2)
| Sets the area of source1 to the intersection of the areas of source1 and source2.
void | union_ (const Region& source2)
| Sets the area of source1 to the union of the areas of source1 and source2.
void | subtract (const Region& source2)
| Subtracts the area of source2 from the area source1.
void | xor_ (const Region& source2)
| Sets the area of source1 to the exclusive-OR of the areas of source1 and source2.
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.

## 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)
Gdk::Region | wrap (GdkRegion* object, bool take_copy=false)
| A Glib::wrap() method for this object.

## 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 | ( |  | ) |

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

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

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

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 | ) |

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:

  rectangle | 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::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

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