Add a GrPathRange class
Adds a GrPathRange object that represents a range of paths on the gpu.
Updates GrDrawTarget::drawPaths and supporting code to use GrPathRange
instead of an array of GrPath objects.
Change-Id: I67845f3893cd4d955db947d699aa3733cbb081e0
BUG=skia:
R=bsalomon@google.com, jvanverth@google.com, kkinnunen@nvidia.com
Author: cdalton@nvidia.com
Review URL: https://codereview.chromium.org/400713003
diff --git a/src/gpu/GrPath.h b/src/gpu/GrPath.h
index d324e6a..2c0040c 100644
--- a/src/gpu/GrPath.h
+++ b/src/gpu/GrPath.h
@@ -18,6 +18,9 @@
public:
SK_DECLARE_INST_COUNT(GrPath);
+ /**
+ * Initialize to a path with a fixed stroke. Stroke must not be hairline.
+ */
GrPath(GrGpu* gpu, bool isWrapped, const SkPath& skPath, const SkStrokeRec& stroke)
: INHERITED(gpu, isWrapped),
fSkPath(skPath),
@@ -26,6 +29,7 @@
}
static GrResourceKey ComputeKey(const SkPath& path, const SkStrokeRec& stroke);
+ static uint64_t ComputeStrokeKey(const SkStrokeRec&);
bool isEqualTo(const SkPath& path, const SkStrokeRec& stroke) {
return fSkPath == path && fStroke == stroke;