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