Index: src/pdf/SkPDFGraphicState.cpp |
diff --git a/src/pdf/SkPDFGraphicState.cpp b/src/pdf/SkPDFGraphicState.cpp |
index 9d9929ea57dc45d9a7ebc9c5dec6f1e8f71294ce..37a87276d6abbaf431d13dd8f0094fe0d0098dc7 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; |