diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/pdf/SkPDFDevice.h | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/include/pdf/SkPDFDevice.h b/include/pdf/SkPDFDevice.h index 1a0807aa67..df4f3341cf 100644 --- a/include/pdf/SkPDFDevice.h +++ b/include/pdf/SkPDFDevice.h @@ -112,13 +112,18 @@ public: const SkPaint&); enum DrawingArea { - kContent_DrawingArea, // Drawing area for the page content. - kMargin_DrawingArea, // Drawing area for the margin content. + kContent_DrawingArea, // Drawing area for the page content. + kMargin_DrawingArea, // Drawing area for the margin content. }; /** Sets the drawing area for the device. Subsequent draw calls are directed * to the specific drawing area (margin or content). The default drawing * area is the content drawing area. + * + * Currently if margin content is drawn and then a complex (for PDF) xfer + * mode is used, like SrcIn, Clear, etc, the margin content will get + * clipped. A simple way to avoid the bug is to always draw the margin + * content last. */ void setDrawingArea(DrawingArea drawingArea); @@ -187,7 +192,7 @@ private: DrawingArea fDrawingArea; // Accessor and setter functions based on the current DrawingArea. - SkTScopedPtr<ContentEntry>& getContentEntries(); + SkTScopedPtr<ContentEntry>* getContentEntries(); ContentEntry* getLastContentEntry(); void setLastContentEntry(ContentEntry* contentEntry); @@ -253,7 +258,7 @@ private: * list of content entries |entry| to |data|. */ void copyContentEntriesToData(ContentEntry* entry, SkWStream* data) const; - + // Disable the default copy and assign implementation. SkPDFDevice(const SkPDFDevice&); void operator=(const SkPDFDevice&); |