1 // Copyright 2019 Google LLC.
2 // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
3 #include "tools/fiddle/examples.h"
4 // HASH=b7bc91ff16c9b9351b2a127f35394b82
5 REG_FIDDLE(Canvas_destructor, 256, 256, false, 0) {
draw(SkCanvas * canvas)6 void draw(SkCanvas* canvas) {
7 SkBitmap bitmap;
8 bitmap.allocPixels(SkImageInfo::MakeN32Premul(200, 200));
9 {
10 SkCanvas offscreen(bitmap);
11 SkPaint paint;
12 SkFont font(nullptr, 100);
13 offscreen.drawString("ABC", 20, 160, font, paint);
14 SkRect layerBounds = SkRect::MakeXYWH(32, 32, 192, 192);
15 offscreen.saveLayerAlpha(&layerBounds, 128);
16 offscreen.clear(SK_ColorWHITE);
17 offscreen.drawString("DEF", 20, 160, font, paint);
18 }
19 canvas->drawImage(bitmap.asImage(), 0, 0);
20 }
21 } // END FIDDLE
22