2019-03-15 18:22:51 +00:00
|
|
|
// Copyright 2019 Google LLC.
|
|
|
|
// Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
|
2019-04-23 17:05:21 +00:00
|
|
|
#include "tools/fiddle/examples.h"
|
2019-03-15 18:22:51 +00:00
|
|
|
// HASH=7f60cb030d3f9b2473adbe3e34b19d91
|
2019-03-18 20:06:34 +00:00
|
|
|
REG_FIDDLE(Canvas_getLocalClipBounds, 256, 256, true, 0) {
|
2019-03-15 18:22:51 +00:00
|
|
|
void draw(SkCanvas* canvas) {
|
|
|
|
SkCanvas local(256, 256);
|
|
|
|
canvas = &local;
|
|
|
|
SkRect bounds = canvas->getLocalClipBounds();
|
|
|
|
SkDebugf("left:%g top:%g right:%g bottom:%g\n",
|
|
|
|
bounds.fLeft, bounds.fTop, bounds.fRight, bounds.fBottom);
|
|
|
|
SkPoint clipPoints[] = {{30, 130}, {120, 130}, {120, 230} };
|
|
|
|
SkPath clipPath;
|
2022-06-16 19:03:00 +00:00
|
|
|
clipPath.addPoly(clipPoints, std::size(clipPoints), true);
|
2019-03-15 18:22:51 +00:00
|
|
|
canvas->clipPath(clipPath);
|
|
|
|
bounds = canvas->getLocalClipBounds();
|
|
|
|
SkDebugf("left:%g top:%g right:%g bottom:%g\n",
|
|
|
|
bounds.fLeft, bounds.fTop, bounds.fRight, bounds.fBottom);
|
|
|
|
canvas->scale(2, 2);
|
|
|
|
bounds = canvas->getLocalClipBounds();
|
|
|
|
SkDebugf("left:%g top:%g right:%g bottom:%g\n",
|
|
|
|
bounds.fLeft, bounds.fTop, bounds.fRight, bounds.fBottom);
|
|
|
|
}
|
|
|
|
} // END FIDDLE
|