diff options
author | 2015-01-16 06:29:47 -0800 | |
---|---|---|
committer | 2015-01-16 06:29:47 -0800 | |
commit | 54f0e9d784122cfd3f5968e0fea971d5b5a4805a (patch) | |
tree | 336f4634c1a1ed19c96390053c3220f2857f9035 /src/core | |
parent | 678c1b019ac98bc7d94841132c8105a77490bc64 (diff) |
Add Xfer Processor for GrCustomXfermodes
BUG=skia:
Review URL: https://codereview.chromium.org/852203003
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/SkXfermode.cpp | 11 | ||||
-rw-r--r-- | src/core/SkXfermode_proccoeff.h | 2 |
2 files changed, 13 insertions, 0 deletions
diff --git a/src/core/SkXfermode.cpp b/src/core/SkXfermode.cpp index 9d727f07f1..37dbd0d1e2 100644 --- a/src/core/SkXfermode.cpp +++ b/src/core/SkXfermode.cpp @@ -932,6 +932,17 @@ bool SkProcCoeffXfermode::asFragmentProcessor(GrFragmentProcessor** fp, } return false; } + +bool SkProcCoeffXfermode::asXPFactory(GrXPFactory** xp) const { + if (GrCustomXfermode::IsSupportedMode(fMode)) { + if (xp) { + *xp = GrCustomXfermode::CreateXPFactory(fMode); + SkASSERT(*xp); + } + return true; + } + return false; +} #endif const char* SkXfermode::ModeName(Mode mode) { diff --git a/src/core/SkXfermode_proccoeff.h b/src/core/SkXfermode_proccoeff.h index 504e64db68..88b4d34e63 100644 --- a/src/core/SkXfermode_proccoeff.h +++ b/src/core/SkXfermode_proccoeff.h @@ -37,6 +37,8 @@ public: #if SK_SUPPORT_GPU virtual bool asFragmentProcessor(GrFragmentProcessor**, GrTexture* background) const SK_OVERRIDE; + + virtual bool asXPFactory(GrXPFactory**) const SK_OVERRIDE; #endif SK_TO_STRING_OVERRIDE() |