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)
Regionoperator= (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< Rectangleget_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.)



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
const GdkRegion* Gdk::Region::gobj (  )  const [inline]
GdkRegion* Gdk::Region::gobj (  )  [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.

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.

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

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:

Generated on Tue May 4 13:21:44 2010 for gtkmm by  doxygen 1.6.1