| /* |
| * 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 SkPictureImageGenerator_DEFINED |
| #define SkPictureImageGenerator_DEFINED |
| |
| #include "include/core/SkImageGenerator.h" |
| #include "include/core/SkMatrix.h" |
| #include "include/core/SkPaint.h" |
| #include "include/core/SkPicture.h" |
| #include "include/core/SkRefCnt.h" |
| #include "include/core/SkSurfaceProps.h" |
| #include "src/base/SkTLazy.h" |
| |
| #include <cstddef> |
| |
| struct SkImageInfo; |
| |
| class SkPictureImageGenerator : public SkImageGenerator { |
| public: |
| SkPictureImageGenerator(const SkImageInfo&, sk_sp<SkPicture>, const SkMatrix*, |
| const SkPaint*, const SkSurfaceProps&); |
| |
| protected: |
| bool onGetPixels(const SkImageInfo&, void* pixels, size_t rowBytes, const Options&) override; |
| |
| private: |
| sk_sp<SkPicture> fPicture; |
| SkMatrix fMatrix; |
| SkTLazy<SkPaint> fPaint; |
| const SkSurfaceProps fProps; |
| |
| friend class SkImage_Picture; |
| }; |
| |
| #endif |