blob: ccc95eefcfbfee1b088929e9e038ada2ab053fb0 [file] [log] [blame]
Robert Phillips19c22e92017-02-10 12:32:08 +00001/*
2 * Copyright 2015 Google Inc.
3 *
4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file.
6 */
7
8#include "SkBitmapSourceDeserializer.h"
9
10#include "SkBitmap.h"
11#include "SkFilterQuality.h"
12#include "SkImage.h"
13#include "SkImageSource.h"
14#include "SkReadBuffer.h"
15
16sk_sp<SkFlattenable> SkBitmapSourceDeserializer::CreateProc(SkReadBuffer& buffer) {
Mike Reed70bc94f2017-06-08 12:45:52 -040017 SkFilterQuality filterQuality = (SkFilterQuality)buffer.readInt();
Robert Phillips19c22e92017-02-10 12:32:08 +000018 SkRect src, dst;
19 buffer.readRect(&src);
20 buffer.readRect(&dst);
21 sk_sp<SkImage> image = buffer.readBitmapAsImage();
22 if (image) {
23 return SkImageSource::Make(std::move(image), src, dst, filterQuality);
24 }
25 return nullptr;
26}