gtkmm: 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)
 
Regionoperator= (const Region& src)
 
 Region (Region&& other) noexcept
 
Regionoperator= (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< Rectangleget_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
rectangleReturn 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
source2Another Gdk::Region.
void Gdk::Region::offset ( int  dx,
int  dy 
)

Moves a region the specified distance.

Parameters
dxThe distance to move the region horizontally.
dyThe 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
xThe x coordinate of a point.
yThe 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
rectA 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
dxThe number of pixels to shrink the region horizontally.
dyThe 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
spansAn array of Gdk::Spans.
n_spansThe length of spans.
sortedtrue if spans is sorted wrt. the y coordinate.
functionFunction to call on each span in the intersection.
dataData 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
source2Another 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
source2A 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
rectA 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
source2Another Gdk::Region.

Friends And Related Function Documentation

bool operator!= ( const Region lhs,
const Region rhs 
)
related
Parameters
lhsThe left-hand side
rhsThe right-hand side
Returns
The result
bool operator== ( const Region lhs,
const Region rhs 
)
related
Parameters
lhsThe left-hand side
rhsThe right-hand side
Returns
The result
void swap ( Region lhs,
Region rhs 
)
related
Parameters
lhsThe left-hand side
rhsThe right-hand side
Gdk::Region wrap ( GdkRegion *  object,
bool  take_copy = false 
)
related

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

Parameters
objectThe C instance.
take_copyFalse 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