Register some flattenable factories.

Now, SkComposeShaders, SkDiscreteMapper, SkCosineMapper,
Line2DPathEffect, and SkTransparentShader can be flattened
and unflattened. This makes more of our samples work when
using a pipe.

Review URL: https://codereview.appspot.com/6338064

git-svn-id: http://skia.googlecode.com/svn/trunk@4334 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/samplecode/SampleAll.cpp b/samplecode/SampleAll.cpp
index 201dfe7..303059b 100644
--- a/samplecode/SampleAll.cpp
+++ b/samplecode/SampleAll.cpp
@@ -250,6 +250,8 @@
     typedef Sk2DPathEffect INHERITED;
 };
 
+SK_DEFINE_FLATTENABLE_REGISTRAR(Line2DPathEffect)
+
 static void r9(SkLayerRasterizer* rast, SkPaint& p) {
     rast->addLayer(p);
     
diff --git a/src/core/SkComposeShader.cpp b/src/core/SkComposeShader.cpp
index 6f3eccd..90e4953 100644
--- a/src/core/SkComposeShader.cpp
+++ b/src/core/SkComposeShader.cpp
@@ -165,3 +165,5 @@
     }
 }
 
+SK_DEFINE_FLATTENABLE_REGISTRAR(SkComposeShader)
+
diff --git a/src/effects/SkTransparentShader.cpp b/src/effects/SkTransparentShader.cpp
index 28b075f..419a330 100644
--- a/src/effects/SkTransparentShader.cpp
+++ b/src/effects/SkTransparentShader.cpp
@@ -125,3 +125,5 @@
         memcpy(span, src, count << 1);
     }
 }
+
+SK_DEFINE_FLATTENABLE_REGISTRAR(SkTransparentShader)
diff --git a/src/utils/SkUnitMappers.cpp b/src/utils/SkUnitMappers.cpp
index df9771d..929447e 100644
--- a/src/utils/SkUnitMappers.cpp
+++ b/src/utils/SkUnitMappers.cpp
@@ -57,3 +57,5 @@
 SkCosineMapper::SkCosineMapper(SkFlattenableReadBuffer& rb)
     : SkUnitMapper(rb) {}
 
+SK_DEFINE_FLATTENABLE_REGISTRAR(SkDiscreteMapper)
+SK_DEFINE_FLATTENABLE_REGISTRAR(SkCosineMapper)