1 /* 2 * Copyright 2016 Google Inc. 3 * 4 * Use of this source code is governed by a BSD-style license that can be 5 * found in the LICENSE file. 6 */ 7 8 #include "gm.h" 9 #include "SkCanvas.h" 10 #include "SkRect.h" 11 #include "SkPath.h" 12 13 DEF_SIMPLE_GM(bug5252, canvas, 500, 500) { 14 canvas->translate(SkIntToScalar(10), SkIntToScalar(20)); 15 16 SkPath clip1; 17 clip1.addOval(SkRect::MakeWH(225, 200)); 18 canvas->clipPath(clip1); // bug 19 20 SkPath clip2; 21 clip2.addRect(SkRect::MakeWH(220, 200)); 22 //canvas->clipPath(clip2); // ok 23 24 SkPaint pa; 25 pa.setStyle(SkPaint::kStroke_Style); 26 pa.setAntiAlias(true); 27 pa.setStrokeWidth(1.0f); 28 for (int i = 0; i < 15; i++) 29 { 30 for (int j = 0; j < 10; j++) 31 { 32 SkAutoCanvasRestore acs(canvas, true); 33 34 canvas->translate(i * 15.f, j * 20.f); 35 canvas->drawRect(SkRect::MakeXYWH(5, 5, 10, 15),pa); 36 SkPath path; 37 path.moveTo(6, 6); 38 path.cubicTo(14, 10, 13, 12, 10, 12); 39 path.cubicTo(7, 15, 8, 17, 14, 18); 40 canvas->drawPath(path, pa); 41 } 42 } 43 } 44