Chromium Code Reviews| Index: src/utils/SkBitmapSourceDeserializer.cpp |
| diff --git a/src/utils/SkBitmapSourceDeserializer.cpp b/src/utils/SkBitmapSourceDeserializer.cpp |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..eee894b237d98da16db439f80d3a7d0fc138590f |
| --- /dev/null |
| +++ b/src/utils/SkBitmapSourceDeserializer.cpp |
| @@ -0,0 +1,33 @@ |
| +/* |
| + * Copyright 2015 Google Inc. |
| + * |
| + * Use of this source code is governed by a BSD-style license that can be |
| + * found in the LICENSE file. |
| + */ |
| + |
| +#include "SkBitmapSourceDeserializer.h" |
| + |
| +#include "SkBitmap.h" |
| +#include "SkFilterQuality.h" |
| +#include "SkImage.h" |
| +#include "SkImageSource.h" |
| +#include "SkReadBuffer.h" |
| + |
| +SkFlattenable* SkBitmapSourceDeserializer::CreateProc(SkReadBuffer& buffer) { |
| + SkFilterQuality filterQuality; |
| + if (buffer.isVersionLT(SkReadBuffer::kBitmapSourceFilterQuality_Version)) { |
| + filterQuality = kHigh_SkFilterQuality; |
| + } else { |
| + filterQuality = (SkFilterQuality)buffer.readInt(); |
| + } |
| + SkRect src, dst; |
| + buffer.readRect(&src); |
| + buffer.readRect(&dst); |
| + SkBitmap bitmap; |
| + if (!buffer.readBitmap(&bitmap)) { |
| + return nullptr; |
| + } |
| + SkAutoTUnref<SkImage> image(SkImage::NewFromBitmap(bitmap)); |
|
reed1
2015/09/25 08:30:08
1. do we want to mark the bitmap as immutable befo
f(malita)
2015/09/25 13:31:59
Good catch, will do.
|
| + |
| + return SkImageSource::Create(image, src, dst, filterQuality); |
| +} |