blob: 7f882e1f836eec563af58dc6a781a25efeec3746 [file] [log] [blame]
msarett3d9d7a72015-10-21 10:27:10 -07001/*
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
Nigel Tao612a65d2018-11-09 10:10:31 +11008#include "SkAndroidCodecAdapter.h"
msarett3d9d7a72015-10-21 10:27:10 -07009#include "SkCodecPriv.h"
msarett3d9d7a72015-10-21 10:27:10 -070010
Nigel Tao612a65d2018-11-09 10:10:31 +110011SkAndroidCodecAdapter::SkAndroidCodecAdapter(SkCodec* codec, ExifOrientationBehavior behavior)
Leon Scroggins IIIda3e9ad2018-01-26 15:48:26 -050012 : INHERITED(codec, behavior)
msarett3d9d7a72015-10-21 10:27:10 -070013{}
14
Nigel Tao612a65d2018-11-09 10:10:31 +110015SkISize SkAndroidCodecAdapter::onGetSampledDimensions(int sampleSize) const {
msarett3d9d7a72015-10-21 10:27:10 -070016 float scale = get_scale_from_sample_size(sampleSize);
msarett90c4d5f2015-12-10 13:09:24 -080017 return this->codec()->getScaledDimensions(scale);
msarett3d9d7a72015-10-21 10:27:10 -070018}
19
Nigel Tao612a65d2018-11-09 10:10:31 +110020bool SkAndroidCodecAdapter::onGetSupportedSubset(SkIRect* desiredSubset) const {
msarett90c4d5f2015-12-10 13:09:24 -080021 return this->codec()->getValidSubset(desiredSubset);
msarett3d9d7a72015-10-21 10:27:10 -070022}
23
Nigel Tao612a65d2018-11-09 10:10:31 +110024SkCodec::Result SkAndroidCodecAdapter::onGetAndroidPixels(const SkImageInfo& info, void* pixels,
scroggoe95a0682015-11-04 04:31:12 -080025 size_t rowBytes, const AndroidOptions& options) {
msarett3d9d7a72015-10-21 10:27:10 -070026 SkCodec::Options codecOptions;
27 codecOptions.fZeroInitialized = options.fZeroInitialized;
28 codecOptions.fSubset = options.fSubset;
Leon Scroggins571b30f2017-07-11 17:35:31 +000029 return this->codec()->getPixels(info, pixels, rowBytes, &codecOptions);
msarett3d9d7a72015-10-21 10:27:10 -070030}