blob: d3899b125bac08578a830ab4e5f3a69f9a566be4 [file] [log] [blame]
/*
* 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