Chromium Code Reviews| 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) |