Moving extra options/parameters into PDFMetadata
Bug: skia:
Change-Id: I29aa69e5765a7f8ba05b0361912d1f5276d77de3
Reviewed-on: https://skia-review.googlesource.com/84501
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Mike Reed <reed@google.com>
diff --git a/tests/PDFDocumentTest.cpp b/tests/PDFDocumentTest.cpp
index 82dafa3..d92929e 100644
--- a/tests/PDFDocumentTest.cpp
+++ b/tests/PDFDocumentTest.cpp
@@ -56,7 +56,8 @@
// Make sure doc's destructor is called to flush.
{
- sk_sp<SkDocument> doc(SkDocument::MakePDF(path.c_str()));
+ SkFILEWStream stream(path.c_str());
+ sk_sp<SkDocument> doc = SkDocument::MakePDF(&stream);
SkCanvas* canvas = doc->beginPage(100, 100);
canvas->drawColor(SK_ColorRED);
@@ -85,13 +86,15 @@
return;
}
- sk_sp<SkDocument> doc(SkDocument::MakePDF(path.c_str()));
+ {
+ SkFILEWStream stream(path.c_str());
+ sk_sp<SkDocument> doc = SkDocument::MakePDF(&stream);
+ SkCanvas* canvas = doc->beginPage(100, 100);
- SkCanvas* canvas = doc->beginPage(100, 100);
-
- canvas->drawColor(SK_ColorRED);
- doc->endPage();
- doc->close();
+ canvas->drawColor(SK_ColorRED);
+ doc->endPage();
+ doc->close();
+ }
FILE* file = fopen(path.c_str(), "r");
REPORTER_ASSERT(reporter, file != nullptr);
@@ -123,41 +126,6 @@
test_close(reporter);
}
-namespace {
-class JPEGSerializer final : public SkPixelSerializer {
- bool onUseEncodedData(const void*, size_t) override { return true; }
- SkData* onEncode(const SkPixmap& pixmap) override {
- return sk_tool_utils::EncodeImageToData(pixmap, SkEncodedImageFormat::kJPEG, 85).release();
- }
-};
-} // namespace
-
-size_t count_bytes(const SkBitmap& bm, bool useDCT) {
- SkDynamicMemoryWStream stream;
- sk_sp<SkDocument> doc;
- if (useDCT) {
- doc = SkDocument::MakePDF(&stream, SK_ScalarDefaultRasterDPI,
- SkDocument::PDFMetadata(),
- sk_make_sp<JPEGSerializer>(), false);
- } else {
- doc = SkDocument::MakePDF(&stream);
- }
- SkCanvas* canvas = doc->beginPage(64, 64);
- canvas->drawBitmap(bm, 0, 0);
- doc->endPage();
- doc->close();
- return stream.bytesWritten();
-}
-
-DEF_TEST(SkPDF_document_dct_encoder, r) {
- REQUIRE_PDF_DOCUMENT(SkPDF_document_dct_encoder, r);
- SkBitmap bm;
- if (GetResourceAsBitmap("images/mandrill_64.png", &bm)) {
- // Lossy encoding works better on photographs.
- REPORTER_ASSERT(r, count_bytes(bm, true) < count_bytes(bm, false));
- }
-}
-
DEF_TEST(SkPDF_document_skbug_4734, r) {
REQUIRE_PDF_DOCUMENT(SkPDF_document_skbug_4734, r);
SkDynamicMemoryWStream stream;
@@ -189,10 +157,10 @@
pdfMetadata.fTitle = "test document";
pdfMetadata.fCreation.fEnabled = true;
pdfMetadata.fCreation.fDateTime = {0, 1999, 12, 5, 31, 23, 59, 59};
+ pdfMetadata.fPDFA = true;
SkDynamicMemoryWStream buffer;
- auto doc = SkDocument::MakePDF(&buffer, SK_ScalarDefaultRasterDPI,
- pdfMetadata, nullptr, /* pdfa = */ true);
+ auto doc = SkDocument::MakePDF(&buffer, pdfMetadata);
doc->beginPage(64, 64)->drawColor(SK_ColorRED);
doc->close();
sk_sp<SkData> data(buffer.detachAsData());
@@ -210,8 +178,8 @@
}
}
pdfMetadata.fProducer = "phoney library";
- doc = SkDocument::MakePDF(&buffer, SK_ScalarDefaultRasterDPI,
- pdfMetadata, nullptr, /* pdfa = */ true);
+ pdfMetadata.fPDFA = true;
+ doc = SkDocument::MakePDF(&buffer, pdfMetadata);
doc->beginPage(64, 64)->drawColor(SK_ColorRED);
doc->close();
data = buffer.detachAsData();
diff --git a/tests/PDFMetadataAttributeTest.cpp b/tests/PDFMetadataAttributeTest.cpp
index 01351fa..bdfd7d6 100644
--- a/tests/PDFMetadataAttributeTest.cpp
+++ b/tests/PDFMetadataAttributeTest.cpp
@@ -25,8 +25,7 @@
metadata.fModified.fDateTime = now;
SkDynamicMemoryWStream pdf;
- sk_sp<SkDocument> doc = SkDocument::MakePDF(&pdf, SK_ScalarDefaultRasterDPI,
- metadata, nullptr, false);
+ sk_sp<SkDocument> doc = SkDocument::MakePDF(&pdf, metadata);
doc->beginPage(612.0f, 792.0f);
doc->close();
sk_sp<SkData> data = pdf.detachAsData();