Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(65)

Unified Diff: tests/EmptyPathTest.cpp

Issue 1314833004: Reland of more zero-length changes for svg compatibility (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/core/SkStroke.cpp ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tests/EmptyPathTest.cpp
diff --git a/tests/EmptyPathTest.cpp b/tests/EmptyPathTest.cpp
index c4f011a0dc65ae85b7c5421223d70ba8f2a909b6..060ef8d23724b5433295c10869008f832850c278 100644
--- a/tests/EmptyPathTest.cpp
+++ b/tests/EmptyPathTest.cpp
@@ -54,7 +54,13 @@
}
}
-static void iter_paint(skiatest::Reporter* reporter, const SkPath& path, bool shouldDraw) {
+enum DrawCaps {
+ kDontDrawCaps,
+ kDrawCaps
+};
+
+static void iter_paint(skiatest::Reporter* reporter, const SkPath& path, bool shouldDraw,
+ DrawCaps drawCaps) {
static const SkPaint::Cap gCaps[] = {
SkPaint::kButt_Cap,
SkPaint::kRound_Cap,
@@ -73,6 +79,11 @@
for (size_t cap = 0; cap < SK_ARRAY_COUNT(gCaps); ++cap) {
for (size_t join = 0; join < SK_ARRAY_COUNT(gJoins); ++join) {
for (size_t style = 0; style < SK_ARRAY_COUNT(gStyles); ++style) {
+ if (drawCaps && SkPaint::kButt_Cap != gCaps[cap]
+ && SkPaint::kFill_Style != gStyles[style]) {
+ continue;
+ }
+
SkPaint paint;
paint.setStrokeWidth(SkIntToScalar(10));
@@ -127,10 +138,14 @@
if (doClose) {
path.close();
}
+ /* zero length segments and close following moves draw round and square caps */
+ bool allowCaps = make_L == gMakeProc[i] || make_Q == gMakeProc[i]
+ || make_C == gMakeProc[i] || make_MZM == gMakeProc[i];
+ allowCaps |= SkToBool(doClose);
for (size_t fill = 0; fill < SK_ARRAY_COUNT(gFills); ++fill) {
path.setFillType(gFills[fill]);
bool shouldDraw = path.isInverseFillType();
- iter_paint(reporter, path, shouldDraw);
+ iter_paint(reporter, path, shouldDraw, allowCaps ? kDrawCaps : kDontDrawCaps);
}
}
}
« no previous file with comments | « src/core/SkStroke.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698