|
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