Index: include/effects/SkPaintImageFilter.h |
diff --git a/include/effects/SkPaintImageFilter.h b/include/effects/SkPaintImageFilter.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..eee3630f31020e5ec977599f322d2928ab00fa9c |
--- /dev/null |
+++ b/include/effects/SkPaintImageFilter.h |
@@ -0,0 +1,45 @@ |
+/* |
+ * Copyright 2016 Google Inc. |
+ * |
+ * Use of this source code is governed by a BSD-style license that can be |
+ * found in the LICENSE file. |
+ */ |
+ |
+#ifndef SkPaintImageFilter_DEFINED |
+#define SkPaintImageFilter_DEFINED |
+ |
+#include "SkImageFilter.h" |
+#include "SkPaint.h" |
+ |
+class SK_API SkPaintImageFilter : public SkImageFilter { |
+public: |
+ /** Create a new image filter which fills the given rectangle using the |
+ * given paint. If no rectangle is specified, an output is produced with |
+ * the same bounds as the input primitive (even though the input |
+ * primitive's pixels are not used for processing). |
+ * @param paint Paint to use when filling the rect. |
+ * @param rect Rectangle of output pixels. If NULL or a given crop edge is |
+ * not specified, the source primitive's bounds are used |
+ * instead. |
+ */ |
+ static SkImageFilter* Create(const SkPaint& paint, const CropRect* rect = NULL); |
+ |
+ bool canComputeFastBounds() const override; |
+ |
+ SK_TO_STRING_OVERRIDE() |
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkPaintImageFilter) |
+ |
+protected: |
+ void flatten(SkWriteBuffer&) const override; |
+ bool onFilterImage(Proxy*, const SkBitmap& src, const Context&, SkBitmap* result, |
+ SkIPoint* loc) const override; |
+ |
+private: |
+ SkPaintImageFilter(const SkPaint& paint, const CropRect* rect); |
+ |
+ SkPaint fPaint; |
+ |
+ typedef SkImageFilter INHERITED; |
+}; |
+ |
+#endif |