| // Copyright 2019 Google LLC. | 
 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. | 
 | #include "tools/fiddle/examples.h" | 
 | // HASH=556832ac5711af662a98c21c547185e9 | 
 | REG_FIDDLE(Canvas_getDeviceClipBounds, 256, 256, true, 0) { | 
 | void draw(SkCanvas* canvas) { | 
 |     SkCanvas device(256, 256); | 
 |     canvas = &device; | 
 |     SkIRect bounds = canvas->getDeviceClipBounds(); | 
 |     SkDebugf("left:%d  top:%d  right:%d  bottom:%d\n", | 
 |             bounds.fLeft, bounds.fTop, bounds.fRight, bounds.fBottom); | 
 |     SkPoint clipPoints[]  = {{30, 130}, {120, 130}, {120, 230} }; | 
 |     SkPath clipPath; | 
 |     clipPath.addPoly(clipPoints, SK_ARRAY_COUNT(clipPoints), true); | 
 |     canvas->save(); | 
 |     canvas->clipPath(clipPath); | 
 |     bounds = canvas->getDeviceClipBounds(); | 
 |     SkDebugf("left:%d  top:%d  right:%d  bottom:%d\n", | 
 |             bounds.fLeft, bounds.fTop, bounds.fRight, bounds.fBottom); | 
 |     canvas->restore(); | 
 |     canvas->scale(1.f/2, 1.f/2); | 
 |     canvas->clipPath(clipPath); | 
 |     bounds = canvas->getDeviceClipBounds(); | 
 |     SkDebugf("left:%d  top:%d  right:%d  bottom:%d\n", | 
 |             bounds.fLeft, bounds.fTop, bounds.fRight, bounds.fBottom); | 
 | } | 
 | }  // END FIDDLE |