/* * 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 #include "src/encode/SkPngEncoderBase.h" #include class SkPixmap; class SkPngEncoderMgr; template class SkSpan; class SkPngEncoderImpl final : public SkPngEncoderBase { public: // public so it can be called from SkPngEncoder namespace. It should only be made // via SkPngEncoder::Make SkPngEncoderImpl(TargetInfo targetInfo, std::unique_ptr, const SkPixmap& src); ~SkPngEncoderImpl() override; protected: bool onEncodeRow(SkSpan row) override; bool onFinishEncoding() override; std::unique_ptr fEncoderMgr; }; #endif