sk_sp<SkFlattenable> SkLayerDrawLooper::CreateProc(SkReadBuffer& buffer) { int count = buffer.readInt(); Builder builder; for (int i = 0; i < count; i++) { LayerInfo info; // Legacy "flagsmask" field -- now ignored, remove when we bump version (void)buffer.readInt(); info.fPaintBits = buffer.readInt(); info.fColorMode = (SkBlendMode)buffer.readInt(); buffer.readPoint(&info.fOffset); info.fPostTranslate = buffer.readBool(); buffer.readPaint(builder.addLayerOnTop(info)); if (!buffer.isValid()) { return nullptr; } } return builder.detach(); }
static sk_sp<SkFlattenable> CreateProc(SkReadBuffer& buffer) { SkPaint paint; buffer.readPaint(&paint); return sk_sp<PaintDrawable>(new PaintDrawable(paint)); }