diff options
author | 2015-03-03 06:41:45 -0800 | |
---|---|---|
committer | 2015-03-03 06:41:45 -0800 | |
commit | cff10b21a9934afc540d121b493b204335829589 (patch) | |
tree | f696624f21c4a45a052250cb9a18460e8aea0c0d /src/effects/SkColorFilters.cpp | |
parent | 3ebb16df938099dcbb6645ca08365e6d1dde8ddd (diff) |
change colorfilter to return an array of frag processors
BUG=skia:
Review URL: https://codereview.chromium.org/973593002
Diffstat (limited to 'src/effects/SkColorFilters.cpp')
-rw-r--r-- | src/effects/SkColorFilters.cpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/effects/SkColorFilters.cpp b/src/effects/SkColorFilters.cpp index 10e6958570..6f7d6886f8 100644 --- a/src/effects/SkColorFilters.cpp +++ b/src/effects/SkColorFilters.cpp @@ -366,11 +366,18 @@ GrFragmentProcessor* ModeColorFilterEffect::TestCreate(SkRandom* rand, return ModeColorFilterEffect::Create(color, mode); } -GrFragmentProcessor* SkModeColorFilter::asFragmentProcessor(GrContext*) const { +bool SkModeColorFilter::asFragmentProcessors(GrContext*, + SkTDArray<GrFragmentProcessor*>* array) const { if (SkXfermode::kDst_Mode != fMode) { - return ModeColorFilterEffect::Create(SkColor2GrColor(fColor), fMode); + GrFragmentProcessor* frag = ModeColorFilterEffect::Create(SkColor2GrColor(fColor), fMode); + if (frag) { + if (array) { + *array->append() = frag; + } + return true; + } } - return NULL; + return false; } #endif |