SkLayerDrawLooper::SkLayerDrawLooper(SkFlattenableReadBuffer& buffer) : INHERITED(buffer), fRecs(NULL), fTopRec(NULL), fCount(0), fCurrRec(NULL) { int count = buffer.readInt(); for (int i = 0; i < count; i++) { LayerInfo info; info.fFlagsMask = buffer.readInt(); info.fPaintBits = buffer.readInt(); info.fColorMode = (SkXfermode::Mode)buffer.readInt(); buffer.readPoint(&info.fOffset); info.fPostTranslate = buffer.readBool(); buffer.readPaint(this->addLayerOnTop(info)); } SkASSERT(count == fCount); #ifdef SK_DEBUG { Rec* rec = fRecs; int n = 0; while (rec) { rec = rec->fNext; n += 1; } SkASSERT(count == n); } #endif }
SkPaintShape::SkPaintShape(SkFlattenableReadBuffer& buffer) : INHERITED(buffer) { buffer.readPaint(&fPaint); }