diff options
Diffstat (limited to 'src/codec/SkRawAdapterCodec.cpp')
-rw-r--r-- | src/codec/SkRawAdapterCodec.cpp | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/codec/SkRawAdapterCodec.cpp b/src/codec/SkRawAdapterCodec.cpp new file mode 100644 index 0000000000..76cbaa1a23 --- /dev/null +++ b/src/codec/SkRawAdapterCodec.cpp @@ -0,0 +1,30 @@ +/* + * Copyright 2016 Google Inc. + * + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +#include "SkCodec.h" +#include "SkCodecPriv.h" +#include "SkRawAdapterCodec.h" + +SkRawAdapterCodec::SkRawAdapterCodec(SkRawCodec* codec) + : INHERITED(codec) +{} + +SkISize SkRawAdapterCodec::onGetSampledDimensions(int sampleSize) const { + float scale = 1.f / static_cast<float>(sampleSize); + return this->codec()->getScaledDimensions(scale); +} + +SkCodec::Result SkRawAdapterCodec::onGetAndroidPixels( + const SkImageInfo& info, void* pixels, size_t rowBytes, + const AndroidOptions& options) { + SkCodec::Options codecOptions; + codecOptions.fZeroInitialized = options.fZeroInitialized; + codecOptions.fSubset = options.fSubset; + return this->codec()->getPixels( + info, pixels, rowBytes, &codecOptions, options.fColorPtr, + options.fColorCount); +} |