1 /*
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
SkRawAdapterCodec(SkRawCodec * codec)12 SkRawAdapterCodec::SkRawAdapterCodec(SkRawCodec* codec)
13 : INHERITED(codec)
14 {}
15
onGetSampledDimensions(int sampleSize) const16 SkISize SkRawAdapterCodec::onGetSampledDimensions(int sampleSize) const {
17 float scale = 1.f / static_cast<float>(sampleSize);
18 return this->codec()->getScaledDimensions(scale);
19 }
20
onGetAndroidPixels(const SkImageInfo & info,void * pixels,size_t rowBytes,const AndroidOptions & options)21 SkCodec::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 }
31