45 return validator ? sk_make_sp<SkImage_Picture>(&validator) :
nullptr;
50 return &pictureIG->fProps;
61 pictureIG->fPaint.getMaybeNull());
71 if (pictureIG->fPaint.getMaybeNull()) {
83 if (!
m.isIdentity() && !
m.isTranslate()) {
90 uint32_t surfacePropFlags = this->
props()->
flags();
93 float transX =
m.getTranslateX();
94 float transY =
m.getTranslateY();
100 SkASSERT(
sizeof(
float) ==
sizeof(uint32_t));
104 keyValues[0] = (isU8 ? 0x1 : 0x0) |
105 (pixelGeometry << 1) |
106 (surfacePropFlags << 4);
107 keyValues[1] = pictureIG->fPicture->uniqueID();
109 keyValues[2] =
width;
111 memcpy(&keyValues[4], &transX,
sizeof(uint32_t));
112 memcpy(&keyValues[5], &transY,
sizeof(uint32_t));
@ kRGBA_F16_SkColorType
pixel with half floats for red, green, blue, alpha;
static sk_sp< SharedGenerator > Make(std::unique_ptr< SkImageGenerator > gen)
std::unique_ptr< SkImageGenerator > fGenerator
void clear(SkColor color)
void drawPicture(const SkPicture *picture)
sk_sp< SharedGenerator > generator() const
bool getImageKeyValues(uint32_t keyValues[SkTiledImageUtils::kNumImageKeyValues]) const
const SkSurfaceProps * props() const
void replay(SkCanvas *) const
static sk_sp< SkImage > Make(sk_sp< SkPicture > picture, const SkISize &dimensions, const SkMatrix *matrix, const SkPaint *paint, SkImages::BitDepth bitDepth, sk_sp< SkColorSpace > colorSpace, SkSurfaceProps props)
SkColorSpace * colorSpace() const
SkISize dimensions() const
SkPixelGeometry pixelGeometry() const
constexpr SkColor4f kTransparent
std::unique_ptr< SkImageGenerator > MakeFromPicture(const SkISize &, sk_sp< SkPicture >, const SkMatrix *, const SkPaint *, SkImages::BitDepth, sk_sp< SkColorSpace >, SkSurfaceProps props)
unsigned useCenter Optional< SkMatrix > matrix
sk_sp< const SkPicture > picture
static constexpr int kNumImageKeyValues
SkColorSpace * colorSpace() const
SkColorType colorType() const