void flatten(SkWriteBuffer& buf) const override { buf.writeBitmap(fDiffuseMap); buf.writeBitmap(fNormalMap); buf.writeScalarArray(&fLight.fDirection.fX, 3); buf.writeColor(fLight.fColor); buf.writeColor(fAmbientColor); }
void SkLights::flatten(SkWriteBuffer& buf) const { buf.writeScalarArray(&this->ambientLightColor().fX, 3); buf.writeInt(this->numLights()); for (int l = 0; l < this->numLights(); ++l) { const Light& light = this->light(l); bool isPoint = Light::kPoint_LightType == light.type(); buf.writeBool(isPoint); buf.writeScalarArray(&light.color().fX, 3); buf.writeScalarArray(&light.dir().fX, 3); if (isPoint) { buf.writeScalar(light.intensity()); } } }
void SkDashPathEffect::flatten(SkWriteBuffer& 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 SkMatrixConvolutionImageFilter::flatten(SkWriteBuffer& 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(fKernelOffset.fX); buffer.writeInt(fKernelOffset.fY); buffer.writeInt((int) fTileMode); buffer.writeBool(fConvolveAlpha); }
void SkGradientShaderBase::Descriptor::flatten(SkWriteBuffer& buffer) const { buffer.writeColorArray(fColors, fCount); if (fPos) { buffer.writeBool(true); buffer.writeScalarArray(fPos, fCount); } else { buffer.writeBool(false); } buffer.write32(fTileMode); buffer.write32(fGradFlags); if (fLocalMatrix) { buffer.writeBool(true); buffer.writeMatrix(*fLocalMatrix); } else { buffer.writeBool(false); } }
void SkDashPathEffect::flatten(SkWriteBuffer& buffer) const { buffer.writeScalar(fPhase); buffer.writeScalarArray(fIntervals, fCount); }
static void Write(SkWriteBuffer& writer, SkScalar* data, uint32_t arraySize) { writer.writeScalarArray(data, arraySize); }
void SkColorMatrixFilterRowMajor255::flatten(SkWriteBuffer& buffer) const { SkASSERT(sizeof(fMatrix)/sizeof(SkScalar) == 20); buffer.writeScalarArray(fMatrix, 20); }