| OLD | NEW | 
|---|
| 1 | 1 | 
| 2 /* | 2 /* | 
| 3  * Copyright 2006 The Android Open Source Project | 3  * Copyright 2006 The Android Open Source Project | 
| 4  * | 4  * | 
| 5  * Use of this source code is governed by a BSD-style license that can be | 5  * Use of this source code is governed by a BSD-style license that can be | 
| 6  * found in the LICENSE file. | 6  * found in the LICENSE file. | 
| 7  */ | 7  */ | 
| 8 | 8 | 
| 9 | 9 | 
| 10 #include "SkBuffer.h" | 10 #include "SkBuffer.h" | 
| (...skipping 582 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 593     return result; | 593     return result; | 
| 594 } | 594 } | 
| 595 | 595 | 
| 596 bool SkPath::isRect(bool* isClosed, Direction* direction) const { | 596 bool SkPath::isRect(bool* isClosed, Direction* direction) const { | 
| 597     SkDEBUGCODE(this->validate();) | 597     SkDEBUGCODE(this->validate();) | 
| 598     int currVerb = 0; | 598     int currVerb = 0; | 
| 599     const SkPoint* pts = fPathRef->points(); | 599     const SkPoint* pts = fPathRef->points(); | 
| 600     return isRectContour(false, &currVerb, &pts, isClosed, direction); | 600     return isRectContour(false, &currVerb, &pts, isClosed, direction); | 
| 601 } | 601 } | 
| 602 | 602 | 
| 603 bool SkPath::isNestedRects(SkRect rects[2]) const { | 603 bool SkPath::isNestedRects(SkRect rects[2], Direction dirs[2]) const { | 
| 604     SkDEBUGCODE(this->validate();) | 604     SkDEBUGCODE(this->validate();) | 
| 605     int currVerb = 0; | 605     int currVerb = 0; | 
| 606     const SkPoint* pts = fPathRef->points(); | 606     const SkPoint* pts = fPathRef->points(); | 
| 607     const SkPoint* first = pts; | 607     const SkPoint* first = pts; | 
| 608     if (!isRectContour(true, &currVerb, &pts, NULL, NULL)) { | 608     Direction testDirs[2]; | 
|  | 609     if (!isRectContour(true, &currVerb, &pts, NULL, &testDirs[0])) { | 
| 609         return false; | 610         return false; | 
| 610     } | 611     } | 
| 611     const SkPoint* last = pts; | 612     const SkPoint* last = pts; | 
| 612     SkRect testRects[2]; | 613     SkRect testRects[2]; | 
| 613     if (isRectContour(false, &currVerb, &pts, NULL, NULL)) { | 614     if (isRectContour(false, &currVerb, &pts, NULL, &testDirs[1])) { | 
| 614         testRects[0].set(first, SkToS32(last - first)); | 615         testRects[0].set(first, SkToS32(last - first)); | 
| 615         testRects[1].set(last, SkToS32(pts - last)); | 616         testRects[1].set(last, SkToS32(pts - last)); | 
| 616         if (testRects[0].contains(testRects[1])) { | 617         if (testRects[0].contains(testRects[1])) { | 
| 617             if (rects) { | 618             if (rects) { | 
| 618                 rects[0] = testRects[0]; | 619                 rects[0] = testRects[0]; | 
| 619                 rects[1] = testRects[1]; | 620                 rects[1] = testRects[1]; | 
| 620             } | 621             } | 
|  | 622             if (dirs) { | 
|  | 623                 dirs[0] = testDirs[0]; | 
|  | 624                 dirs[1] = testDirs[1]; | 
|  | 625             } | 
| 621             return true; | 626             return true; | 
| 622         } | 627         } | 
| 623         if (testRects[1].contains(testRects[0])) { | 628         if (testRects[1].contains(testRects[0])) { | 
| 624             if (rects) { | 629             if (rects) { | 
| 625                 rects[0] = testRects[1]; | 630                 rects[0] = testRects[1]; | 
| 626                 rects[1] = testRects[0]; | 631                 rects[1] = testRects[0]; | 
| 627             } | 632             } | 
|  | 633             if (dirs) { | 
|  | 634                 dirs[0] = testDirs[1]; | 
|  | 635                 dirs[1] = testDirs[0]; | 
|  | 636             } | 
| 628             return true; | 637             return true; | 
| 629         } | 638         } | 
| 630     } | 639     } | 
| 631     return false; | 640     return false; | 
| 632 } | 641 } | 
| 633 | 642 | 
| 634 int SkPath::countPoints() const { | 643 int SkPath::countPoints() const { | 
| 635     return fPathRef->countPoints(); | 644     return fPathRef->countPoints(); | 
| 636 } | 645 } | 
| 637 | 646 | 
| (...skipping 2322 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 2960     switch (this->getFillType()) { | 2969     switch (this->getFillType()) { | 
| 2961         case SkPath::kEvenOdd_FillType: | 2970         case SkPath::kEvenOdd_FillType: | 
| 2962         case SkPath::kInverseEvenOdd_FillType: | 2971         case SkPath::kInverseEvenOdd_FillType: | 
| 2963             w &= 1; | 2972             w &= 1; | 
| 2964             break; | 2973             break; | 
| 2965         default: | 2974         default: | 
| 2966             break; | 2975             break; | 
| 2967     } | 2976     } | 
| 2968     return SkToBool(w); | 2977     return SkToBool(w); | 
| 2969 } | 2978 } | 
| OLD | NEW | 
|---|