diff options
author | vandebo@chromium.org <vandebo@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2010-10-12 23:08:13 +0000 |
---|---|---|
committer | vandebo@chromium.org <vandebo@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2010-10-12 23:08:13 +0000 |
commit | d877fdbb6e64692285c3e6532d88b9458f65b3cd (patch) | |
tree | c346892a4d2d014c95acc6729174c779d0bfcd02 /src/pdf/SkPDFStream.cpp | |
parent | f66025d59ab4c8c4439fabf6ad89ddf35a19d1fd (diff) |
High level pdf classes and pdf specific interface.
The guts of the implementation will be in SkPDFDevice and below. This is a first implementation of everything above that point.
Review URL: http://codereview.appspot.com/2342043
git-svn-id: http://skia.googlecode.com/svn/trunk@602 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'src/pdf/SkPDFStream.cpp')
-rw-r--r-- | src/pdf/SkPDFStream.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/pdf/SkPDFStream.cpp b/src/pdf/SkPDFStream.cpp index a7fbc62521..b880d4a26a 100644 --- a/src/pdf/SkPDFStream.cpp +++ b/src/pdf/SkPDFStream.cpp @@ -19,11 +19,9 @@ #include "SkStream.h" SkPDFStream::SkPDFStream(SkStream* stream) : fData(stream) { - SkRefPtr<SkPDFName> lenKey = new SkPDFName("Length"); - lenKey->unref(); // SkRefPtr and new both took a reference. SkRefPtr<SkPDFInt> lenValue = new SkPDFInt(fData->read(NULL, 0)); lenValue->unref(); // SkRefPtr and new both took a reference. - fDict.insert(lenKey.get(), lenValue.get()); + fDict.insert("Length", lenValue.get()); } SkPDFStream::~SkPDFStream() { @@ -37,7 +35,7 @@ void SkPDFStream::emitObject(SkWStream* stream, SkPDFCatalog* catalog, fDict.emitObject(stream, catalog, false); stream->writeText(" stream\n"); stream->write(fData->getMemoryBase(), fData->read(NULL, 0)); - stream->writeText("endstream\n"); + stream->writeText("endstream"); } size_t SkPDFStream::getOutputSize(SkPDFCatalog* catalog, bool indirect) { @@ -45,9 +43,13 @@ size_t SkPDFStream::getOutputSize(SkPDFCatalog* catalog, bool indirect) { return getIndirectOutputSize(catalog); return fDict.getOutputSize(catalog, false) + - strlen(" stream\nendstream\n") + fData->read(NULL, 0); + strlen(" stream\nendstream") + fData->read(NULL, 0); } void SkPDFStream::insert(SkPDFName* key, SkPDFObject* value) { fDict.insert(key, value); } + +void SkPDFStream::insert(const char key[], SkPDFObject* value) { + fDict.insert(key, value); +} |