1 /* 2 * Copyright 2023 Google LLC 3 * 4 * Use of this source code is governed by a BSD-style license that can be 5 * found in the LICENSE file. 6 */ 7 8 #ifndef SkPngEncoderImpl_DEFINED 9 #define SkPngEncoderImpl_DEFINED 10 11 #include "include/encode/SkEncoder.h" 12 13 #include <memory> 14 15 class SkPixmap; 16 class SkPngEncoderMgr; 17 18 class SkPngEncoderImpl : public SkEncoder { 19 public: 20 // public so it can be called from SkPngEncoder namespace. It should only be made 21 // via SkPngEncoder::Make 22 SkPngEncoderImpl(std::unique_ptr<SkPngEncoderMgr>, const SkPixmap& src); 23 ~SkPngEncoderImpl() override; 24 25 protected: 26 bool onEncodeRows(int numRows) override; 27 std::unique_ptr<SkPngEncoderMgr> fEncoderMgr; 28 }; 29 #endif 30