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