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=7f60cb030d3f9b2473adbe3e34b19d91
5REG_FIDDLE(Canvas_getLocalClipBounds, 256, 256, true, 0) {
6void draw(SkCanvas* canvas) {
7    SkCanvas local(256, 256);
8    canvas = &local;
9    SkRect bounds = canvas->getLocalClipBounds();
10    SkDebugf("left:%g  top:%g  right:%g  bottom:%g\n",
11            bounds.fLeft, bounds.fTop, bounds.fRight, bounds.fBottom);
12    SkPoint clipPoints[]  = {{30, 130}, {120, 130}, {120, 230} };
13    SkPath clipPath;
14    clipPath.addPoly(clipPoints, SK_ARRAY_COUNT(clipPoints), true);
15    canvas->clipPath(clipPath);
16    bounds = canvas->getLocalClipBounds();
17    SkDebugf("left:%g  top:%g  right:%g  bottom:%g\n",
18            bounds.fLeft, bounds.fTop, bounds.fRight, bounds.fBottom);
19    canvas->scale(2, 2);
20    bounds = canvas->getLocalClipBounds();
21    SkDebugf("left:%g  top:%g  right:%g  bottom:%g\n",
22            bounds.fLeft, bounds.fTop, bounds.fRight, bounds.fBottom);
23}
24}  // END FIDDLE
25