diff options
author | edisonn@google.com <edisonn@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2013-03-19 17:19:05 +0000 |
---|---|---|
committer | edisonn@google.com <edisonn@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2013-03-19 17:19:05 +0000 |
commit | 66bedbb02dbd252f46c1fad862d0561a0bb3f94b (patch) | |
tree | 79627a69234e8df7883dfbc9243c7120aba2952e /include | |
parent | f315451f78760e6e2066c09da3644ce93e0580e6 (diff) |
resubmit https://code.google.com/p/skia/source/detail?r=7883 (in the meantime we added capability to collect minidump and callstack if buildbot fails with heap coruption in windows. a few minor conflicts have been resolved)
Review URL: https://codereview.chromium.org/12840004
git-svn-id: http://skia.googlecode.com/svn/trunk@8233 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'include')
-rw-r--r-- | include/pdf/SkPDFDevice.h | 12 | ||||
-rw-r--r-- | include/pdf/SkPDFDocument.h | 4 |
2 files changed, 13 insertions, 3 deletions
diff --git a/include/pdf/SkPDFDevice.h b/include/pdf/SkPDFDevice.h index 90379f9f6b..f8261b5da1 100644 --- a/include/pdf/SkPDFDevice.h +++ b/include/pdf/SkPDFDevice.h @@ -30,6 +30,7 @@ class SkPDFGraphicState; class SkPDFObject; class SkPDFShader; class SkPDFStream; +template <typename T> class SK_API SkTSet; // Private classes. struct ContentEntry; @@ -132,12 +133,19 @@ public: SK_API SkPDFDict* getResourceDict(); /** Get the list of resources (PDF objects) used on this page. - * @param resourceList A list to append the resources to. + * 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(SkTDArray<SkPDFObject*>* resourceList, + SK_API void getResources(const SkTSet<SkPDFObject*>& knownResourceObjects, + SkTSet<SkPDFObject*>* newResourceObjects, bool recursive) const; /** Get the fonts used on this device. diff --git a/include/pdf/SkPDFDocument.h b/include/pdf/SkPDFDocument.h index cb786c7133..8f4ee48564 100644 --- a/include/pdf/SkPDFDocument.h +++ b/include/pdf/SkPDFDocument.h @@ -21,6 +21,7 @@ class SkPDFDict; class SkPDFPage; class SkPDFObject; class SkWStream; +template <typename T> class SK_API SkTSet; /** \class SkPDFDocument @@ -79,7 +80,8 @@ private: SkTDArray<SkPDFPage*> fPages; SkTDArray<SkPDFDict*> fPageTree; SkPDFDict* fDocCatalog; - SkTDArray<SkPDFObject*> fPageResources; + SkTSet<SkPDFObject*>* fFirstPageResources; + SkTSet<SkPDFObject*>* fOtherPageResources; SkTDArray<SkPDFObject*> fSubstitutes; int fSecondPageFirstResourceIndex; |