aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/effects
diff options
context:
space:
mode:
Diffstat (limited to 'src/effects')
-rw-r--r--src/effects/SkColorFilters.cpp17
1 files changed, 3 insertions, 14 deletions
diff --git a/src/effects/SkColorFilters.cpp b/src/effects/SkColorFilters.cpp
index d4723ec18f..8bcd0ebc5d 100644
--- a/src/effects/SkColorFilters.cpp
+++ b/src/effects/SkColorFilters.cpp
@@ -27,18 +27,7 @@ bool SkModeColorFilter::asColorMode(SkColor* color, SkXfermode::Mode* mode) cons
}
uint32_t SkModeColorFilter::getFlags() const {
- uint32_t flags = 0;
- switch (fMode) {
- case SkXfermode::kDst_Mode: //!< [Da, Dc]
- case SkXfermode::kSrcATop_Mode: //!< [Da, Sc * Da + (1 - Sa) * Dc]
- flags |= kAlphaUnchanged_Flag;
- default:
- break;
- }
- if (fProc16) {
- flags |= kHasFilter16_Flag;
- }
- return flags;
+ return fProc16 ? (kAlphaUnchanged_Flag | kHasFilter16_Flag) : 0;
}
void SkModeColorFilter::filterSpan(const SkPMColor shader[], int count, SkPMColor result[]) const {
@@ -401,7 +390,7 @@ public:
uint32_t getFlags() const SK_OVERRIDE {
if (SkGetPackedA32(this->getPMColor()) == 0xFF) {
- return kHasFilter16_Flag;
+ return kAlphaUnchanged_Flag | kHasFilter16_Flag;
} else {
return 0;
}
@@ -431,7 +420,7 @@ public:
uint32_t getFlags() const SK_OVERRIDE {
if (SkGetPackedA32(this->getPMColor()) == 0xFF) {
- return kHasFilter16_Flag;
+ return kAlphaUnchanged_Flag | kHasFilter16_Flag;
} else {
return 0;
}