| Index: src/pdf/SkPDFDevice.cpp
|
| diff --git a/src/pdf/SkPDFDevice.cpp b/src/pdf/SkPDFDevice.cpp
|
| index ff7dd2cd9252475e46eed12a4c8d623a07f4eb68..0b15d6ab43915c591cbb09a0dfb8419af370ce64 100644
|
| --- a/src/pdf/SkPDFDevice.cpp
|
| +++ b/src/pdf/SkPDFDevice.cpp
|
| @@ -1948,7 +1948,14 @@ void SkPDFDevice::finishContentEntry(const SkXfermode::Mode xfermode,
|
|
|
| SkPaint stockPaint;
|
|
|
| - if (xfermode == SkXfermode::kClear_Mode) {
|
| + if (xfermode == SkXfermode::kSrcATop_Mode) {
|
| + ScopedContentEntry content(this, &clipStack, clipRegion, identity,
|
| + stockPaint);
|
| + if (content.entry()) {
|
| + SkPDFUtils::DrawFormXObject(this->addXObjectResource(dst),
|
| + &content.entry()->fContent);
|
| + }
|
| + } else if (xfermode == SkXfermode::kClear_Mode || !srcFormXObject.get()) {
|
| return;
|
| } else if (xfermode == SkXfermode::kSrc_Mode ||
|
| xfermode == SkXfermode::kDstATop_Mode) {
|
| @@ -1962,13 +1969,6 @@ void SkPDFDevice::finishContentEntry(const SkXfermode::Mode xfermode,
|
| if (xfermode == SkXfermode::kSrc_Mode) {
|
| return;
|
| }
|
| - } else if (xfermode == SkXfermode::kSrcATop_Mode) {
|
| - ScopedContentEntry content(this, &clipStack, clipRegion, identity,
|
| - stockPaint);
|
| - if (content.entry()) {
|
| - SkPDFUtils::DrawFormXObject(this->addXObjectResource(dst),
|
| - &content.entry()->fContent);
|
| - }
|
| }
|
|
|
| SkASSERT(xfermode == SkXfermode::kSrcIn_Mode ||
|
|
|