Store content streams in an SkStream instead of an SkString (64k size limit).

Review URL: http://codereview.appspot.com/4272070

git-svn-id: http://skia.googlecode.com/svn/trunk@1011 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/include/pdf/SkPDFDevice.h b/include/pdf/SkPDFDevice.h
index 0efaafd..9292227 100644
--- a/include/pdf/SkPDFDevice.h
+++ b/include/pdf/SkPDFDevice.h
@@ -19,7 +19,7 @@
 
 #include "SkRefCnt.h"
 #include "SkDevice.h"
-#include "SkString.h"
+#include "SkStream.h"
 #include "SkPaint.h"
 #include "SkPath.h"
 
@@ -175,7 +175,7 @@
     struct GraphicStackEntry fGraphicStack[3];
     int fGraphicStackIndex;
 
-    SkString fContent;
+    SkDynamicMemoryWStream fContent;
 
     void updateGSFromPaint(const SkPaint& newPaint, bool forText);
     void updateFont(const SkPaint& paint, uint16_t glyphID);
diff --git a/include/pdf/SkPDFTypes.h b/include/pdf/SkPDFTypes.h
index efa03c3..6b5146a 100644
--- a/include/pdf/SkPDFTypes.h
+++ b/include/pdf/SkPDFTypes.h
@@ -151,7 +151,7 @@
     explicit SkPDFScalar(SkScalar value);
     virtual ~SkPDFScalar();
 
-    static void Append(SkScalar value, SkString* string);
+    static void Append(SkScalar value, SkWStream* stream);
 
     // The SkPDFObject interface.
     virtual void emitObject(SkWStream* stream, SkPDFCatalog* catalog,
diff --git a/include/pdf/SkPDFUtils.h b/include/pdf/SkPDFUtils.h
index 1f279c2..8c7d0c0 100644
--- a/include/pdf/SkPDFUtils.h
+++ b/include/pdf/SkPDFUtils.h
@@ -32,19 +32,19 @@
 class SkPDFUtils {
 public:
     static SkPDFArray* MatrixToArray(const SkMatrix& matrix);
-    
-    static void MoveTo(SkScalar x, SkScalar y, SkString* content);
-    static void AppendLine(SkScalar x, SkScalar y, SkString* content);
+
+    static void MoveTo(SkScalar x, SkScalar y, SkWStream* content);
+    static void AppendLine(SkScalar x, SkScalar y, SkWStream* content);
     static void AppendCubic(SkScalar ctl1X, SkScalar ctl1Y,
                             SkScalar ctl2X, SkScalar ctl2Y,
-                            SkScalar dstX, SkScalar dstY, SkString* content);
+                            SkScalar dstX, SkScalar dstY, SkWStream* content);
     static void AppendRectangle(SkScalar x, SkScalar y, SkScalar w, SkScalar h,
-                                SkString* content);
-    static void EmitPath(const SkPath& path, SkString* content);
-    static void ClosePath(SkString* content);
+                                SkWStream* content);
+    static void EmitPath(const SkPath& path, SkWStream* content);
+    static void ClosePath(SkWStream* content);
     static void PaintPath(SkPaint::Style style, SkPath::FillType fill,
-                          SkString* content);
-    static void StrokePath(SkString* content);
+                          SkWStream* content);
+    static void StrokePath(SkWStream* content);
 };
 
 #endif