Home | History | Annotate | Download | only in core

Lines Matching refs:rgn

171 bool SkRegion::op(const SkIRect& rect, const SkRegion& rgn, Op op) {
174 return this->op(tmp, rgn, op);
177 bool SkRegion::op(const SkRegion& rgn, const SkIRect& rect, Op op) {
180 return this->op(rgn, tmp, op);
399 bool SkRegion::contains(const SkRegion& rgn) const {
401 SkDEBUGCODE(rgn.validate();)
403 if (this->isEmpty() || rgn.isEmpty() || !fBounds.contains(rgn.fBounds)) {
409 if (rgn.isRect()) {
410 return this->contains(rgn.getBounds());
417 return !Oper(rgn, *this, kDifference_Op, NULL);
484 bool SkRegion::intersects(const SkRegion& rgn) const {
485 if (this->isEmpty() || rgn.isEmpty()) {
489 if (!SkIRect::Intersects(fBounds, rgn.fBounds)) {
494 bool theyAreARect = rgn.isRect();
500 return rgn.intersects(this->getBounds());
503 return this->intersects(rgn.getBounds());
507 return Oper(*this, rgn, kIntersect_Op, NULL);
981 static bool setRegionCheck(SkRegion* result, const SkRegion& rgn) {
982 return result ? result->setRegion(rgn) : !rgn.isEmpty();
1268 SkDebugf(" rgn: empty\n");
1270 SkDebugf(" rgn: [%d %d %d %d]", fBounds.fLeft, fBounds.fTop, fBounds.fRight, fBounds.fBottom);
1284 SkRegion::Iterator::Iterator(const SkRegion& rgn) {
1285 this->reset(rgn);
1296 void SkRegion::Iterator::reset(const SkRegion& rgn) {
1297 fRgn = &rgn;
1298 if (rgn.isEmpty()) {
1302 if (rgn.isRect()) {
1303 fRect = rgn.fBounds;
1306 fRuns = rgn.fRunHead->readonly_runs();
1347 } else { // end of rgn
1354 SkRegion::Cliperator::Cliperator(const SkRegion& rgn, const SkIRect& clip)
1355 : fIter(rgn), fClip(clip), fDone(true) {
1393 SkRegion::Spanerator::Spanerator(const SkRegion& rgn, int y, int left,
1395 SkDEBUGCODE(rgn.validate();)
1397 const SkIRect& r = rgn.getBounds();
1400 if (!rgn.isEmpty() && y >= r.fTop && y < r.fBottom &&
1402 if (rgn.isRect()) {
1411 fRuns = NULL; // means we're a rect, not a rgn
1414 const SkRegion::RunType* runs = rgn.fRunHead->findScanline(y);