45 if (!picture || !colorSpace || size.isEmpty()) {
56 return std::unique_ptr<SkImageGenerator>(
67 , fPicture(
std::move(picture))
88 canvas->drawPicture(fPicture, &fMatrix, fPaint.
getMaybeNull());
static void info(const char *fmt,...) SK_PRINTF_LIKE(1
@ kPremul_SkAlphaType
pixel components are premultiplied by alpha
@ kRGBA_F16_SkColorType
pixel with half floats for red, green, blue, alpha;
static SkColorType colorType(AImageDecoder *decoder, const AImageDecoderHeaderInfo *headerInfo)
static std::unique_ptr< SkCanvas > MakeRasterDirect(const SkImageInfo &info, void *pixels, size_t rowBytes, const SkSurfaceProps *props=nullptr)
bool onGetPixels(const SkImageInfo &, void *pixels, size_t rowBytes, const Options &) override
SkPictureImageGenerator(const SkImageInfo &, sk_sp< SkPicture >, const SkMatrix *, const SkPaint *, const SkSurfaceProps &)
const T * getMaybeNull() const
std::unique_ptr< SkImageGenerator > MakeFromPicture(const SkISize &, sk_sp< SkPicture >, const SkMatrix *, const SkPaint *, SkImages::BitDepth, sk_sp< SkColorSpace >, SkSurfaceProps props)
@ kF16
uses 16-bit float per color component
static SkImageInfo Make(int width, int height, SkColorType ct, SkAlphaType at)