Added support for non-separable blending modes.
Fixed scalar issue from https://codereview.appspot.com/7346044
Review URL: https://chromiumcodereview.appspot.com/12393049
git-svn-id: http://skia.googlecode.com/svn/trunk@7984 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/pdf/SkPDFGraphicState.cpp b/src/pdf/SkPDFGraphicState.cpp
index 558deb7..580d7e9 100644
--- a/src/pdf/SkPDFGraphicState.cpp
+++ b/src/pdf/SkPDFGraphicState.cpp
@@ -14,7 +14,9 @@
static const char* blend_mode_from_xfermode(SkXfermode::Mode mode) {
switch (mode) {
case SkXfermode::kSrcOver_Mode: return "Normal";
- case SkXfermode::kModulate_Mode: return "Multiply";
+ // kModulate is not really like multipy but similar most of the time.
+ case SkXfermode::kModulate_Mode:
+ case SkXfermode::kMultiply_Mode: return "Multiply";
case SkXfermode::kScreen_Mode: return "Screen";
case SkXfermode::kOverlay_Mode: return "Overlay";
case SkXfermode::kDarken_Mode: return "Darken";
@@ -25,6 +27,10 @@
case SkXfermode::kSoftLight_Mode: return "SoftLight";
case SkXfermode::kDifference_Mode: return "Difference";
case SkXfermode::kExclusion_Mode: return "Exclusion";
+ case SkXfermode::kHue_Mode: return "Hue";
+ case SkXfermode::kSaturation_Mode: return "Saturation";
+ case SkXfermode::kColor_Mode: return "Color";
+ case SkXfermode::kLuminosity_Mode: return "Luminosity";
// These are handled in SkPDFDevice::setUpContentEntry.
case SkXfermode::kClear_Mode:
@@ -42,7 +48,6 @@
case SkXfermode::kDstATop_Mode:
case SkXfermode::kXor_Mode:
case SkXfermode::kPlus_Mode:
- case SkXfermode::kMultiply_Mode:
return NULL;
}
return NULL;