aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkModeColorFilter.cpp
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 /src/core/SkModeColorFilter.cpp
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 'src/core/SkModeColorFilter.cpp')
-rw-r--r--src/core/SkModeColorFilter.cpp56
1 files changed, 28 insertions, 28 deletions
diff --git a/src/core/SkModeColorFilter.cpp b/src/core/SkModeColorFilter.cpp
index f000e7c55e..acfd328275 100644
--- a/src/core/SkModeColorFilter.cpp
+++ b/src/core/SkModeColorFilter.cpp
@@ -29,12 +29,12 @@ void SkModeColorFilter::toString(SkString* str) const {
}
#endif
-bool SkModeColorFilter::asColorMode(SkColor* color, SkXfermode::Mode* mode) const {
+bool SkModeColorFilter::asColorMode(SkColor* color, SK_XFERMODE_MODE_PARAM* mode) const {
if (color) {
*color = fColor;
}
if (mode) {
- *mode = fMode;
+ *mode = (SK_XFERMODE_MODE_PARAM)fMode;
}
return true;
}
@@ -42,8 +42,8 @@ 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]
+ case SkBlendMode::kDst: //!< [Da, Dc]
+ case SkBlendMode::kSrcATop: //!< [Da, Sc * Da + (1 - Sa) * Dc]
flags |= kAlphaUnchanged_Flag;
default:
break;
@@ -61,7 +61,7 @@ void SkModeColorFilter::filterSpan(const SkPMColor shader[], int count, SkPMColo
}
void SkModeColorFilter::filterSpan4f(const SkPM4f shader[], int count, SkPM4f result[]) const {
- SkXfermodeProc4f proc = SkXfermode::GetProc4f(fMode);
+ SkXfermodeProc4f proc = SkXfermode::GetProc4f((SkXfermode::Mode)fMode);
for (int i = 0; i < count; i++) {
result[i] = proc(fPM4f, shader[i]);
@@ -70,18 +70,18 @@ void SkModeColorFilter::filterSpan4f(const SkPM4f shader[], int count, SkPM4f re
void SkModeColorFilter::flatten(SkWriteBuffer& buffer) const {
buffer.writeColor(fColor);
- buffer.writeUInt(fMode);
+ buffer.writeUInt((int)fMode);
}
void SkModeColorFilter::updateCache() {
fPMColor = SkPreMultiplyColor(fColor);
- fProc = SkXfermode::GetProc(fMode);
+ fProc = SkXfermode::GetProc((SkXfermode::Mode)fMode);
fPM4f = SkColor4f::FromColor(fColor).premul();
}
sk_sp<SkFlattenable> SkModeColorFilter::CreateProc(SkReadBuffer& buffer) {
SkColor color = buffer.readColor();
- SkXfermode::Mode mode = (SkXfermode::Mode)buffer.readUInt();
+ SkBlendMode mode = (SkBlendMode)buffer.readUInt();
return SkColorFilter::MakeModeFilter(color, mode);
}
@@ -108,7 +108,7 @@ bool SkModeColorFilter::onAppendStages(SkRasterPipeline* p) const {
sk_sp<GrFragmentProcessor> SkModeColorFilter::asFragmentProcessor(
GrContext*, SkColorSpace* dstColorSpace) const {
- if (SkXfermode::kDst_Mode == fMode) {
+ if (SkBlendMode::kDst == fMode) {
return nullptr;
}
@@ -123,7 +123,7 @@ sk_sp<GrFragmentProcessor> SkModeColorFilter::asFragmentProcessor(
#ifdef SK_DEBUG
// With a solid color input this should always be able to compute the blended color
// (at least for coeff modes)
- if (fMode <= SkXfermode::kLastCoeffMode) {
+ if ((unsigned)fMode <= (unsigned)SkBlendMode::kLastCoeffMode) {
static SkRandom gRand;
GrInvariantOutput io(GrPremulColor(gRand.nextU()), kRGBA_GrColorComponentFlags,
false);
@@ -140,7 +140,7 @@ sk_sp<GrFragmentProcessor> SkModeColorFilter::asFragmentProcessor(
class Src_SkModeColorFilter final : public SkModeColorFilter {
public:
- Src_SkModeColorFilter(SkColor color) : INHERITED(color, SkXfermode::kSrc_Mode) {}
+ Src_SkModeColorFilter(SkColor color) : INHERITED(color, SkBlendMode::kSrc) {}
void filterSpan(const SkPMColor shader[], int count, SkPMColor result[]) const override {
sk_memset32(result, this->getPMColor(), count);
@@ -152,7 +152,7 @@ private:
class SrcOver_SkModeColorFilter final : public SkModeColorFilter {
public:
- SrcOver_SkModeColorFilter(SkColor color) : INHERITED(color, SkXfermode::kSrcOver_Mode) { }
+ SrcOver_SkModeColorFilter(SkColor color) : INHERITED(color, SkBlendMode::kSrcOver) { }
void filterSpan(const SkPMColor shader[], int count, SkPMColor result[]) const override {
SkBlitRow::Color32(result, shader, count, this->getPMColor());
@@ -164,7 +164,7 @@ private:
///////////////////////////////////////////////////////////////////////////////
-sk_sp<SkColorFilter> SkColorFilter::MakeModeFilter(SkColor color, SkXfermode::Mode mode) {
+sk_sp<SkColorFilter> SkColorFilter::MakeModeFilter(SkColor color, SkBlendMode mode) {
if (!SkIsValidMode(mode)) {
return nullptr;
}
@@ -173,34 +173,34 @@ sk_sp<SkColorFilter> SkColorFilter::MakeModeFilter(SkColor color, SkXfermode::Mo
// first collaps some modes if possible
- if (SkXfermode::kClear_Mode == mode) {
+ if (SkBlendMode::kClear == mode) {
color = 0;
- mode = SkXfermode::kSrc_Mode;
- } else if (SkXfermode::kSrcOver_Mode == mode) {
+ mode = SkBlendMode::kSrc;
+ } else if (SkBlendMode::kSrcOver == mode) {
if (0 == alpha) {
- mode = SkXfermode::kDst_Mode;
+ mode = SkBlendMode::kDst;
} else if (255 == alpha) {
- mode = SkXfermode::kSrc_Mode;
+ mode = SkBlendMode::kSrc;
}
// else just stay srcover
}
// weed out combinations that are noops, and just return null
- if (SkXfermode::kDst_Mode == mode ||
- (0 == alpha && (SkXfermode::kSrcOver_Mode == mode ||
- SkXfermode::kDstOver_Mode == mode ||
- SkXfermode::kDstOut_Mode == mode ||
- SkXfermode::kSrcATop_Mode == mode ||
- SkXfermode::kXor_Mode == mode ||
- SkXfermode::kDarken_Mode == mode)) ||
- (0xFF == alpha && SkXfermode::kDstIn_Mode == mode)) {
+ if (SkBlendMode::kDst == mode ||
+ (0 == alpha && (SkBlendMode::kSrcOver == mode ||
+ SkBlendMode::kDstOver == mode ||
+ SkBlendMode::kDstOut == mode ||
+ SkBlendMode::kSrcATop == mode ||
+ SkBlendMode::kXor == mode ||
+ SkBlendMode::kDarken == mode)) ||
+ (0xFF == alpha && SkBlendMode::kDstIn == mode)) {
return nullptr;
}
switch (mode) {
- case SkXfermode::kSrc_Mode:
+ case SkBlendMode::kSrc:
return sk_make_sp<Src_SkModeColorFilter>(color);
- case SkXfermode::kSrcOver_Mode:
+ case SkBlendMode::kSrcOver:
return sk_make_sp<SrcOver_SkModeColorFilter>(color);
default:
return SkModeColorFilter::Make(color, mode);