aboutsummaryrefslogtreecommitdiffhomepage
path: root/include/effects/SkMergeImageFilter.h
diff options
context:
space:
mode:
authorGravatar Mike Reed <reed@google.com>2016-10-28 15:42:34 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2016-10-28 20:06:17 +0000
commit7d954ad797176afedb9262fdea4507d0fc60eb9d (patch)
tree27c6dc324f83877371d91a58beb21e4b00176a94 /include/effects/SkMergeImageFilter.h
parent99e3f7d6fcb7b3b4340286455733a7de9eb4ef81 (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.h20
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;
};