1161 {
1162 SkASSERT(fImages[0][0] && fImages[0][1] && fImages[1][0] && fImages[1][1]);
1163
1165 if (!dContext) {
1166 *msg = "YUV ColorSpace image creation requires a direct context.";
1168 }
1169
1171 for (int tagged : { 0, 1 }) {
1172 for (int opaque : { 0, 1 }) {
1174
1176 nullptr, fTargetColorSpace);
1179
1180 if (fImages[opaque][tagged]) {
1181 auto yuv = fImages[opaque][tagged]->
makeColorSpace(dContext, fTargetColorSpace);
1186
1192
1193 auto nonTexture = yuv->makeNonTextureImage();
1197
1202 }
1204 }
1205 }
1207 }
SkAssertResult(font.textToGlyphs("Hello", 5, SkTextEncoding::kUTF8, glyphs, std::size(glyphs))==count)
static GrDirectContext * GrAsDirectContext(GrContext_Base *base)
void allocPixels(const SkImageInfo &info, size_t rowBytes)
sk_sp< SkImage > asImage() const
const SkPixmap & pixmap() const
virtual GrRecordingContext * recordingContext() const
void drawImage(const SkImage *image, SkScalar left, SkScalar top)
static bool Equals(const SkColorSpace *, const SkColorSpace *)
virtual sk_sp< SkImage > makeColorSpace(GrDirectContext *direct, sk_sp< SkColorSpace > target) const =0
SK_API sk_sp< SkImage > SubsetTextureFrom(GrDirectContext *context, const SkImage *img, const SkIRect &subset)
Optional< SkRect > bounds
static constexpr SkIRect MakeWH(int32_t w, int32_t h)