* Copyright 2023 Google LLC
*
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
#ifndef SkPngEncoderImpl_DEFINED
#define SkPngEncoderImpl_DEFINED
#include <cstdint>
#include "src/encode/SkPngEncoderBase.h"
#include <memory>
class SkPixmap;
class SkPngEncoderMgr;
template <typename T> class SkSpan;
class SkPngEncoderImpl final : public SkPngEncoderBase {
public:
SkPngEncoderImpl(TargetInfo targetInfo, std::unique_ptr<SkPngEncoderMgr>, const SkPixmap& src);
~SkPngEncoderImpl() override;
protected:
bool onEncodeRow(SkSpan<const uint8_t> row) override;
bool onFinishEncoding() override;
std::unique_ptr<SkPngEncoderMgr> fEncoderMgr;
};
#endif