diff options
author | Mike Reed <reed@google.com> | 2018-01-24 16:34:02 -0500 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2018-01-25 01:54:21 +0000 |
commit | 20dc672821d743a0c32f07dc6ec994f9deb478d7 (patch) | |
tree | e74946ccaf3a94b1e2bccb55528241b6d5481418 /include/core/SkMaskFilter.h | |
parent | 868a68061ecf608ab7c2b353d5fe29325c3fddd7 (diff) |
compose and combine maskfilters
Bug: skia:
Change-Id: Id470124021d00ee25cf4ae392a4ee345ced84110
Reviewed-on: https://skia-review.googlesource.com/97760
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
Diffstat (limited to 'include/core/SkMaskFilter.h')
-rw-r--r-- | include/core/SkMaskFilter.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/include/core/SkMaskFilter.h b/include/core/SkMaskFilter.h index 55bf8bf4d5..e8a4e38863 100644 --- a/include/core/SkMaskFilter.h +++ b/include/core/SkMaskFilter.h @@ -8,6 +8,7 @@ #ifndef SkMaskFilter_DEFINED #define SkMaskFilter_DEFINED +#include "SkBlendMode.h" #include "SkFlattenable.h" class SkString; @@ -19,8 +20,24 @@ class SkString; */ class SK_API SkMaskFilter : public SkFlattenable { public: + /** + * Construct a maskfilter whose effect is to first apply the inner filter and then apply + * the outer filter to the result of the inner's. Returns nullptr on failure. + */ + static sk_sp<SkMaskFilter> MakeCompose(sk_sp<SkMaskFilter> outer, sk_sp<SkMaskFilter> inner); + + /** + * Compose two maskfilters together using a blendmode. Returns nullptr on failure. + */ + static sk_sp<SkMaskFilter> MakeCombine(sk_sp<SkMaskFilter> dst, sk_sp<SkMaskFilter> src, + SkBlendMode); + SK_TO_STRING_PUREVIRT() SK_DEFINE_FLATTENABLE_TYPE(SkMaskFilter) + +private: + static void InitializeFlattenables(); + friend class SkFlattenable; }; #endif |