| Index: src/core/SkPath.cpp
|
| diff --git a/src/core/SkPath.cpp b/src/core/SkPath.cpp
|
| index f8aa8521dadb1e13cc6e785d7fa7b88acf0bb4bc..27b7283263a059bf4d018bd8f2abb6b0358d6510 100644
|
| --- a/src/core/SkPath.cpp
|
| +++ b/src/core/SkPath.cpp
|
| @@ -534,18 +534,18 @@ SkPath::PathAsRect SkPath::asRect(Direction* direction) const {
|
| return (PathAsRect) (isRect(&isClosed, direction) + isClosed);
|
| }
|
|
|
| -bool SkPath::isRect(SkRect* rect) const {
|
| +bool SkPath::isRect(SkRect* rect, bool* isClosed, Direction* direction) const {
|
| SkDEBUGCODE(this->validate();)
|
| int currVerb = 0;
|
| const SkPoint* pts = fPathRef->points();
|
| const SkPoint* first = pts;
|
| - bool isClosed;
|
| - if (!this->isRectContour(false, &currVerb, &pts, &isClosed, NULL)) {
|
| + if (!this->isRectContour(false, &currVerb, &pts, isClosed, direction)) {
|
| return false;
|
| }
|
| if (rect) {
|
| - if (isClosed) {
|
| - rect->set(first, SkToS32(pts - first));
|
| + int32_t num = SkToS32(pts - first);
|
| + if (num) {
|
| + rect->set(first, num);
|
| } else {
|
| // 'pts' isn't updated for open rects
|
| *rect = this->getBounds();
|
| @@ -554,13 +554,6 @@ bool SkPath::isRect(SkRect* rect) const {
|
| return true;
|
| }
|
|
|
| -bool SkPath::isRect(bool* isClosed, Direction* direction) const {
|
| - SkDEBUGCODE(this->validate();)
|
| - int currVerb = 0;
|
| - const SkPoint* pts = fPathRef->points();
|
| - return isRectContour(false, &currVerb, &pts, isClosed, direction);
|
| -}
|
| -
|
| bool SkPath::isNestedRects(SkRect rects[2], Direction dirs[2]) const {
|
| SkDEBUGCODE(this->validate();)
|
| int currVerb = 0;
|
|
|