From d877fdbb6e64692285c3e6532d88b9458f65b3cd Mon Sep 17 00:00:00 2001 From: "vandebo@chromium.org" Date: Tue, 12 Oct 2010 23:08:13 +0000 Subject: 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 --- src/pdf/SkPDFStream.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'src/pdf/SkPDFStream.cpp') 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 lenKey = new SkPDFName("Length"); - lenKey->unref(); // SkRefPtr and new both took a reference. SkRefPtr 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); +} -- cgit v1.2.3