Lines Matching refs:Region
34 class Region : public LightFlattenable<Region>
37 static const Region INVALID_REGION;
39 Region();
40 Region(const Region& rhs);
41 explicit Region(const Rect& rhs);
42 ~Region();
44 static Region createTJunctionFreeRegion(const Region& r);
46 Region& operator = (const Region& rhs);
57 // the region becomes its bounds
58 Region& makeBoundsSelf();
65 Region& orSelf(const Rect& rhs);
66 Region& xorSelf(const Rect& rhs);
67 Region& andSelf(const Rect& rhs);
68 Region& subtractSelf(const Rect& rhs);
71 Region& orSelf(const Region& rhs);
72 Region& xorSelf(const Region& rhs);
73 Region& andSelf(const Region& rhs);
74 Region& subtractSelf(const Region& rhs);
77 const Region merge(const Rect& rhs) const;
78 const Region mergeExclusive(const Rect& rhs) const;
79 const Region intersect(const Rect& rhs) const;
80 const Region subtract(const Rect& rhs) const;
83 const Region merge(const Region& rhs) const;
84 const Region mergeExclusive(const Region& rhs) const;
85 const Region intersect(const Region& rhs) const;
86 const Region subtract(const Region& rhs) const;
89 Region& translateSelf(int dx, int dy);
90 Region& orSelf(const Region& rhs, int dx, int dy);
91 Region& xorSelf(const Region& rhs, int dx, int dy);
92 Region& andSelf(const Region& rhs, int dx, int dy);
93 Region& subtractSelf(const Region& rhs, int dx, int dy);
96 const Region translate(int dx, int dy) const;
97 const Region merge(const Region& rhs, int dx, int dy) const;
98 const Region mergeExclusive(const Region& rhs, int dx, int dy) const;
99 const Region intersect(const Region& rhs, int dx, int dy) const;
100 const Region subtract(const Region& rhs, int dx, int dy) const;
103 inline const Region operator | (const Region& rhs) const;
104 inline const Region operator ^ (const Region& rhs) const;
105 inline const Region operator & (const Region& rhs) const;
106 inline const Region operator - (const Region& rhs) const;
107 inline const Region operator + (const Point& pt) const;
109 inline Region& operator |= (const Region& rhs);
110 inline Region& operator ^= (const Region& rhs);
111 inline Region& operator &= (const Region& rhs);
112 inline Region& operator -= (const Region& rhs);
113 inline Region& operator += (const Point& pt);
117 bool isTriviallyEqual(const Region& region) const;
129 // Region object.
135 // be sorted in Y and X and must not make the region invalid.
150 Region& operationSelf(const Rect& r, int op);
151 Region& operationSelf(const Region& r, int op);
152 Region& operationSelf(const Region& r, int dx, int dy, int op);
153 const Region operation(const Rect& rhs, int op) const;
154 const Region operation(const Region& rhs, int op) const;
155 const Region operation(const Region& rhs, int dx, int dy, int op) const;
157 static void boolean_operation(int op, Region& dst,
158 const Region& lhs, const Region& rhs, int dx, int dy);
159 static void boolean_operation(int op, Region& dst,
160 const Region& lhs, const Rect& rhs, int dx, int dy);
162 static void boolean_operation(int op, Region& dst,
163 const Region& lhs, const Region& rhs);
164 static void boolean_operation(int op, Region& dst,
165 const Region& lhs, const Rect& rhs);
167 static void translate(Region& reg, int dx, int dy);
168 static void translate(Region& dst, const Region& reg, int dx, int dy);
170 static bool validate(const Region& reg,
173 // mStorage is a (manually) sorted array of Rects describing the region
175 // bounds of the region. However, if the region is
181 const Region Region::operator | (const Region& rhs) const {
184 const Region Region::operator ^ (const Region& rhs) const {
187 const Region Region::operator & (const Region& rhs) const {
190 const Region Region::operator - (const Region& rhs) const {
193 const Region Region::operator + (const Point& pt) const {
198 Region& Region::operator |= (const Region& rhs) {
201 Region& Region::operator ^= (const Region& rhs) {
204 Region& Region::operator &= (const Region& rhs) {
207 Region& Region::operator -= (const Region& rhs) {
210 Region& Region::operator += (const Point& pt) {