add cross-process option to gpipe
add unittests for reader32 and writer32



git-svn-id: http://skia.googlecode.com/svn/trunk@1397 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/include/pipe/SkGPipe.h b/include/pipe/SkGPipe.h
index e9f8502..0ca66ab 100644
--- a/include/pipe/SkGPipe.h
+++ b/include/pipe/SkGPipe.h
@@ -19,6 +19,7 @@
 #define SkGPipe_DEFINED
 
 #include "SkWriter32.h"
+#include "SkFlattenable.h"
 
 class SkCanvas;
 
@@ -74,7 +75,12 @@
     ~SkGPipeWriter();
 
     bool isRecording() const { return NULL != fCanvas; }
-    SkCanvas* startRecording(SkGPipeController*);
+
+    enum Flags {
+        kCrossProcess_Flag = 1 << 0,
+    };
+
+    SkCanvas* startRecording(SkGPipeController*, uint32_t flags = 0);
 
     // called in destructor, but can be called sooner once you know there
     // should be no more drawing calls made into the recording canvas.
@@ -83,6 +89,7 @@
 private:
     class SkGPipeCanvas* fCanvas;
     SkGPipeController*   fController;
+    SkFactorySet         fFactorySet;
     SkWriter32 fWriter;
 };