Index: src/pdf/SkPDFGraphicState.cpp |
diff --git a/src/pdf/SkPDFGraphicState.cpp b/src/pdf/SkPDFGraphicState.cpp |
index 5d4de3bed19f53b76f245e84d41d09ecfc4a67a5..c54a5dc8b31220cc06582289570329bbf7639671 100644 |
--- a/src/pdf/SkPDFGraphicState.cpp |
+++ b/src/pdf/SkPDFGraphicState.cpp |
@@ -137,13 +137,17 @@ SkPDFObject* SkPDFGraphicState::GetInvertFunction() { |
// static |
SkPDFGraphicState* SkPDFGraphicState::GetSMaskGraphicState( |
- SkPDFFormXObject* sMask, bool invert) { |
+ SkPDFFormXObject* sMask, bool invert, SkPDFSMaskMode sMaskMode) { |
// The practical chances of using the same mask more than once are unlikely |
// enough that it's not worth canonicalizing. |
SkAutoMutexAcquire lock(CanonicalPaintsMutex()); |
SkAutoTUnref<SkPDFDict> sMaskDict(new SkPDFDict("Mask")); |
- sMaskDict->insertName("S", "Alpha"); |
+ if (sMaskMode == kAlpha_SMaskMode) { |
+ sMaskDict->insertName("S", "Alpha"); |
+ } else if (sMaskMode == kLuminosity_SMaskMode) { |
+ sMaskDict->insertName("S", "Luminosity"); |
+ } |
sMaskDict->insert("G", new SkPDFObjRef(sMask))->unref(); |
SkPDFGraphicState* result = new SkPDFGraphicState; |