| /* | |
| * 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 |