add alternative to isRect named asRect

This defines yunchao's proposed interface in terms of
an existing implementation.

BUG=skia:
R=reed@google.com, yunchao.he@intel.com

Author: caryclark@google.com

Review URL: https://codereview.chromium.org/140953003

git-svn-id: http://skia.googlecode.com/svn/trunk@13183 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/tests/PathTest.cpp b/tests/PathTest.cpp
index 1af5bd3..e872b0c 100644
--- a/tests/PathTest.cpp
+++ b/tests/PathTest.cpp
@@ -1443,6 +1443,7 @@
     REPORTER_ASSERT(reporter, path.isRect(NULL, NULL));
     REPORTER_ASSERT(reporter, path.isRect(&isClosed, NULL));
     REPORTER_ASSERT(reporter, isClosed);
+    REPORTER_ASSERT(reporter, SkPath::kFill_PathAsRect == path.asRect(NULL));
 }
 
 // Simple isRect test is inline TestPath, below.
@@ -1560,6 +1561,15 @@
             REPORTER_ASSERT(reporter, path.isRect(&isClosed, &direction));
             REPORTER_ASSERT(reporter, isClosed == tests[testIndex].fClose);
             REPORTER_ASSERT(reporter, direction == cheapDirection);
+            direction = (SkPath::Direction) -1;
+            if (tests[testIndex].fClose) {
+                REPORTER_ASSERT(reporter, SkPath::kFill_PathAsRect == path.asRect());
+                REPORTER_ASSERT(reporter, SkPath::kFill_PathAsRect == path.asRect(&direction));
+            } else {
+                REPORTER_ASSERT(reporter, SkPath::kStroke_PathAsRect == path.asRect());
+                REPORTER_ASSERT(reporter, SkPath::kStroke_PathAsRect == path.asRect(&direction));
+            }
+            REPORTER_ASSERT(reporter, direction == cheapDirection);
         } else {
             SkRect computed;
             computed.set(123, 456, 789, 1011);
@@ -1572,6 +1582,9 @@
             REPORTER_ASSERT(reporter, !path.isRect(&isClosed, &direction));
             REPORTER_ASSERT(reporter, isClosed == (bool) -1);
             REPORTER_ASSERT(reporter, direction == (SkPath::Direction) -1);
+            REPORTER_ASSERT(reporter, SkPath::kNone_PathAsRect == path.asRect());
+            REPORTER_ASSERT(reporter, SkPath::kNone_PathAsRect == path.asRect(&direction));
+            REPORTER_ASSERT(reporter, direction == (SkPath::Direction) -1);
         }
     }