aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/batches/GrNonAAStrokeRectBatch.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gpu/batches/GrNonAAStrokeRectBatch.cpp')
-rw-r--r--src/gpu/batches/GrNonAAStrokeRectBatch.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/gpu/batches/GrNonAAStrokeRectBatch.cpp b/src/gpu/batches/GrNonAAStrokeRectBatch.cpp
index 2f80884b61..d036b90c27 100644
--- a/src/gpu/batches/GrNonAAStrokeRectBatch.cpp
+++ b/src/gpu/batches/GrNonAAStrokeRectBatch.cpp
@@ -70,6 +70,9 @@ public:
geometry.fRect = rect;
geometry.fStrokeWidth = strokeWidth;
geometry.fColor = color;
+
+ // Sort the rect for hairlines
+ geometry.fRect.sort();
}
void appendAndUpdateBounds(GrColor color, const SkMatrix& viewMatrix, const SkRect& rect,
@@ -102,7 +105,7 @@ private:
}
}
- void onPrepareDraws(Target* target) override {
+ void onPrepareDraws(Target* target) const override {
SkAutoTUnref<const GrGeometryProcessor> gp;
{
using namespace GrDefaultGeoProcFactory;
@@ -121,7 +124,7 @@ private:
SkASSERT(vertexStride == sizeof(GrDefaultGeoProcFactory::PositionAttr));
- Geometry& args = fGeoData[0];
+ const Geometry& args = fGeoData[0];
int vertexCount = kVertsPerHairlineRect;
if (args.fStrokeWidth > 0) {
@@ -142,10 +145,8 @@ private:
SkPoint* vertex = reinterpret_cast<SkPoint*>(verts);
GrPrimitiveType primType;
-
if (args.fStrokeWidth > 0) {;
primType = kTriangleStrip_GrPrimitiveType;
- args.fRect.sort();
init_stroke_rect_strip(vertex, args.fRect, args.fStrokeWidth);
} else {
// hairline