Lines Matching defs:Region
27 #include "Region.h"
29 // A region class based on the paper "Scanline Coherent Shape Algebra"
39 Region::Region()
43 Region::Region(const IntRect& rect)
49 Vector<IntRect> Region::rects() const
68 Region::Shape::Shape()
72 Region::Shape::Shape(const IntRect& rect)
80 void Region::Shape::appendSpan(int y)
85 bool Region::Shape::canCoalesce(SegmentIterator begin, SegmentIterator end)
105 void Region::Shape::appendSpan(int y, SegmentIterator begin, SegmentIterator end)
114 void Region::Shape::appendSpans(const Shape& shape, SpanIterator begin, SpanIterator end)
120 void Region::Shape::appendSegment(int x)
125 Region::Shape::SpanIterator Region::Shape::spans_begin() const
130 Region::Shape::SpanIterator Region::Shape::spans_end() const
135 Region::Shape::SegmentIterator Region::Shape::segments_begin(SpanIterator it) const
147 Region::Shape::SegmentIterator Region::Shape::segments_end(SpanIterator it) const
164 void Region::Shape::dump() const
178 IntRect Region::Shape::bounds() const
215 void Region::Shape::translate(const IntSize& offset)
223 void Region::Shape::swap(Shape& other)
235 Region::Shape Region::Shape::shapeOperation(const Shape& shape1, const Shape& shape2)
326 struct Region::Shape::UnionOperation {
350 Region::Shape Region::Shape::unionShapes(const Shape& shape1, const Shape& shape2)
355 struct Region::Shape::IntersectOperation {
379 Region::Shape Region::Shape::intersectShapes(const Shape& shape1, const Shape& shape2)
384 struct Region::Shape::SubtractOperation {
385 static bool trySimpleOperation(const Shape& shape1, const Shape& shape2, Region::Shape& result)
404 Region::Shape Region::Shape::subtractShapes(const Shape& shape1, const Shape& shape2)
410 void Region::dump() const
418 void Region::intersect(const Region& region)
420 if (!m_bounds.intersects(region.m_bounds)) {
426 Shape intersectedShape = Shape::intersectShapes(m_shape, region.m_shape);
432 void Region::unite(const Region& region)
434 Shape unitedShape = Shape::unionShapes(m_shape, region.m_shape);
437 m_bounds.unite(region.m_bounds);
440 void Region::subtract(const Region& region)
442 Shape subtractedShape = Shape::subtractShapes(m_shape, region.m_shape);
448 void Region::translate(const IntSize& offset)