OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2011 Google Inc. | 2 * Copyright 2011 Google Inc. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
6 */ | 6 */ |
7 | 7 |
8 #include "SkPDFDevice.h" | 8 #include "SkPDFDevice.h" |
9 | 9 |
10 #include "SkAnnotationKeys.h" | 10 #include "SkAnnotationKeys.h" |
(...skipping 561 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
572 // PDF does not support image filters, so render them on CPU. | 572 // PDF does not support image filters, so render them on CPU. |
573 // Note that this rendering is done at "screen" resolution (100dpi), not | 573 // Note that this rendering is done at "screen" resolution (100dpi), not |
574 // printer resolution. | 574 // printer resolution. |
575 // TODO: It may be possible to express some filters natively using PDF | 575 // TODO: It may be possible to express some filters natively using PDF |
576 // to improve quality and file size (https://bug.skia.org/3043) | 576 // to improve quality and file size (https://bug.skia.org/3043) |
577 | 577 |
578 // TODO: should we return true if there is a colorfilter? | 578 // TODO: should we return true if there is a colorfilter? |
579 return layerPaint.getImageFilter() != nullptr; | 579 return layerPaint.getImageFilter() != nullptr; |
580 } | 580 } |
581 | 581 |
582 SkBaseDevice* SkPDFDevice::onCreateDevice(const CreateInfo& cinfo, const SkPaint
* layerPaint) { | 582 SkBaseDevice* SkPDFDevice::onCreateDevice(const CreateInfo& cinfo, const SkPaint
* layerPaint, |
| 583 SkRasterCanvasLayerAllocator*) { |
583 if (cinfo.fForImageFilter || | 584 if (cinfo.fForImageFilter || |
584 (layerPaint && not_supported_for_layers(*layerPaint))) { | 585 (layerPaint && not_supported_for_layers(*layerPaint))) { |
585 return nullptr; | 586 return nullptr; |
586 } | 587 } |
587 SkISize size = SkISize::Make(cinfo.fInfo.width(), cinfo.fInfo.height()); | 588 SkISize size = SkISize::Make(cinfo.fInfo.width(), cinfo.fInfo.height()); |
588 return SkPDFDevice::Create(size, fRasterDpi, fDocument); | 589 return SkPDFDevice::Create(size, fRasterDpi, fDocument); |
589 } | 590 } |
590 | 591 |
591 SkPDFCanon* SkPDFDevice::getCanon() const { return fDocument->canon(); } | 592 SkPDFCanon* SkPDFDevice::getCanon() const { return fDocument->canon(); } |
592 | 593 |
(...skipping 1681 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2274 sk_sp<SkData> encodedImage(image->refEncodedData()); | 2275 sk_sp<SkData> encodedImage(image->refEncodedData()); |
2275 if (!encodedImage) { | 2276 if (!encodedImage) { |
2276 fDocument->serialize(pdfimage); | 2277 fDocument->serialize(pdfimage); |
2277 } | 2278 } |
2278 #endif | 2279 #endif |
2279 fDocument->canon()->addPDFBitmap(image->uniqueID(), pdfimage.get()); | 2280 fDocument->canon()->addPDFBitmap(image->uniqueID(), pdfimage.get()); |
2280 } | 2281 } |
2281 SkPDFUtils::DrawFormXObject(this->addXObjectResource(pdfimage.get()), | 2282 SkPDFUtils::DrawFormXObject(this->addXObjectResource(pdfimage.get()), |
2282 &content.entry()->fContent); | 2283 &content.entry()->fContent); |
2283 } | 2284 } |
OLD | NEW |