Home | History | Annotate | Download | only in core

Lines Matching refs:rgn

162 bool SkRegion::op(const SkIRect& rect, const SkRegion& rgn, Op op) {
165 return this->op(tmp, rgn, op);
168 bool SkRegion::op(const SkRegion& rgn, const SkIRect& rect, Op op) {
171 return this->op(rgn, tmp, op);
389 bool SkRegion::contains(const SkRegion& rgn) const {
391 SkDEBUGCODE(rgn.validate();)
393 if (this->isEmpty() || rgn.isEmpty() || !fBounds.contains(rgn.fBounds)) {
399 if (rgn.isRect()) {
400 return this->contains(rgn.getBounds());
407 return !Oper(rgn, *this, kDifference_Op, NULL);
474 bool SkRegion::intersects(const SkRegion& rgn) const {
475 if (this->isEmpty() || rgn.isEmpty()) {
479 if (!SkIRect::Intersects(fBounds, rgn.fBounds)) {
484 bool theyAreARect = rgn.isRect();
490 return rgn.intersects(this->getBounds());
493 return this->intersects(rgn.getBounds());
497 return Oper(*this, rgn, kIntersect_Op, NULL);
971 static bool setRegionCheck(SkRegion* result, const SkRegion& rgn) {
972 return result ? result->setRegion(rgn) : !rgn.isEmpty();
1256 SkDebugf(" rgn: empty\n");
1258 SkDebugf(" rgn: [%d %d %d %d]", fBounds.fLeft, fBounds.fTop, fBounds.fRight, fBounds.fBottom);
1272 SkRegion::Iterator::Iterator(const SkRegion& rgn) {
1273 this->reset(rgn);
1284 void SkRegion::Iterator::reset(const SkRegion& rgn) {
1285 fRgn = &rgn;
1286 if (rgn.isEmpty()) {
1290 if (rgn.isRect()) {
1291 fRect = rgn.fBounds;
1294 fRuns = rgn.fRunHead->readonly_runs();
1335 } else { // end of rgn
1342 SkRegion::Cliperator::Cliperator(const SkRegion& rgn, const SkIRect& clip)
1343 : fIter(rgn), fClip(clip), fDone(true) {
1381 SkRegion::Spanerator::Spanerator(const SkRegion& rgn, int y, int left,
1383 SkDEBUGCODE(rgn.validate();)
1385 const SkIRect& r = rgn.getBounds();
1388 if (!rgn.isEmpty() && y >= r.fTop && y < r.fBottom &&
1390 if (rgn.isRect()) {
1399 fRuns = NULL; // means we're a rect, not a rgn
1402 const SkRegion::RunType* runs = rgn.fRunHead->findScanline(y);