| Index: src/pdf/SkPDFDevice.cpp
|
| diff --git a/src/pdf/SkPDFDevice.cpp b/src/pdf/SkPDFDevice.cpp
|
| index 92f190732f748a3cfaf3dc49bef18e1e9fd3e65f..1720cd8df2c8664539b61a9dc84acfb0b15411f2 100644
|
| --- a/src/pdf/SkPDFDevice.cpp
|
| +++ b/src/pdf/SkPDFDevice.cpp
|
| @@ -1588,9 +1588,16 @@ void SkPDFDevice::appendDestinations(SkPDFDict* dict, SkPDFObject* page) const {
|
| }
|
|
|
| sk_sp<SkPDFObject> SkPDFDevice::makeFormXObjectFromDevice() {
|
| + SkMatrix inverseTransform = SkMatrix::I();
|
| + if (!this->initialTransform().isIdentity()) {
|
| + if (!this->initialTransform().invert(&inverseTransform)) {
|
| + SkDEBUGFAIL("Layer initial transform should be invertible.");
|
| + inverseTransform.reset();
|
| + }
|
| + }
|
| sk_sp<SkPDFObject> xobject =
|
| SkPDFMakeFormXObject(this->content(), this->copyMediaBox(),
|
| - this->makeResourceDict(), nullptr);
|
| + this->makeResourceDict(), inverseTransform, nullptr);
|
| // We always draw the form xobjects that we create back into the device, so
|
| // we simply preserve the font usage instead of pulling it out and merging
|
| // it back in later.
|
|
|