1cb93a386Sopenharmony_ci// Copyright 2019 Google LLC. 2cb93a386Sopenharmony_ci// Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. 3cb93a386Sopenharmony_ci#include "tools/fiddle/examples.h" 4cb93a386Sopenharmony_ci// HASH=9f459b218ec079c1ada23f4412968f9a 5cb93a386Sopenharmony_ciREG_FIDDLE(AutoCanvasRestore_restore, 256, 256, true, 0) { 6cb93a386Sopenharmony_civoid draw(SkCanvas* canvas) { 7cb93a386Sopenharmony_ci for (bool callRestore : { false, true } ) { 8cb93a386Sopenharmony_ci for (bool saveCanvas : {false, true} ) { 9cb93a386Sopenharmony_ci SkAutoCanvasRestore autoRestore(canvas, saveCanvas); 10cb93a386Sopenharmony_ci if (!saveCanvas) { 11cb93a386Sopenharmony_ci canvas->save(); 12cb93a386Sopenharmony_ci } 13cb93a386Sopenharmony_ci SkDebugf("saveCanvas: %s before restore: %d\n", 14cb93a386Sopenharmony_ci saveCanvas ? "true" : "false", canvas->getSaveCount()); 15cb93a386Sopenharmony_ci if (callRestore) autoRestore.restore(); 16cb93a386Sopenharmony_ci SkDebugf("saveCanvas: %s after restore: %d\n", 17cb93a386Sopenharmony_ci saveCanvas ? "true" : "false", canvas->getSaveCount()); 18cb93a386Sopenharmony_ci } 19cb93a386Sopenharmony_ci } 20cb93a386Sopenharmony_ci SkDebugf("final count: %d\n", canvas->getSaveCount()); 21cb93a386Sopenharmony_ci} 22cb93a386Sopenharmony_ci} // END FIDDLE 23