sk_sp<SkFlattenable> SkImageShader::CreateProc(SkReadBuffer& buffer) { const TileMode tx = (TileMode)buffer.readUInt(); const TileMode ty = (TileMode)buffer.readUInt(); SkMatrix matrix; buffer.readMatrix(&matrix); SkAutoTUnref<SkImage> img(buffer.readImage()); if (!img) { return nullptr; } return SkImageShader::Make(img, tx, ty, &matrix); }
sk_sp<SkFlattenable> SkImageShader::CreateProc(SkReadBuffer& buffer) { const TileMode tx = (TileMode)buffer.readUInt(); const TileMode ty = (TileMode)buffer.readUInt(); SkMatrix localMatrix; buffer.readMatrix(&localMatrix); sk_sp<SkImage> img = buffer.readImage(); if (!img) { return nullptr; } return SkImageShader::Make(std::move(img), tx, ty, &localMatrix); }
sk_sp<SkFlattenable> SkImageSource::CreateProc(SkReadBuffer& buffer) { SkFilterQuality filterQuality = (SkFilterQuality)buffer.readInt(); SkRect src, dst; buffer.readRect(&src); buffer.readRect(&dst); sk_sp<SkImage> image(buffer.readImage()); if (!image) { return nullptr; } return SkImageSource::Make(std::move(image), src, dst, filterQuality); }