| #if 0  // Disabled until updated to use current API. | 
 | // Copyright 2019 Google LLC. | 
 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. | 
 | #include "tools/fiddle/examples.h" | 
 | // HASH=6de6f3ef699a72ff26da1b26b23a3316 | 
 | REG_FIDDLE(Surface_characterize, 256, 64, false, 0) { | 
 | void draw(SkCanvas* canvas) { | 
 |     SkPaint paint; | 
 |     paint.setTextSize(32); | 
 |     GrContext* context = canvas->getGrContext(); | 
 |     if (!context) { | 
 |          canvas->drawString("GPU only!", 20, 40, paint); | 
 |          return; | 
 |     } | 
 |     sk_sp<SkSurface> gpuSurface = SkSurface::MakeRenderTarget( | 
 |             context, SkBudgeted::kYes, SkImageInfo::MakeN32Premul(64, 64)); | 
 |     SkSurfaceCharacterization characterization; | 
 |     if (!gpuSurface->characterize(&characterization)) { | 
 |          canvas->drawString("characterization unsupported", 20, 40, paint); | 
 |          return; | 
 |     } | 
 |     // start of threadable work | 
 |     SkDeferredDisplayListRecorder recorder(characterization); | 
 |     SkCanvas* subCanvas = recorder.getCanvas(); | 
 |     subCanvas->clear(SK_ColorGREEN); | 
 |     std::unique_ptr<SkDeferredDisplayList> displayList = recorder.detach(); | 
 |     // end of threadable work | 
 |     gpuSurface->draw(displayList.get()); | 
 |     sk_sp<SkImage> img = gpuSurface->makeImageSnapshot(); | 
 |     canvas->drawImage(std::move(img), 0, 0); | 
 | } | 
 | }  // END FIDDLE | 
 | #endif  // Disabled until updated to use current API. |