| Rapicorn - Experimental UI Toolkit - Source Code
    13.07.0
    | 
The Region class manages areas defined through a list of rectangles. More...
#include <region.hh>
| Public Types | |
| enum | ContainedType { OUTSIDE, INSIDE, PARTIAL } | 
| Public Member Functions | |
| Region () | |
| Construct an empty Region. | |
| Region (const Region ®ion) | |
| Copy-construct a Region. | |
| Region (const Rect &rectangle) | |
| Construct a Region covering rectangle. | |
| Region (const Point &pt1, const Point &pt2) | |
| Construct a Region covering a rectangle defined by two points. | |
| Region & | operator= (const Region ®ion) | 
| Region assignment. | |
| void | clear () | 
| Forces an empty Region. | |
| bool | empty () const | 
| Returns whether the Region is empty. | |
| bool | equal (const Region &other) const | 
| Returns whether two Regions cover the same area. | |
| int | cmp (const Region &other) const | 
| Provides linear ordering for regions. | |
| void | swap (Region &other) | 
| Swaps the contents of two Regions. | |
| Rect | extents () const | 
| Provides rectangle extents of the region. | |
| bool | contains (const Point &point) const | 
| Test if point is inside Region. | |
| bool | contains (double x, double y) const | 
| Point test with coordinates. | |
| ContainedType | contains (const Rect &rect) const | 
| Returns if Region covers rect fully, partially or not at all. | |
| ContainedType | contains (const Region &other) const | 
| Returns if Region covers other fully, partially or not at all. | |
| void | list_rects (vector< Rect > &rects) const | 
| Provides a list of rectangles that define Region. | |
| uint | count_rects () const | 
| Provides the number of rectangles that cover Region. | |
| void | add (const Rect &rect) | 
| Adds a rectangle to the Region. | |
| void | add (const Region &other) | 
| Causes Region to contain the union with other. | |
| void | subtract (const Region &subtrahend) | 
| Removes subtrahend from Region. | |
| void | intersect (const Region &other) | 
| Causes Region to contain the intersection with other. | |
| void | exor (const Region &other) | 
| Causes Region to contain the XOR composition with other. | |
| void | translate (double dx, double dy) | 
| Shifts Region by dx, dy. | |
| void | affine (const Affine &affine) | 
| Transforms Region by affine. | |
| double | epsilon () const | 
| Returns the precision (granularity) between fractional digits. | |
| String | string () | 
| Describes Region in a string. | |
| ~Region () | |
| Public destructor, Region is a simple copyable structure. | |
The Region class manages areas defined through a list of rectangles.
Region implements various common operations on areas which can be covered by a list of rectangles. Region calculations use fixed point arithmetics, so only a small number of fractional digits are supported (2 decimals, fractions are represented by 8 bit), and rectangle sizes are also limited (rectangle dimensions shouldn't exceed 3.6e16, i.e. 2^55).
 1.7.6.1
 1.7.6.1