blob: 2b3180d9292cb494d1ddbabb7c96006a31a9c7a9 [file]
/*
* Copyright 2024 Google LLC
*
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
#include "include/codec/SkPngRustDecoder.h"
#include <utility>
#include "include/core/SkStream.h"
#include "src/codec/SkPngRustCodec.h"
namespace SkPngRustDecoder {
bool IsPng(const void* buff, size_t bytesRead) { return SkPngCodecBase::IsPng(buff, bytesRead); }
std::unique_ptr<SkCodec> Decode(std::unique_ptr<SkStream> stream,
SkCodec::Result* result,
SkCodecs::DecodeContext ctx) {
SkCodec::Result resultStorage;
if (!result) {
result = &resultStorage;
}
SkPngChunkReader* chunkReader = nullptr;
if (ctx) {
chunkReader = static_cast<SkPngChunkReader*>(ctx);
}
return SkPngRustCodec::MakeFromStream(std::move(stream), result, chunkReader);
}
} // namespace SkPngRustDecoder