aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/pdf/SkPDFTypes.cpp
diff options
context:
space:
mode:
authorGravatar halcanary <halcanary@google.com>2015-01-23 11:45:10 -0800
committerGravatar Commit bot <commit-bot@chromium.org>2015-01-23 11:45:10 -0800
commit6a144345d742a53ffb15bbd83f2718022fca8df5 (patch)
tree54e801cddcecca5addcbc9ca89b5f707dde3466a /src/pdf/SkPDFTypes.cpp
parent1c4029296f518a84ef90095243ba210163a1e1f9 (diff)
Cleanup SkPDFObject::emit*
Diffstat (limited to 'src/pdf/SkPDFTypes.cpp')
-rw-r--r--src/pdf/SkPDFTypes.cpp43
1 files changed, 17 insertions, 26 deletions
diff --git a/src/pdf/SkPDFTypes.cpp b/src/pdf/SkPDFTypes.cpp
index 4a84876b20..b0763a3c59 100644
--- a/src/pdf/SkPDFTypes.cpp
+++ b/src/pdf/SkPDFTypes.cpp
@@ -19,32 +19,9 @@
///////////////////////////////////////////////////////////////////////////////
-void SkPDFObject::emit(SkWStream* stream, SkPDFCatalog* catalog,
- bool indirect) {
- SkPDFObject* realObject = catalog->getSubstituteObject(this);
- if (indirect) {
- realObject->emitIndirectObject(stream, catalog);
- } else {
- realObject->emitObject(stream, catalog);
- }
-}
-
-size_t SkPDFObject::getOutputSize(SkPDFCatalog* catalog, bool indirect) {
- SkDynamicMemoryWStream buffer;
- emit(&buffer, catalog, indirect);
- return buffer.getOffset();
-}
-
void SkPDFObject::getResources(const SkTSet<SkPDFObject*>& knownResourceObjects,
SkTSet<SkPDFObject*>* newResourceObjects) {}
-void SkPDFObject::emitIndirectObject(SkWStream* stream, SkPDFCatalog* catalog) {
- catalog->emitObjectNumber(stream, this);
- stream->writeText(" obj\n");
- emit(stream, catalog, false);
- stream->writeText("\nendobj\n");
-}
-
void SkPDFObject::AddResourceHelper(SkPDFObject* resource,
SkTDArray<SkPDFObject*>* list) {
list->push(resource);
@@ -70,6 +47,8 @@ void SkPDFObject::GetResourcesHelper(
}
}
+////////////////////////////////////////////////////////////////////////////////
+
SkPDFObjRef::SkPDFObjRef(SkPDFObject* obj) : fObj(obj) {
SkSafeRef(obj);
}
@@ -81,6 +60,8 @@ void SkPDFObjRef::emitObject(SkWStream* stream, SkPDFCatalog* catalog) {
stream->writeText(" R");
}
+////////////////////////////////////////////////////////////////////////////////
+
SkPDFInt::SkPDFInt(int32_t value) : fValue(value) {}
SkPDFInt::~SkPDFInt() {}
@@ -88,6 +69,8 @@ void SkPDFInt::emitObject(SkWStream* stream, SkPDFCatalog* catalog) {
stream->writeDecAsText(fValue);
}
+////////////////////////////////////////////////////////////////////////////////
+
SkPDFBool::SkPDFBool(bool value) : fValue(value) {}
SkPDFBool::~SkPDFBool() {}
@@ -99,6 +82,8 @@ void SkPDFBool::emitObject(SkWStream* stream, SkPDFCatalog* catalog) {
}
}
+////////////////////////////////////////////////////////////////////////////////
+
SkPDFScalar::SkPDFScalar(SkScalar value) : fValue(value) {}
SkPDFScalar::~SkPDFScalar() {}
@@ -155,6 +140,8 @@ void SkPDFScalar::Append(SkScalar value, SkWStream* stream) {
#endif // SK_ALLOW_LARGE_PDF_SCALARS
}
+////////////////////////////////////////////////////////////////////////////////
+
SkPDFString::SkPDFString(const char value[])
: fValue(FormatString(value, strlen(value))) {
}
@@ -238,6 +225,8 @@ SkString SkPDFString::DoFormatString(const void* input, size_t len,
return result;
}
+////////////////////////////////////////////////////////////////////////////////
+
SkPDFName::SkPDFName(const char name[]) : fValue(FormatName(SkString(name))) {}
SkPDFName::SkPDFName(const SkString& name) : fValue(FormatName(name)) {}
SkPDFName::~SkPDFName() {}
@@ -270,6 +259,8 @@ SkString SkPDFName::FormatName(const SkString& input) {
return result;
}
+////////////////////////////////////////////////////////////////////////////////
+
SkPDFArray::SkPDFArray() {}
SkPDFArray::~SkPDFArray() {
fValue.unrefAll();
@@ -278,7 +269,7 @@ SkPDFArray::~SkPDFArray() {
void SkPDFArray::emitObject(SkWStream* stream, SkPDFCatalog* catalog) {
stream->writeText("[");
for (int i = 0; i < fValue.count(); i++) {
- fValue[i]->emit(stream, catalog, false);
+ catalog->getSubstituteObject(fValue[i])->emitObject(stream, catalog);
if (i + 1 < fValue.count()) {
stream->writeText(" ");
}
@@ -338,7 +329,6 @@ int SkPDFDict::size() const {
return fValue.count();
}
-
void SkPDFDict::emitObject(SkWStream* stream, SkPDFCatalog* catalog) {
SkAutoMutexAcquire lock(fMutex); // If another thread triggers a
// resize while this thread is in
@@ -350,7 +340,8 @@ void SkPDFDict::emitObject(SkWStream* stream, SkPDFCatalog* catalog) {
SkASSERT(fValue[i].value);
fValue[i].key->emitObject(stream, catalog);
stream->writeText(" ");
- fValue[i].value->emit(stream, catalog, false);
+ catalog->getSubstituteObject(fValue[i].value)
+ ->emitObject(stream, catalog);
stream->writeText("\n");
}
stream->writeText(">>");