#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 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 displayList = recorder.detach(); // end of threadable work gpuSurface->draw(displayList.get()); sk_sp img = gpuSurface->makeImageSnapshot(); canvas->drawImage(std::move(img), 0, 0); } } // END FIDDLE #endif // Disabled until updated to use current API.