xref: /aosp_15_r20/external/skia/docs/examples/Canvas_getBaseLayerSize.cpp (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
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 REG_FIDDLE(Canvas_getBaseLayerSize, 256, 256, true, 0) {
draw(SkCanvas *)5 void draw(SkCanvas* ) {
6     SkBitmap bitmap;
7     bitmap.allocPixels(SkImageInfo::MakeN32Premul(20, 30));
8     SkCanvas canvas(bitmap, SkSurfaceProps(0, kUnknown_SkPixelGeometry));
9     canvas.clipRect(SkRect::MakeWH(10, 40));
10     SkIRect clipDeviceBounds = canvas.getDeviceClipBounds();
11     if (clipDeviceBounds.isEmpty()) {
12         SkDebugf("Empty clip bounds is unexpected!\n");
13     }
14     SkDebugf("clip=%d,%d\n", clipDeviceBounds.width(), clipDeviceBounds.height());
15     SkISize baseLayerSize = canvas.getBaseLayerSize();
16     SkDebugf("size=%d,%d\n", baseLayerSize.width(), baseLayerSize.height());
17 }
18 }  // END FIDDLE
19