blob: 5551136fa61362dd5b42c843affeb53aeda14c0f [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
Mike Kleinc0bd9f92019-04-23 12:05:21 -05008#include "src/codec/SkAndroidCodecAdapter.h"
9#include "src/codec/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) {
Leon Scroggins III267a8582020-11-13 10:24:40 -050026 SkCodec::Options codecOptions;
27 codecOptions.fZeroInitialized = options.fZeroInitialized;
28 codecOptions.fSubset = options.fSubset;
29 return this->codec()->getPixels(info, pixels, rowBytes, &codecOptions);
msarett3d9d7a72015-10-21 10:27:10 -070030}