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 SkImageShader::flatten(SkWriteBuffer& buffer) const { buffer.writeUInt(fTileModeX); buffer.writeUInt(fTileModeY); buffer.writeMatrix(this->getLocalMatrix()); buffer.writeImage(fImage.get()); SkASSERT(fClampAsIfUnpremul == false); }
void SkImageShader::flatten(SkWriteBuffer& buffer) const { buffer.writeUInt(fTileModeX); buffer.writeUInt(fTileModeY); buffer.writeMatrix(this->getLocalMatrix()); buffer.writeImage(fImage); }
void SkImageSource::flatten(SkWriteBuffer& buffer) const { buffer.writeInt(fFilterQuality); buffer.writeRect(fSrcRect); buffer.writeRect(fDstRect); buffer.writeImage(fImage); }