aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--bench/PDFBench.cpp12
-rw-r--r--include/core/SkDocument.h46
-rw-r--r--public.bzl1
-rw-r--r--src/pdf/SkDocument_PDF_None.cpp15
-rw-r--r--src/pdf/SkPDFBitmap.cpp21
-rw-r--r--src/pdf/SkPDFBitmap.h11
-rw-r--r--src/pdf/SkPDFCanon.h6
-rw-r--r--src/pdf/SkPDFDevice.cpp3
-rw-r--r--src/pdf/SkPDFDocument.cpp52
-rw-r--r--src/pdf/SkPDFDocument.h15
10 files changed, 11 insertions, 171 deletions
diff --git a/bench/PDFBench.cpp b/bench/PDFBench.cpp
index c2a8e60249..0dd3fa1eb8 100644
--- a/bench/PDFBench.cpp
+++ b/bench/PDFBench.cpp
@@ -84,11 +84,7 @@ protected:
return;
}
while (loops-- > 0) {
- auto object = SkPDFCreateBitmapObject(fImage,
-#ifdef SK_SUPPORT_LEGACY_PDF_PIXELSERIALIZER
- nullptr,
-#endif
- false);
+ auto object = SkPDFCreateBitmapObject(fImage);
SkASSERT(object);
if (!object) {
return;
@@ -125,11 +121,7 @@ protected:
return;
}
while (loops-- > 0) {
- auto object = SkPDFCreateBitmapObject(fImage,
-#ifdef SK_SUPPORT_LEGACY_PDF_PIXELSERIALIZER
- nullptr,
-#endif
- false);
+ auto object = SkPDFCreateBitmapObject(fImage);
SkASSERT(object);
if (!object) {
return;
diff --git a/include/core/SkDocument.h b/include/core/SkDocument.h
index df7cd73c3a..82b8a4ff25 100644
--- a/include/core/SkDocument.h
+++ b/include/core/SkDocument.h
@@ -10,9 +10,6 @@
#include "SkBitmap.h"
#include "SkPicture.h"
-#ifdef SK_SUPPORT_LEGACY_PDF_PIXELSERIALIZER
-#include "SkPixelSerializer.h"
-#endif
#include "SkRect.h"
#include "SkRefCnt.h"
#include "SkString.h"
@@ -115,49 +112,6 @@ public:
int fEncodingQuality = 101;
};
-#ifdef SK_SUPPORT_LEGACY_PDF_PIXELSERIALIZER
- /**
- * Create a PDF-backed document, writing the results into a
- * SkWStream.
- *
- * PDF pages are sized in point units. 1 pt == 1/72 inch ==
- * 127/360 mm.
- *
- * @param stream A PDF document will be written to this
- * stream. The document may write to the stream at
- * anytime during its lifetime, until either close() is
- * called or the document is deleted.
- * @param dpi The DPI (pixels-per-inch) at which features without
- * native PDF support will be rasterized (e.g. draw image
- * with perspective, draw text with perspective, ...) A
- * larger DPI would create a PDF that reflects the
- * original intent with better fidelity, but it can make
- * for larger PDF files too, which would use more memory
- * while rendering, and it would be slower to be processed
- * or sent online or to printer.
- * @param metadata a PDFmetadata object. Any fields may be left
- * empty.
- * @param pdfa Iff true, include XMP metadata, a document UUID,
- * and sRGB output intent information. This adds length
- * to the document and makes it non-reproducable, but are
- * necessary features for PDF/A-2b conformance
- *
- * @returns NULL if there is an error, otherwise a newly created
- * PDF-backed SkDocument.
- */
- static sk_sp<SkDocument> MakePDF(SkWStream* stream,
- SkScalar dpi,
- const PDFMetadata& metadata,
- sk_sp<SkPixelSerializer> jpegEncoder,
- bool pdfa);
- /**
- * Create a PDF-backed document, writing the results into a file.
- */
- static sk_sp<SkDocument> MakePDF(const char outputFilePath[],
- SkScalar dpi = SK_ScalarDefaultRasterDPI);
- static sk_sp<SkDocument> MakePDF(SkWStream* stream, SkScalar dpi);
-#endif
-
/**
* Create a PDF-backed document, writing the results into a
* SkWStream.
diff --git a/public.bzl b/public.bzl
index 6281ce3fff..c346d7436c 100644
--- a/public.bzl
+++ b/public.bzl
@@ -586,7 +586,6 @@ def base_defines(os_conditions):
"SK_JUMPER_DISABLE_8BIT",
# JPEG is in codec_limited
"SK_HAS_JPEG_LIBRARY",
- "SK_SUPPORT_LEGACY_PDF_PIXELSERIALIZER",
] + skia_select(
os_conditions,
[
diff --git a/src/pdf/SkDocument_PDF_None.cpp b/src/pdf/SkDocument_PDF_None.cpp
index 4971c81d45..50ed0b6d3b 100644
--- a/src/pdf/SkDocument_PDF_None.cpp
+++ b/src/pdf/SkDocument_PDF_None.cpp
@@ -15,18 +15,3 @@ sk_sp<SkDocument> SkDocument::MakePDF(SkWStream* stream) {
return nullptr;
}
-#ifdef SK_SUPPORT_LEGACY_PDF_PIXELSERIALIZER
-sk_sp<SkDocument> SkDocument::MakePDF(SkWStream* stream,
- SkScalar dpi,
- const PDFMetadata& metadata,
- sk_sp<SkPixelSerializer> jpegEncoder,
- bool pdfa) {
- return nullptr;
-}
-sk_sp<SkDocument> SkDocument::MakePDF(SkWStream* stream, SkScalar dpi) {
- return nullptr;
-}
-sk_sp<SkDocument> SkDocument::MakePDF(const char path[], SkScalar dpi) {
- return nullptr;
-}
-#endif
diff --git a/src/pdf/SkPDFBitmap.cpp b/src/pdf/SkPDFBitmap.cpp
index b9b73a9e28..faae47ef63 100644
--- a/src/pdf/SkPDFBitmap.cpp
+++ b/src/pdf/SkPDFBitmap.cpp
@@ -407,11 +407,7 @@ void PDFJpegBitmap::emitObject(SkWStream* stream,
////////////////////////////////////////////////////////////////////////////////
-sk_sp<SkPDFObject> SkPDFCreateBitmapObject(sk_sp<SkImage> image,
-#ifdef SK_SUPPORT_LEGACY_PDF_PIXELSERIALIZER
- SkPixelSerializer* pixelSerializer,
-#endif
- int encodingQuality) {
+sk_sp<SkPDFObject> SkPDFCreateBitmapObject(sk_sp<SkImage> image, int encodingQuality) {
SkASSERT(image);
SkASSERT(encodingQuality >= 0);
sk_sp<SkData> data = image->refEncodedData();
@@ -427,21 +423,6 @@ sk_sp<SkPDFObject> SkPDFCreateBitmapObject(sk_sp<SkImage> image,
}
}
-#ifdef SK_SUPPORT_LEGACY_PDF_PIXELSERIALIZER
- if (pixelSerializer) {
- SkBitmap bm;
- if (SkPDFUtils::ToBitmap(image.get(), &bm)) {
- data = pixelSerializer->encodeToData(bm.pixmap());
- if (data && SkIsJFIF(data.get(), &info)) {
- bool yuv = info.fType == SkJFIFInfo::kYCbCr;
- if (info.fSize == image->dimensions()) { // Sanity check.
- return sk_make_sp<PDFJpegBitmap>(info.fSize, data.get(), yuv);
- }
- }
- }
- }
-#endif
-
const bool isOpaque = image_compute_is_opaque(image.get());
if (encodingQuality <= 100 && isOpaque) {
diff --git a/src/pdf/SkPDFBitmap.h b/src/pdf/SkPDFBitmap.h
index a4e8ec5ccb..52ac59fea8 100644
--- a/src/pdf/SkPDFBitmap.h
+++ b/src/pdf/SkPDFBitmap.h
@@ -10,20 +10,15 @@
#include "SkRefCnt.h"
class SkImage;
-#ifdef SK_SUPPORT_LEGACY_PDF_PIXELSERIALIZER
-class SkPixelSerializer;
-#endif
class SkPDFObject;
/**
* SkPDFBitmap wraps a SkImage and serializes it as an image Xobject.
* It is designed to use a minimal amout of memory, aside from refing
* the image, and its emitObject() does not cache any data.
+ *
+ * quality > 100 means lossless
*/
-sk_sp<SkPDFObject> SkPDFCreateBitmapObject(sk_sp<SkImage>,
-#ifdef SK_SUPPORT_LEGACY_PDF_PIXELSERIALIZER
- SkPixelSerializer*,
-#endif
- int encodingQuality);
+sk_sp<SkPDFObject> SkPDFCreateBitmapObject(sk_sp<SkImage>, int encodingQuality = 101);
#endif // SkPDFBitmap_DEFINED
diff --git a/src/pdf/SkPDFCanon.h b/src/pdf/SkPDFCanon.h
index d68e471289..b9a6c68322 100644
--- a/src/pdf/SkPDFCanon.h
+++ b/src/pdf/SkPDFCanon.h
@@ -11,9 +11,6 @@
#include "SkPDFGradientShader.h"
#include "SkPDFGraphicState.h"
#include "SkPDFShader.h"
-#ifdef SK_SUPPORT_LEGACY_PDF_PIXELSERIALIZER
-#include "SkPixelSerializer.h"
-#endif
#include "SkTDArray.h"
#include "SkTHash.h"
#include "SkTypeface.h"
@@ -45,9 +42,6 @@ public:
SkTHashMap<SkPDFStrokeGraphicState, sk_sp<SkPDFDict>> fStrokeGSMap;
SkTHashMap<SkPDFFillGraphicState, sk_sp<SkPDFDict>> fFillGSMap;
-#ifdef SK_SUPPORT_LEGACY_PDF_PIXELSERIALIZER
- sk_sp<SkPixelSerializer> fPixelSerializer;
-#endif
sk_sp<SkPDFStream> fInvertFunction;
sk_sp<SkPDFDict> fNoSmaskGraphicState;
sk_sp<SkPDFArray> fRangeObject;
diff --git a/src/pdf/SkPDFDevice.cpp b/src/pdf/SkPDFDevice.cpp
index 582a44a963..0628b8f905 100644
--- a/src/pdf/SkPDFDevice.cpp
+++ b/src/pdf/SkPDFDevice.cpp
@@ -2512,9 +2512,6 @@ void SkPDFDevice::internalDrawImageRect(SkKeyedImage imageSubset,
if (!pdfimage) {
SkASSERT(imageSubset);
pdfimage = SkPDFCreateBitmapObject(imageSubset.release(),
-#ifdef SK_SUPPORT_LEGACY_PDF_PIXELSERIALIZER
- fDocument->canon()->fPixelSerializer.get(),
-#endif
fDocument->metadata().fEncodingQuality);
if (!pdfimage) {
return;
diff --git a/src/pdf/SkPDFDocument.cpp b/src/pdf/SkPDFDocument.cpp
index f7c35ca2ac..939e9ed991 100644
--- a/src/pdf/SkPDFDocument.cpp
+++ b/src/pdf/SkPDFDocument.cpp
@@ -12,9 +12,6 @@
#include "SkPDFCanon.h"
#include "SkPDFDevice.h"
#include "SkPDFUtils.h"
-#ifdef SK_SUPPORT_LEGACY_PDF_PIXELSERIALIZER
-#include "SkPixelSerializer.h"
-#endif
#include "SkStream.h"
SkPDFObjectSerializer::SkPDFObjectSerializer() : fBaseOffset(0), fNextToBeSerialized(0) {}
@@ -176,16 +173,9 @@ static sk_sp<SkPDFDict> generate_page_tree(SkTArray<sk_sp<SkPDFDict>>* pages) {
SkPDFDocument::SkPDFDocument(SkWStream* stream,
void (*doneProc)(SkWStream*, bool),
- const SkDocument::PDFMetadata& metadata
-#ifdef SK_SUPPORT_LEGACY_PDF_PIXELSERIALIZER
- , sk_sp<SkPixelSerializer> jpegEncoder
-#endif
- )
+ const SkDocument::PDFMetadata& metadata)
: SkDocument(stream, doneProc)
, fMetadata(metadata) {
-#ifdef SK_SUPPORT_LEGACY_PDF_PIXELSERIALIZER
- fCanon.fPixelSerializer = std::move(jpegEncoder);
-#endif
}
SkPDFDocument::~SkPDFDocument() {
@@ -436,11 +426,7 @@ void SkPDFDocument::onClose(SkWStream* stream) {
sk_sp<SkDocument> SkPDFMakeDocument(SkWStream* stream,
void (*proc)(SkWStream*, bool),
- const SkDocument::PDFMetadata& metadata
-#ifdef SK_SUPPORT_LEGACY_PDF_PIXELSERIALIZER
- , sk_sp<SkPixelSerializer> jpeg
-#endif
- ) {
+ const SkDocument::PDFMetadata& metadata) {
SkDocument::PDFMetadata meta = metadata;
if (meta.fRasterDPI <= 0) {
meta.fRasterDPI = 72.0f;
@@ -448,12 +434,7 @@ sk_sp<SkDocument> SkPDFMakeDocument(SkWStream* stream,
if (meta.fEncodingQuality < 0) {
meta.fEncodingQuality = 0;
}
- return stream ? sk_make_sp<SkPDFDocument>(stream, proc, meta
-#ifdef SK_SUPPORT_LEGACY_PDF_PIXELSERIALIZER
- , std::move(jpeg)
-#endif
- )
- : nullptr;
+ return stream ? sk_make_sp<SkPDFDocument>(stream, proc, meta) : nullptr;
}
sk_sp<SkDocument> SkDocument::MakePDF(SkWStream* stream, const PDFMetadata& metadata) {
@@ -464,30 +445,3 @@ sk_sp<SkDocument> SkDocument::MakePDF(SkWStream* stream) {
return SkPDFMakeDocument(stream, nullptr, PDFMetadata());
}
-#ifdef SK_SUPPORT_LEGACY_PDF_PIXELSERIALIZER
-sk_sp<SkDocument> SkDocument::MakePDF(SkWStream* stream,
- SkScalar dpi,
- const PDFMetadata& metadata,
- sk_sp<SkPixelSerializer> jpegEncoder,
- bool pdfa) {
- PDFMetadata meta = metadata;
- meta.fRasterDPI = dpi;
- meta.fPDFA = pdfa;
- return SkPDFMakeDocument(stream, nullptr, meta, jpegEncoder);
-}
-sk_sp<SkDocument> SkDocument::MakePDF(SkWStream* stream, SkScalar dpi) {
- PDFMetadata meta;
- meta.fRasterDPI = dpi;
- return SkPDFMakeDocument(stream, nullptr, meta, nullptr);
-}
-sk_sp<SkDocument> SkDocument::MakePDF(const char path[], SkScalar dpi) {
- auto delete_wstream = [](SkWStream* stream, bool) { delete stream; };
- auto stream = skstd::make_unique<SkFILEWStream>(path);
- if (!stream->isValid()) {
- return nullptr;
- }
- PDFMetadata meta;
- meta.fRasterDPI = dpi;
- return SkPDFMakeDocument(stream.release(), delete_wstream, meta, nullptr);
-}
-#endif
diff --git a/src/pdf/SkPDFDocument.h b/src/pdf/SkPDFDocument.h
index 7cfd0bd1c3..a13670a080 100644
--- a/src/pdf/SkPDFDocument.h
+++ b/src/pdf/SkPDFDocument.h
@@ -10,9 +10,6 @@
#include "SkDocument.h"
#include "SkPDFCanon.h"
#include "SkPDFMetadata.h"
-#ifdef SK_SUPPORT_LEGACY_PDF_PIXELSERIALIZER
-#include "SkPixelSerializer.h"
-#endif
#include "SkPDFFont.h"
class SkPDFDevice;
@@ -29,11 +26,7 @@ class SkPDFDevice;
*/
sk_sp<SkDocument> SkPDFMakeDocument(SkWStream* stream,
void (*doneProc)(SkWStream*, bool),
- const SkDocument::PDFMetadata&
-#ifdef SK_SUPPORT_LEGACY_PDF_PIXELSERIALIZER
- , sk_sp<SkPixelSerializer> = nullptr
-#endif
- );
+ const SkDocument::PDFMetadata&);
// Logically part of SkPDFDocument (like SkPDFCanon), but separate to
// keep similar functionality together.
@@ -60,11 +53,7 @@ class SkPDFDocument : public SkDocument {
public:
SkPDFDocument(SkWStream*,
void (*)(SkWStream*, bool),
- const SkDocument::PDFMetadata&
-#ifdef SK_SUPPORT_LEGACY_PDF_PIXELSERIALIZER
- , sk_sp<SkPixelSerializer> = nullptr
-#endif
- );
+ const SkDocument::PDFMetadata&);
~SkPDFDocument() override;
SkCanvas* onBeginPage(SkScalar, SkScalar) override;
void onEndPage() override;