diff options
Diffstat (limited to 'src/core/SkFlattenableSerialization.cpp')
-rw-r--r-- | src/core/SkFlattenableSerialization.cpp | 18 |
1 files changed, 5 insertions, 13 deletions
diff --git a/src/core/SkFlattenableSerialization.cpp b/src/core/SkFlattenableSerialization.cpp index e72b4c5348..3976010fb2 100644 --- a/src/core/SkFlattenableSerialization.cpp +++ b/src/core/SkFlattenableSerialization.cpp @@ -6,27 +6,19 @@ */ #include "SkFlattenableSerialization.h" - #include "SkData.h" -#include "SkValidatingReadBuffer.h" -#include "SkWriteBuffer.h" +#include "SkImageFilter.h" SkData* SkValidatingSerializeFlattenable(SkFlattenable* flattenable) { - SkBinaryWriteBuffer writer; - writer.writeFlattenable(flattenable); - size_t size = writer.bytesWritten(); - auto data = SkData::MakeUninitialized(size); - writer.writeToMemory(data->writable_data()); - return data.release(); + return flattenable->serialize().release(); } SkFlattenable* SkValidatingDeserializeFlattenable(const void* data, size_t size, SkFlattenable::Type type) { - SkValidatingReadBuffer buffer(data, size); - return buffer.readFlattenable(type); + return SkFlattenable::Deserialize(type, data, size).release(); } sk_sp<SkImageFilter> SkValidatingDeserializeImageFilter(const void* data, size_t size) { - return sk_sp<SkImageFilter>((SkImageFilter*)SkValidatingDeserializeFlattenable( - data, size, SkImageFilter::GetFlattenableType())); + auto flat = SkFlattenable::Deserialize(SkFlattenable::kSkImageFilter_Type, data, size); + return sk_sp<SkImageFilter>(static_cast<SkImageFilter*>(flat.release())); } |