#include <region.h>
Public Types | |
enum | FillRule { EVEN_ODD_RULE, WINDING_RULE } |
Fill rule for polygons. More... | |
enum | OverlapType { OVERLAP_IN, OVERLAP_OUT, OVERLAP_PART } |
Types of overlapping between a rectangle and a region. More... | |
Public Member Functions | |
Region () | |
Empty region. | |
Region (const Region &) | |
Copy a region. | |
Region (const std::vector< Point >, FillRule) | |
Region from polygon. | |
Region (const SDL_Rect &) | |
Region from rectangle. | |
Region (const Point &) | |
Region from point. | |
Region & | operator= (const Region &) |
copy one region into another | |
Rect | getClipbox () const |
Get clipping box. | |
RectList | getRectangles () const |
Get component rectangles. | |
bool | empty () const |
true if region empty | |
bool | operator== (const Region &) const |
compare two regions | |
bool | operator!= (const Region &r) const |
compare two regions | |
bool | operator< (const Region &) const |
for std::map only | |
bool | contains (const Point &) const |
check if a region contains a point | |
OverlapType | overlap (const SDL_Rect &) const |
Check if a region contains/overlaps a rectangle. | |
void | clear () |
set the region to be empty | |
void | offset (int dx, int dy) |
Move a region. | |
void | offset (const Point &p) |
Move a region. | |
void | shrink (int dx, int dy) |
Shrink a region Contract (dx, dy > 0) or expand (dx, dy < 0) the region in the directions of the axes. | |
Region & | operator|= (const Region &) |
Pointwise or. | |
Region & | operator &= (const Region &) |
Pointwise and. | |
Region & | operator-= (const Region &) |
Pointwise subtraction. | |
Region & | operator^= (const Region &) |
Pointwise xor. | |
Region | boundary (bool inside) const |
inside == true => points in the region which are next to points outside the region inside == false => points outside the region which are next to points in the region | |
Friends | |
Region | operator| (const Region &r, const Region &r2) |
Pointwise or. | |
Region | operator & (const Region &r, const Region &r2) |
Pointwise and. | |
Region | operator- (const Region &r, const Region &r2) |
Pointwise subtraction. | |
Region | operator^ (const Region &r, const Region &r2) |
Pointwise xor. |
|
Fill rule for polygons.
|
|
Types of overlapping between a rectangle and a region.
|
|
Copy a region. Copies , creating an identical new region. Return value: a new region identical to |
|
Region from rectangle. Creates a new region containing the area . Return value: a new region |
|
inside == true => points in the region which are next to points outside the region inside == false => points outside the region which are next to points in the region FIXME pick a default value for 'inside' |
|
Get component rectangles. Obtains the area covered by the region as a list of rectangles. The array returned in must be freed with g_free(). |
|
Pointwise and. Sets the area of to the intersection of the areas of and . The resulting area is the set of pixels contained in both and . |
|
Pointwise subtraction. Subtracts the area of from the area . The resulting area is the set of pixels contained in but not in . |
|
Pointwise xor. Sets the area of to the exclusive-OR of the areas of and . The resulting area is the set of pixels contained in one or the other of the two sources but not in both. |
|
Pointwise or. Sets the area of to the union of the areas of and . The resulting area is the set of pixels contained in either or . |
|
Shrink a region Contract (dx, dy > 0) or expand (dx, dy < 0) the region in the directions of the axes. If one of (dx, dy) is positive and the other negative, the region contracts in one direction and expands in the other. |
This document is licensed under the terms of the GNU Free Documentation License and may be freely distributed under the conditions given by this license.