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

Unified Diff: src/gpu/batches/GrRectBatchFactory.cpp

Issue 1356223003: Revert of Fix for degenerate stroke rect (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/gpu/batches/GrAAStrokeRectBatch.cpp ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/gpu/batches/GrRectBatchFactory.cpp
diff --git a/src/gpu/batches/GrRectBatchFactory.cpp b/src/gpu/batches/GrRectBatchFactory.cpp
index f34a8c058a2c307783dc2c3eb522ea924b1d634c..eed18ad419637e788065495cf2729ae748fb6fa1 100644
--- a/src/gpu/batches/GrRectBatchFactory.cpp
+++ b/src/gpu/batches/GrRectBatchFactory.cpp
@@ -33,6 +33,13 @@
const SkScalar rx = SkScalarMul(dx, SK_ScalarHalf);
const SkScalar ry = SkScalarMul(dy, SK_ScalarHalf);
+ SkScalar spare;
+ {
+ SkScalar w = devRect.width() - dx;
+ SkScalar h = devRect.height() - dy;
+ spare = SkTMin(w, h);
+ }
+
SkRect devOutside(devRect);
devOutside.outset(rx, ry);
@@ -44,24 +51,12 @@
miterStroke = false;
}
+ if (spare <= 0 && miterStroke) {
+ return CreateAAFill(color, viewMatrix, devOutside, devOutside);
+ }
+
SkRect devInside(devRect);
devInside.inset(rx, ry);
-
- // If we have a degenerate stroking rect(ie the stroke is larger than inner rect) then we
- // make a degenerate inside rect to avoid double hitting. We will also jam all of the points
- // together when we render these rects.
- SkScalar spare;
- {
- SkScalar w = devRect.width() - dx;
- SkScalar h = devRect.height() - dy;
- spare = SkTMin(w, h);
- }
-
- bool degenerate = spare <= 0;
- if (degenerate) {
- devInside.fLeft = devInside.fRight = devRect.centerX();
- devInside.fTop = devInside.fBottom = devRect.centerY();
- }
SkRect devOutsideAssist(devRect);
@@ -74,7 +69,7 @@
}
return GrAAStrokeRectBatch::Create(color, viewMatrix, devOutside, devOutsideAssist, devInside,
- miterStroke, degenerate);
+ miterStroke);
}
GrDrawBatch* CreateAAFillNestedRects(GrColor color,
@@ -87,8 +82,11 @@
viewMatrix.mapRect(&devOutside, rects[0]);
viewMatrix.mapRect(&devInside, rects[1]);
- return GrAAStrokeRectBatch::Create(color, viewMatrix, devOutside, devOutside, devInside, true,
- devInside.isEmpty());
+ if (devInside.isEmpty()) {
+ return CreateAAFill(color, viewMatrix, devOutside, devOutside);
+ }
+
+ return GrAAStrokeRectBatch::Create(color, viewMatrix, devOutside, devOutside, devInside, true);
}
};
« no previous file with comments | « src/gpu/batches/GrAAStrokeRectBatch.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698