blob: 76cbaa1a23efe4f4157736fafcc3a2275c35258a [file] [log] [blame]
yujieqin916de9f2016-01-25 08:26:16 -08001/*
2 * Copyright 2016 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 "SkCodec.h"
9#include "SkCodecPriv.h"
10#include "SkRawAdapterCodec.h"
11
12SkRawAdapterCodec::SkRawAdapterCodec(SkRawCodec* codec)
13 : INHERITED(codec)
14{}
15
16SkISize SkRawAdapterCodec::onGetSampledDimensions(int sampleSize) const {
17 float scale = 1.f / static_cast<float>(sampleSize);
18 return this->codec()->getScaledDimensions(scale);
19}
20
21SkCodec::Result SkRawAdapterCodec::onGetAndroidPixels(
22 const SkImageInfo& info, void* pixels, size_t rowBytes,
23 const AndroidOptions& options) {
24 SkCodec::Options codecOptions;
25 codecOptions.fZeroInitialized = options.fZeroInitialized;
26 codecOptions.fSubset = options.fSubset;
27 return this->codec()->getPixels(
28 info, pixels, rowBytes, &codecOptions, options.fColorPtr,
29 options.fColorCount);
30}