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)