void SkPictureData::flattenToBuffer(SkWriteBuffer& buffer) const { int i, n; // we never record bitmaps anymore, only images SkASSERT(fBitmaps.count() == 0); if ((n = fPaints.count()) > 0) { write_tag_size(buffer, SK_PICT_PAINT_BUFFER_TAG, n); for (i = 0; i < n; i++) { buffer.writePaint(fPaints[i]); } } if ((n = fPaths.count()) > 0) { write_tag_size(buffer, SK_PICT_PATH_BUFFER_TAG, n); buffer.writeInt(n); for (int i = 0; i < n; i++) { buffer.writePath(fPaths[i]); } } if (fTextBlobCount > 0) { write_tag_size(buffer, SK_PICT_TEXTBLOB_BUFFER_TAG, fTextBlobCount); for (i = 0; i < fTextBlobCount; ++i) { fTextBlobRefs[i]->flatten(buffer); } } if (fImageCount > 0) { write_tag_size(buffer, SK_PICT_IMAGE_BUFFER_TAG, fImageCount); for (i = 0; i < fImageCount; ++i) { buffer.writeImage(fImageRefs[i]); } } }
void SkLayerRasterizer::flatten(SkWriteBuffer& buffer) const { this->INHERITED::flatten(buffer); SkASSERT(fLayers); buffer.writeInt(fLayers->count()); SkDeque::F2BIter iter(*fLayers); const SkLayerRasterizer_Rec* rec; while ((rec = (const SkLayerRasterizer_Rec*)iter.next()) != NULL) { buffer.writePaint(rec->fPaint); buffer.writePoint(rec->fOffset); } }
void SkLayerDrawLooper::flatten(SkWriteBuffer& buffer) const { buffer.writeInt(fCount); Rec* rec = fRecs; for (int i = 0; i < fCount; i++) { // Legacy "flagsmask" field -- now ignored, remove when we bump version buffer.writeInt(0); buffer.writeInt(rec->fInfo.fPaintBits); buffer.writeInt(rec->fInfo.fColorMode); buffer.writePoint(rec->fInfo.fOffset); buffer.writeBool(rec->fInfo.fPostTranslate); buffer.writePaint(rec->fPaint); rec = rec->fNext; } }
void flatten(SkWriteBuffer& buffer) const override { buffer.writePaint(fPaint); }
void SkPaintImageFilter::flatten(SkWriteBuffer& buffer) const { this->INHERITED::flatten(buffer); buffer.writePaint(fPaint); }