Move SkGpuDevice::internalDrawPath to GrBlurUtils::drawPathWithMaskFilter
This CL is ugly but it:
removes the stored SkGpuDevice back pointer from GrTextContext (at the cost of passing more parameters)
moves SkGpuDevice::internalDrawPath to GrDrawContext::drawPathFull
Unfortunately, the GrTextContext-derived classes still need the SkGpuDevice for filterTextFlags calls but I will try removing that in a separate CL.
Review URL: https://codereview.chromium.org/1157773003
diff --git a/src/gpu/GrBlurUtils.h b/src/gpu/GrBlurUtils.h
new file mode 100644
index 0000000..0fc7726
--- /dev/null
+++ b/src/gpu/GrBlurUtils.h
@@ -0,0 +1,40 @@
+/*
+ * Copyright 2015 Google Inc.
+ *
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#ifndef GrBlurUtils_DEFINED
+#define GrBlurUtils_DEFINED
+
+class GrClip;
+class GrContext;
+class GrDrawContext;
+class GrRenderTarget;
+struct SkIRect;
+class SkMatrix;
+class SkPaint;
+class SkPath;
+
+
+/**
+ * Blur utilities.
+ */
+namespace GrBlurUtils {
+ /**
+ * Draw a path handling the mask filter if present.
+ */
+ void drawPathWithMaskFilter(GrContext* context,
+ GrDrawContext* drawContext,
+ GrRenderTarget* rt,
+ const GrClip& clip,
+ const SkPath& origSrcPath,
+ const SkPaint& paint,
+ const SkMatrix& origViewMatrix,
+ const SkMatrix* prePathMatrix,
+ const SkIRect& clipBounds,
+ bool pathIsMutable);
+};
+
+#endif