diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/pdf/SkPDFDevice.h | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/include/pdf/SkPDFDevice.h b/include/pdf/SkPDFDevice.h index 6c5e4574d4..d10f330e3a 100644 --- a/include/pdf/SkPDFDevice.h +++ b/include/pdf/SkPDFDevice.h @@ -28,7 +28,6 @@ class SkPDFFormXObject; class SkPDFGlyphSetMap; class SkPDFGraphicState; class SkPDFObject; -class SkPDFResourceDict; class SkPDFShader; class SkPDFStream; template <typename T> class SkTSet; @@ -148,7 +147,23 @@ public: /** Returns the resource dictionary for this device. */ - SK_API SkPDFResourceDict* getResourceDict(); + SK_API SkPDFDict* getResourceDict(); + + /** Get the list of resources (PDF objects) used on this page. + * This method will add to newResourceObjects any objects that this method + * depends on, but not already in knownResourceObjects. This might operate + * recursively so if this object depends on another object and that object + * depends on two more, all three objects will be added. + * + * @param knownResourceObjects The set of resources to be ignored. + * @param newResourceObjects The set to append dependant resources to. + * @param recursive If recursive is true, get the resources of the + * device's resources recursively. (Useful for adding + * objects to the catalog.) + */ + SK_API void getResources(const SkTSet<SkPDFObject*>& knownResourceObjects, + SkTSet<SkPDFObject*>* newResourceObjects, + bool recursive) const; /** Get the fonts used on this device. */ @@ -208,7 +223,7 @@ private: SkClipStack fExistingClipStack; SkRegion fExistingClipRegion; SkPDFArray* fAnnotations; - SkPDFResourceDict* fResourceDict; + SkPDFDict* fResourceDict; SkTDArray<NamedDestination*> fNamedDestinations; SkTDArray<SkPDFGraphicState*> fGraphicStateResources; |