Index: src/pdf/SkPDFTypes.h |
diff --git a/src/pdf/SkPDFTypes.h b/src/pdf/SkPDFTypes.h |
index b0ce0b97d0cdd4783e7cf3eadab5977d643860a9..49ba1124d55a15184ddda1451db5a2160d847c28 100644 |
--- a/src/pdf/SkPDFTypes.h |
+++ b/src/pdf/SkPDFTypes.h |
@@ -20,6 +20,9 @@ |
class SkPDFCatalog; |
class SkWStream; |
+class SkPDFObject; |
+typedef SkTSet<SkPDFObject*> SkPDFObjectSet; |
mtklein
2015/01/26 23:38:59
I generally prefer writing out the full names of t
hal.canary
2015/02/09 23:35:01
I'm not sure that I need SkTSet. I really need an
|
+ |
/** \class SkPDFObject |
A PDF Object is the base class for primitive elements in a PDF file. A |
@@ -37,39 +40,16 @@ public: |
*/ |
virtual void emitObject(SkWStream* stream, SkPDFCatalog* catalog) = 0; |
- /** For non-primitive objects (i.e. objects defined outside this file), |
- * this method will add to newResourceObjects any objects that this method |
- * depends on, but not already in knownResourceObjects. This operates |
- * recursively so if this object depends on another object and that object |
- * depends on two more, all three objects will be added. |
+ /** |
+ * An object's has a resource if it depends, via an indirect |
+ * reference on another object. This method recursively adds |
+ * resouces for this object and for its resouces' resouces.... |
mtklein
2015/01/26 23:38:59
This first sentence doesn't really make sense. Is
hal.canary
2015/02/09 23:35:01
Done.
|
* |
- * @param knownResourceObjects The set of resources to be ignored. |
- * @param newResourceObjects The set to append dependant resources to. |
- */ |
- virtual void getResources(const SkTSet<SkPDFObject*>& knownResourceObjects, |
- SkTSet<SkPDFObject*>* newResourceObjects); |
- |
- /** Static helper function to add a resource to a list. The list takes |
- * a reference. |
- * @param resource The resource to add. |
- * @param list The list to add the resource to. |
- */ |
- static void AddResourceHelper(SkPDFObject* resource, |
- SkTDArray<SkPDFObject*>* list); |
- |
- /** Static helper function to copy and reference the resources (and all |
- * their subresources) into a new list. |
- * @param resources The resource list. |
- * @param newResourceObjects All the resource objects (recursively) used on |
- * the page are added to this array. This gives |
- * the caller a chance to deduplicate resources |
- * across pages. |
- * @param knownResourceObjects The set of resources to be ignored. |
+ * Ther default implementation does nothing and is therefore |
+ * suitable for "leaf" objects. |
mtklein
2015/01/26 23:38:59
Instead of writing this note, you could just put t
hal.canary
2015/02/09 23:35:01
You shouldn't put virtuals in a header file.
mtklein
2015/02/09 23:47:17
Why not?
|
*/ |
- static void GetResourcesHelper( |
- const SkTDArray<SkPDFObject*>* resources, |
- const SkTSet<SkPDFObject*>& knownResourceObjects, |
- SkTSet<SkPDFObject*>* newResourceObjects); |
+ virtual void addResources(SkPDFObjectSet* resourceSet, |
mtklein
2015/01/26 23:38:59
Can this method be const ?
|
+ SkPDFCatalog* catalog); |
private: |
typedef SkRefCnt INHERITED; |
@@ -91,6 +71,7 @@ public: |
// The SkPDFObject interface. |
virtual void emitObject(SkWStream* stream, SkPDFCatalog* catalog) SK_OVERRIDE; |
+ virtual void addResources(SkPDFObjectSet*, SkPDFCatalog*) SK_OVERRIDE; |
private: |
SkAutoTUnref<SkPDFObject> fObj; |
@@ -254,6 +235,7 @@ public: |
// The SkPDFObject interface. |
virtual void emitObject(SkWStream* stream, SkPDFCatalog* catalog) SK_OVERRIDE; |
+ virtual void addResources(SkPDFObjectSet*, SkPDFCatalog*) SK_OVERRIDE; |
/** The size of the array. |
*/ |
@@ -325,6 +307,7 @@ public: |
// The SkPDFObject interface. |
virtual void emitObject(SkWStream* stream, SkPDFCatalog* catalog) SK_OVERRIDE; |
+ virtual void addResources(SkPDFObjectSet*, SkPDFCatalog*) SK_OVERRIDE; |
/** The size of the dictionary. |
*/ |