diff options
author | 2016-10-28 15:42:34 -0400 | |
---|---|---|
committer | 2016-10-28 20:06:17 +0000 | |
commit | 7d954ad797176afedb9262fdea4507d0fc60eb9d (patch) | |
tree | 27c6dc324f83877371d91a58beb21e4b00176a94 /include/effects/SkMergeImageFilter.h | |
parent | 99e3f7d6fcb7b3b4340286455733a7de9eb4ef81 (diff) |
remove xfermode from public api
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4020
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot
Change-Id: I19cd056f2af778f10e8c6c2b7b2735593b43dbac
Reviewed-on: https://skia-review.googlesource.com/4020
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
Diffstat (limited to 'include/effects/SkMergeImageFilter.h')
-rw-r--r-- | include/effects/SkMergeImageFilter.h | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/include/effects/SkMergeImageFilter.h b/include/effects/SkMergeImageFilter.h index 5dfa578df8..324501689c 100644 --- a/include/effects/SkMergeImageFilter.h +++ b/include/effects/SkMergeImageFilter.h @@ -17,12 +17,24 @@ public: ~SkMergeImageFilter() override; static sk_sp<SkImageFilter> Make(sk_sp<SkImageFilter> first, sk_sp<SkImageFilter> second, - SkXfermode::Mode mode = SkXfermode::kSrcOver_Mode, + SkBlendMode, const CropRect* cropRect = nullptr); + static sk_sp<SkImageFilter> MakeN(sk_sp<SkImageFilter>[], int count, const SkBlendMode[], const CropRect* cropRect = nullptr); + +#ifdef SK_SUPPORT_LEGACY_XFERMODE_PARAM + static sk_sp<SkImageFilter> Make(sk_sp<SkImageFilter> first, sk_sp<SkImageFilter> second, + SkXfermode::Mode mode = SkXfermode::kSrcOver_Mode, + const CropRect* cropRect = nullptr) { + return Make(first, second, (SkBlendMode)mode, cropRect); + } static sk_sp<SkImageFilter> Make(sk_sp<SkImageFilter> filters[], int count, const SkXfermode::Mode modes[] = nullptr, - const CropRect* cropRect = nullptr); + const CropRect* cropRect = nullptr) { + static_assert(sizeof(SkXfermode::Mode) == sizeof(SkBlendMode), "size mismatch"); + return MakeN(filters, count, (const SkBlendMode*)modes, cropRect); + } +#endif SK_TO_STRING_OVERRIDE() SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkMergeImageFilter) @@ -34,7 +46,7 @@ protected: bool onCanHandleComplexCTM() const override { return true; } private: - SkMergeImageFilter(sk_sp<SkImageFilter> filters[], int count, const SkXfermode::Mode modes[], + SkMergeImageFilter(sk_sp<SkImageFilter> filters[], int count, const SkBlendMode modes[], const CropRect* cropRect); uint8_t* fModes; // SkXfermode::Mode @@ -44,7 +56,7 @@ private: intptr_t fStorage[16]; void initAllocModes(); - void initModes(const SkXfermode::Mode []); + void initModes(const SkBlendMode[]); typedef SkImageFilter INHERITED; }; |