aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/effects/SkColorFilters.cpp
diff options
context:
space:
mode:
authorGravatar reed <reed@google.com>2015-03-03 06:41:45 -0800
committerGravatar Commit bot <commit-bot@chromium.org>2015-03-03 06:41:45 -0800
commitcff10b21a9934afc540d121b493b204335829589 (patch)
treef696624f21c4a45a052250cb9a18460e8aea0c0d /src/effects/SkColorFilters.cpp
parent3ebb16df938099dcbb6645ca08365e6d1dde8ddd (diff)
change colorfilter to return an array of frag processors
Diffstat (limited to 'src/effects/SkColorFilters.cpp')
-rw-r--r--src/effects/SkColorFilters.cpp13
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