Store more behavior of SkFlatDictionary in SkFlatController.
Code refactoring for simplicity.
Review URL: https://codereview.appspot.com/6427046
git-svn-id: http://skia.googlecode.com/svn/trunk@4929 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/pipe/SkGPipeWrite.cpp b/src/pipe/SkGPipeWrite.cpp
index 75f1aff..2ea642e 100644
--- a/src/pipe/SkGPipeWrite.cpp
+++ b/src/pipe/SkGPipeWrite.cpp
@@ -65,8 +65,9 @@
class FlattenableHeap : public SkFlatController {
public:
- FlattenableHeap(int numFlatsToKeep)
- : fNumFlatsToKeep(numFlatsToKeep) {
+ FlattenableHeap(int numFlatsToKeep, SkNamedFactorySet* fset)
+ : fNumFlatsToKeep(numFlatsToKeep) {
+ this->setNamedFactorySet(fset);
}
~FlattenableHeap() {
@@ -138,8 +139,8 @@
class FlatDictionary : public SkFlatDictionary<SkFlattenable> {
public:
- FlatDictionary(FlattenableHeap* heap, SkNamedFactorySet* factorySet)
- : SkFlatDictionary<SkFlattenable>(heap, NULL, NULL, factorySet) {
+ FlatDictionary(FlattenableHeap* heap)
+ : SkFlatDictionary<SkFlattenable>(heap) {
fFlattenProc = &flattenFlattenableProc;
// No need to define fUnflattenProc since the writer will never
// unflatten the data.
@@ -597,10 +598,10 @@
, fSharedHeap(!isCrossProcess(flags), controller->numberOfReaders())
, fWriter(*writer)
, fFlags(flags)
-, fBitmapHeap(BITMAPS_TO_KEEP)
-, fBitmapDictionary(&fBitmapHeap, NULL, NULL, fFactorySet)
-, fFlattenableHeap(FLATTENABLES_TO_KEEP)
-, fFlatDictionary(&fFlattenableHeap, fFactorySet) {
+, fBitmapHeap(BITMAPS_TO_KEEP, fFactorySet)
+, fBitmapDictionary(&fBitmapHeap)
+, fFlattenableHeap(FLATTENABLES_TO_KEEP, fFactorySet)
+, fFlatDictionary(&fFlattenableHeap) {
fController = controller;
fDone = false;
fBlockSize = 0; // need first block from controller