コード例 #1
0
ファイル: SkPicture.cpp プロジェクト: BertiKarsunke/skia
void SkPicture::flatten(SkWriteBuffer& buffer) const {
    SkPictInfo info = this->createHeader();
    SkAutoTDelete<SkPictureData> data(this->backport());

    buffer.writeByteArray(&info.fMagic, sizeof(info.fMagic));
    buffer.writeUInt(info.fVersion);
    buffer.writeRect(info.fCullRect);
    buffer.writeUInt(info.fFlags);
    if (data) {
        buffer.writeBool(true);
        data->flatten(buffer);
    } else {
        buffer.writeBool(false);
    }
}
コード例 #2
0
ファイル: SkPixelRef.cpp プロジェクト: venkatarajasekhar/Qt
void SkPixelRef::flatten(SkWriteBuffer& buffer) const {
    this->INHERITED::flatten(buffer);
    fInfo.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);
        fUniqueGenerationID = false;  // Conservative, a copy is probably about to exist.
    }
}
コード例 #3
0
void SkBitmapProcShader::flatten(SkWriteBuffer& buffer) const {
    this->INHERITED::flatten(buffer);

    buffer.writeBitmap(fRawBitmap);
    buffer.writeUInt(fTileModeX);
    buffer.writeUInt(fTileModeY);
}
コード例 #4
0
ファイル: SkImageShader.cpp プロジェクト: molikto/Skia
void SkImageShader::flatten(SkWriteBuffer& buffer) const {
    buffer.writeUInt(fTileModeX);
    buffer.writeUInt(fTileModeY);
    buffer.writeMatrix(this->getLocalMatrix());
    buffer.writeImage(fImage.get());
    SkASSERT(fClampAsIfUnpremul == false);
}
コード例 #5
0
ファイル: Sk1DPathEffect.cpp プロジェクト: blizardxsi/123
void SkPath1DPathEffect::flatten(SkWriteBuffer& buffer) const {
    buffer.writeScalar(fAdvance);
    if (fAdvance > 0) {
        buffer.writePath(fPath);
        buffer.writeScalar(fInitialOffset);
        buffer.writeUInt(fStyle);
    }
}
コード例 #6
0
void SkPaintOptionsAndroid::flatten(SkWriteBuffer& buffer) const {
    buffer.writeUInt(fFontVariant);
#ifdef SKLANG_OPT
    buffer.writeString(getLanguage().getTag().c_str());
#else
    buffer.writeString(fLanguage.getTag().c_str());
#endif
    buffer.writeBool(fUseFontFallbacks);
}
コード例 #7
0
ファイル: SkImageFilter.cpp プロジェクト: davidleen/skia
void SkImageFilter::flatten(SkWriteBuffer& buffer) const {
    buffer.writeInt(fInputCount);
    for (int i = 0; i < fInputCount; i++) {
        SkImageFilter* input = this->getInput(i);
        buffer.writeBool(input != nullptr);
        if (input != nullptr) {
            buffer.writeFlattenable(input);
        }
    }
    buffer.writeRect(fCropRect.rect());
    buffer.writeUInt(fCropRect.flags());
}
コード例 #8
0
void SkImageShader::flatten(SkWriteBuffer& buffer) const {
    buffer.writeUInt(fTileModeX);
    buffer.writeUInt(fTileModeY);
    buffer.writeMatrix(this->getLocalMatrix());
    buffer.writeImage(fImage);
}
コード例 #9
0
 void flatten(SkWriteBuffer& buffer) const override {
     buffer.writeUInt(fA);
     buffer.writeUInt(fB);
     buffer.writeUInt(fC);
     buffer.writeUInt(fD);
 }
コード例 #10
0
ファイル: SkColorFilters.cpp プロジェクト: Ashu17/blackberry
void SkModeColorFilter::flatten(SkWriteBuffer& buffer) const {
    buffer.writeColor(fColor);
    buffer.writeUInt(fMode);
}
コード例 #11
0
void SkBitmapProcShader::flatten(SkWriteBuffer& buffer) const {
    buffer.writeMatrix(this->getLocalMatrix());
    buffer.writeBitmap(fRawBitmap);
    buffer.writeUInt(fTileModeX);
    buffer.writeUInt(fTileModeY);
}
コード例 #12
0
void SkLerpXfermode::flatten(SkWriteBuffer& buffer) const {
    this->INHERITED::flatten(buffer);
    buffer.writeUInt(fScale256);
}
コード例 #13
0
ファイル: SkPictureData.cpp プロジェクト: AHPlankton/skia
static void write_tag_size(SkWriteBuffer& buffer, uint32_t tag, size_t size) {
    buffer.writeUInt(tag);
    buffer.writeUInt(SkToU32(size));
}
コード例 #14
0
ファイル: SkAvoidXfermode.cpp プロジェクト: mokacao/skia
void SkAvoidXfermode::flatten(SkWriteBuffer& buffer) const {
    buffer.writeColor(fOpColor);
    buffer.writeUInt(fTolerance);
    buffer.writeUInt(fMode);
}
コード例 #15
0
ファイル: SkLerpXfermode.cpp プロジェクト: geekygenius/skia
void SkLerpXfermode::flatten(SkWriteBuffer& buffer) const {
    buffer.writeUInt(fScale256);
}
コード例 #16
0
ファイル: SkTrimPathEffect.cpp プロジェクト: molikto/Skia
void SkTrimPE::flatten(SkWriteBuffer& buffer) const {
    buffer.writeScalar(fStartT);
    buffer.writeScalar(fStopT);
    buffer.writeUInt(static_cast<uint32_t>(fMode));
}