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);
}
}