Index: src/pdf/SkPDFDevice.h |
diff --git a/src/pdf/SkPDFDevice.h b/src/pdf/SkPDFDevice.h |
index b214839f5a1c24055711475cd6aa613083fa1940..138ec19b5938e3edc73a2ba4e2cfdff14a559e62 100644 |
--- a/src/pdf/SkPDFDevice.h |
+++ b/src/pdf/SkPDFDevice.h |
@@ -25,6 +25,7 @@ |
class SkPDFArray; |
class SkPDFCanon; |
class SkPDFDevice; |
+class SkPDFDocument; |
class SkPDFDict; |
class SkPDFFont; |
class SkPDFFormXObject; |
@@ -59,20 +60,23 @@ public: |
* while rendering, and it would be slower to be processed |
* or sent online or to printer. A good choice is |
* SK_ScalarDefaultRasterDPI(72.0f). |
- * @param SkPDFCanon. Should be non-null, and shared by all |
- * devices in a document. |
+ * @param SkPDFDocument. A non-null pointer back to the |
+ * document. The document is repsonsible for |
+ * de-duplicating across pages (via the SkPDFCanon) and |
+ * for early serializing of large immutable objects, such |
+ * as images (via SkPDFDocument::serialize()). |
*/ |
static SkPDFDevice* Create(SkISize pageSize, |
SkScalar rasterDpi, |
- SkPDFCanon* canon) { |
- return new SkPDFDevice(pageSize, rasterDpi, canon, true); |
+ SkPDFDocument* doc) { |
+ return new SkPDFDevice(pageSize, rasterDpi, doc, true); |
} |
/** Create a PDF drawing context without fipping the y-axis. */ |
static SkPDFDevice* CreateUnflipped(SkISize pageSize, |
SkScalar rasterDpi, |
- SkPDFCanon* canon) { |
- return new SkPDFDevice(pageSize, rasterDpi, canon, false); |
+ SkPDFDocument* doc) { |
+ return new SkPDFDevice(pageSize, rasterDpi, doc, false); |
} |
virtual ~SkPDFDevice(); |
@@ -184,7 +188,7 @@ public: |
return *(fFontGlyphUsage.get()); |
} |
- SkPDFCanon* getCanon() const { return fCanon; } |
+ SkPDFCanon* getCanon() const; |
protected: |
const SkBitmap& onAccessBitmap() override { |
@@ -261,12 +265,12 @@ private: |
SkBitmap fLegacyBitmap; |
- SkPDFCanon* fCanon; // Owned by SkDocument_PDF |
+ SkPDFDocument* fDocument; |
//////////////////////////////////////////////////////////////////////////// |
SkPDFDevice(SkISize pageSize, |
SkScalar rasterDpi, |
- SkPDFCanon* canon, |
+ SkPDFDocument* doc, |
bool flip); |
ContentEntry* getLastContentEntry(); |