4040#include < functional>
4141#include < utility>
4242
43- class GrContext ;
4443class GrRenderTargetContext ;
4544
4645static void drawContents (SkSurface* surface, SkColor fillC) {
@@ -160,7 +159,7 @@ class ImageGM : public skiagm::GM {
160159 SkImageInfo info = SkImageInfo::MakeN32Premul (W, H);
161160 sk_sp<SkSurface> surf0 (SkSurface::MakeRasterDirect (info, fBuffer , RB));
162161 sk_sp<SkSurface> surf1 (SkSurface::MakeRaster (info));
163- sk_sp<SkSurface> surf2 (SkSurface::MakeRenderTarget (canvas->getGrContext (),
162+ sk_sp<SkSurface> surf2 (SkSurface::MakeRenderTarget (canvas->recordingContext (),
164163 SkBudgeted::kNo , info));
165164
166165 test_surface (canvas, surf0.get (), true );
@@ -222,34 +221,50 @@ static void draw_contents(SkCanvas* canvas) {
222221 canvas->drawCircle (50 , 50 , 35 , paint);
223222}
224223
225- static sk_sp<SkImage> make_raster (const SkImageInfo& info, GrContext*, void (*draw)(SkCanvas*)) {
224+ static sk_sp<SkImage> make_raster (const SkImageInfo& info,
225+ GrRecordingContext*,
226+ void (*draw)(SkCanvas*)) {
226227 auto surface (SkSurface::MakeRaster (info));
227228 draw (surface->getCanvas ());
228229 return surface->makeImageSnapshot ();
229230}
230231
231- static sk_sp<SkImage> make_picture (const SkImageInfo& info, GrContext*, void (*draw)(SkCanvas*)) {
232+ static sk_sp<SkImage> make_picture (const SkImageInfo& info,
233+ GrRecordingContext*,
234+ void (*draw)(SkCanvas*)) {
232235 SkPictureRecorder recorder;
233236 draw (recorder.beginRecording (SkRect::MakeIWH (info.width (), info.height ())));
234237 return SkImage::MakeFromPicture (recorder.finishRecordingAsPicture (),
235238 info.dimensions (), nullptr , nullptr , SkImage::BitDepth::kU8 ,
236239 SkColorSpace::MakeSRGB ());
237240}
238241
239- static sk_sp<SkImage> make_codec (const SkImageInfo& info, GrContext*, void (*draw)(SkCanvas*)) {
242+ static sk_sp<SkImage> make_codec (const SkImageInfo& info,
243+ GrRecordingContext*,
244+ void (*draw)(SkCanvas*)) {
240245 sk_sp<SkImage> image (make_raster (info, nullptr , draw));
241246 return SkImage::MakeFromEncoded (image->encodeToData ());
242247}
243248
244- static sk_sp<SkImage> make_gpu (const SkImageInfo& info, GrContext* ctx, void (*draw)(SkCanvas*)) {
245- if (!ctx) { return nullptr ; }
249+ static sk_sp<SkImage> make_gpu (const SkImageInfo& info,
250+ GrRecordingContext* ctx,
251+ void (*draw)(SkCanvas*)) {
252+ if (!ctx) {
253+ return nullptr ;
254+ }
255+
246256 auto surface (SkSurface::MakeRenderTarget (ctx, SkBudgeted::kNo , info));
247- if (!surface) { return nullptr ; }
257+ if (!surface) {
258+ return nullptr ;
259+ }
260+
248261 draw (surface->getCanvas ());
249262 return surface->makeImageSnapshot ();
250263}
251264
252- typedef sk_sp<SkImage> (*ImageMakerProc)(const SkImageInfo&, GrContext*, void (*)(SkCanvas*));
265+ typedef sk_sp<SkImage> (*ImageMakerProc)(const SkImageInfo&,
266+ GrRecordingContext*,
267+ void (*)(SkCanvas*));
253268
254269class ScalePixelsGM : public skiagm ::GM {
255270public:
@@ -271,7 +286,7 @@ class ScalePixelsGM : public skiagm::GM {
271286 make_codec, make_raster, make_picture, make_codec, make_gpu,
272287 };
273288 for (auto & proc : procs) {
274- sk_sp<SkImage> image (proc (info, canvas->getGrContext (), draw_contents));
289+ sk_sp<SkImage> image (proc (info, canvas->recordingContext (), draw_contents));
275290 if (image) {
276291 show_scaled_pixels (canvas, image.get ());
277292 }
@@ -337,8 +352,8 @@ DEF_SIMPLE_GPU_GM(new_texture_image, context, rtc, canvas, 280, 60) {
337352 SkImage::BitDepth::kU8 , srgbColorSpace);
338353 },
339354 // Create a texture image
340- [direct , render_image]() -> sk_sp<SkImage> {
341- auto surface (SkSurface::MakeRenderTarget (direct , SkBudgeted::kYes ,
355+ [context , render_image]() -> sk_sp<SkImage> {
356+ auto surface (SkSurface::MakeRenderTarget (context , SkBudgeted::kYes ,
342357 SkImageInfo::MakeS32 (kSize , kSize ,
343358 kPremul_SkAlphaType )));
344359 if (!surface) {
0 commit comments