Move gaussianBlur functionality to src\effects

https://codereview.chromium.org/18771004/



git-svn-id: http://skia.googlecode.com/svn/trunk@10080 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/effects/SkGpuBlurUtils.h b/src/effects/SkGpuBlurUtils.h
new file mode 100644
index 0000000..d0e2e41
--- /dev/null
+++ b/src/effects/SkGpuBlurUtils.h
@@ -0,0 +1,43 @@
+/*
+ * Copyright 2013 Google Inc.
+ *
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#ifndef SkGpuBlurUtils_DEFINED
+#define SkGpuBlurUtils_DEFINED
+
+#if SK_SUPPORT_GPU
+class GrTexture;
+class GrContext;
+#endif
+
+struct SkRect;
+
+namespace SkGpuBlurUtils {
+
+#if SK_SUPPORT_GPU
+  /**
+    * Applies a 2D Gaussian blur to a given texture.
+    * @param context         The GPU context
+    * @param srcTexture      The source texture to be blurred.
+    * @param canClobberSrc   If true, srcTexture may be overwritten, and
+    *                        may be returned as the result.
+    * @param rect            The destination rectangle.
+    * @param sigmaX          The blur's standard deviation in X.
+    * @param sigmaY          The blur's standard deviation in Y.
+    * @return the blurred texture, which may be srcTexture reffed, or a
+    * new texture.  It is the caller's responsibility to unref this texture.
+    */
+    GrTexture* GaussianBlur(GrContext* context,
+                            GrTexture* srcTexture,
+                            bool canClobberSrc,
+                            const SkRect& rect,
+                            float sigmaX, 
+                            float sigmaY);
+#endif
+
+};
+
+#endif
\ No newline at end of file