Index: include/core/SkDrawLooper.h |
diff --git a/include/core/SkDrawLooper.h b/include/core/SkDrawLooper.h |
index cc42952d07acc289ce21ee2cbd75de5a0a74c4e9..0e7643c40d450786b7763cfa0bd1ba144b3bb052 100644 |
--- a/include/core/SkDrawLooper.h |
+++ b/include/core/SkDrawLooper.h |
@@ -11,6 +11,8 @@ |
#define SkDrawLooper_DEFINED |
#include "SkFlattenable.h" |
+#include "SkPoint.h" |
+#include "SkColor.h" |
class SkCanvas; |
class SkPaint; |
@@ -88,6 +90,22 @@ public: |
virtual void computeFastBounds(const SkPaint& paint, |
const SkRect& src, SkRect* dst) const; |
+ struct BlurShadowRec { |
+ SkScalar fRadius; |
djsollen
2014/04/28 13:55:40
As we discussed offline, I think this should retur
|
+ SkVector fOffset; |
+ SkColor fColor; |
+ }; |
+ /** |
+ * If this looper can be interpreted as having two layers, such that |
+ * 1. The first layer (bottom most) just has a color, blur, and translate |
+ * 2. The second layer has no modifications to either paint or canvas |
+ * 3. No other layers. |
+ * then return true, and if not null, fill out the BlurShadowRec). |
+ * |
+ * If any of the above are not met, return false and ignore the BlurShadowRec parameter. |
+ */ |
+ virtual bool asABlurShadow(BlurShadowRec*) const; |
scroggo
2014/04/28 13:28:06
Does this need to be on the base class? It seems v
djsollen
2014/04/28 13:55:40
It does need to be on the base class since it allo
|
+ |
SK_TO_STRING_PUREVIRT() |
SK_DEFINE_FLATTENABLE_TYPE(SkDrawLooper) |