void SkMallocPixelRef::flatten(SkFlattenableWriteBuffer& buffer) const { this->INHERITED::flatten(buffer); buffer.write32(fSize); buffer.writePad(fStorage, fSize); if (fCTable) { buffer.writeBool(true); fCTable->flatten(buffer); } else { buffer.writeBool(false); } }
void SkLayerDrawLooper::flatten(SkFlattenableWriteBuffer& buffer) const { this->INHERITED::flatten(buffer); #ifdef SK_DEBUG { Rec* rec = fRecs; int count = 0; while (rec) { rec = rec->fNext; count += 1; } SkASSERT(count == fCount); } #endif buffer.writeInt(fCount); Rec* rec = fRecs; for (int i = 0; i < fCount; i++) { buffer.writeInt(rec->fInfo.fPaintBits); buffer.writeInt(rec->fInfo.fColorMode); buffer.writeScalar(rec->fInfo.fOffset.fX); buffer.writeScalar(rec->fInfo.fOffset.fY); buffer.writeBool(rec->fInfo.fPostTranslate); rec->fPaint.flatten(buffer); rec = rec->fNext; } }
void SkShader::flatten(SkFlattenableWriteBuffer& buffer) { this->INHERITED::flatten(buffer); buffer.writeBool(fLocalMatrix != NULL); if (fLocalMatrix) { SkWriteMatrix(&buffer, *fLocalMatrix); } }
void SkShader::flatten(SkFlattenableWriteBuffer& buffer) { this->INHERITED::flatten(buffer); buffer.writeBool(fLocalMatrix != NULL); if (fLocalMatrix) { buffer.writeMul4(fLocalMatrix, sizeof(SkMatrix)); } }
void SkMergeImageFilter::flatten(SkFlattenableWriteBuffer& buffer) const { this->INHERITED::flatten(buffer); buffer.writeBool(fModes != NULL); if (fModes) { buffer.writeByteArray(fModes, countInputs() * sizeof(fModes[0])); } }
void SkShader::flatten(SkFlattenableWriteBuffer& buffer) const { this->INHERITED::flatten(buffer); bool hasLocalM = this->hasLocalMatrix(); buffer.writeBool(hasLocalM); if (hasLocalM) { buffer.writeMatrix(fLocalMatrix); } }
void SkBlendImageFilter::flatten(SkFlattenableWriteBuffer& buffer) const { this->INHERITED::flatten(buffer); buffer.writeInt((int) fMode); buffer.writeFlattenable(fBackground); buffer.writeBool(NULL != fForeground); if (NULL != fForeground) { buffer.writeFlattenable(fForeground); } }
void SkMallocPixelRef::flatten(SkFlattenableWriteBuffer& buffer) const { this->INHERITED::flatten(buffer); buffer.writeByteArray(fStorage, fSize); buffer.writeBool(fCTable != NULL); if (fCTable) { buffer.writeFlattenable(fCTable); } }
void SkImageRef::flatten(SkFlattenableWriteBuffer& buffer) const { this->INHERITED::flatten(buffer); buffer.writeUInt(fConfig); buffer.writeInt(fSampleSize); buffer.writeBool(fDoDither); fStream->rewind(); buffer.writeStream(fStream, fStream->getLength()); }
void SkImageFilter::flatten(SkFlattenableWriteBuffer& buffer) const { buffer.writeInt(fInputCount); for (int i = 0; i < fInputCount; i++) { SkImageFilter* input = getInput(i); buffer.writeBool(input != NULL); if (input != NULL) { buffer.writeFlattenable(input); } } }
void SkDashPathEffect::flatten(SkFlattenableWriteBuffer& buffer) const { SkASSERT(fInitialDashLength >= 0); this->INHERITED::flatten(buffer); buffer.writeInt(fInitialDashIndex); buffer.writeScalar(fInitialDashLength); buffer.writeScalar(fIntervalLength); buffer.writeBool(fScaleToFit); buffer.writeScalarArray(fIntervals, fCount); }
void SkImageRef::flatten(SkFlattenableWriteBuffer& buffer) const { this->INHERITED::flatten(buffer); buffer.write8(fConfig); buffer.write8(fSampleSize); buffer.writeBool(fDoDither); size_t length = fStream->getLength(); buffer.write32(length); fStream->rewind(); buffer.readFromStream(fStream, length); }
void SkMatrixConvolutionImageFilter::flatten(SkFlattenableWriteBuffer& buffer) const { this->INHERITED::flatten(buffer); buffer.writeInt(fKernelSize.fWidth); buffer.writeInt(fKernelSize.fHeight); buffer.writeScalarArray(fKernel, fKernelSize.fWidth * fKernelSize.fHeight); buffer.writeScalar(fGain); buffer.writeScalar(fBias); buffer.writeInt(fTarget.fX); buffer.writeInt(fTarget.fY); buffer.writeInt((int) fTileMode); buffer.writeBool(fConvolveAlpha); }
void SkPixelRef::flatten(SkFlattenableWriteBuffer& buffer) const { this->INHERITED::flatten(buffer); buffer.writeBool(fIsImmutable); // We write the gen ID into the picture for within-process recording. This // is safe since the same genID will never refer to two different sets of // pixels (barring overflow). However, each process has its own "namespace" // of genIDs. So for cross-process recording we write a zero which will // trigger assignment of a new genID in playback. if (buffer.isCrossProcess()) { buffer.writeUInt(0); } else { buffer.writeUInt(fGenerationID); } }
void SkMallocPixelRef::flatten(SkFlattenableWriteBuffer& buffer) const { this->INHERITED::flatten(buffer); buffer.write32(fRB); // TODO: replace this bulk write with a chunky one that can trim off any // trailing bytes on each scanline (in case rowbytes > width*size) size_t size = this->info().getSafeSize(fRB); buffer.writeByteArray(fStorage, size); buffer.writeBool(fCTable != NULL); if (fCTable) { fCTable->writeToBuffer(buffer); } }
static void paint_write(const SkPaint& paint, SkFlattenableWriteBuffer& buffer) { buffer.writeBool(paint.isAntiAlias()); buffer.write8(paint.getStyle()); buffer.write8(paint.getAlpha()); if (paint.getStyle() != SkPaint::kFill_Style) { buffer.writeScalar(paint.getStrokeWidth()); buffer.writeScalar(paint.getStrokeMiter()); buffer.write8(paint.getStrokeCap()); buffer.write8(paint.getStrokeJoin()); } buffer.writeFlattenable(paint.getMaskFilter()); buffer.writeFlattenable(paint.getPathEffect()); buffer.writeFlattenable(paint.getRasterizer()); buffer.writeFlattenable(paint.getXfermode()); }
void SkPixelRef::flatten(SkFlattenableWriteBuffer& buffer) const { buffer.writeBool(fIsImmutable); }
void SkPixelRef::flatten(SkFlattenableWriteBuffer& buffer) const { this->INHERITED::flatten(buffer); buffer.writeBool(fIsImmutable); }