1cb93a386Sopenharmony_ci// Copyright 2019 Google LLC. 2cb93a386Sopenharmony_ci// Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. 3cb93a386Sopenharmony_ci#include "tools/fiddle/examples.h" 4cb93a386Sopenharmony_ci// HASH=ee47ae6b813bfaa55e1a7b7c053ed60d 5cb93a386Sopenharmony_ciREG_FIDDLE(Canvas_clipPath, 256, 256, false, 0) { 6cb93a386Sopenharmony_civoid draw(SkCanvas* canvas) { 7cb93a386Sopenharmony_ci SkPaint paint; 8cb93a386Sopenharmony_ci paint.setAntiAlias(true); 9cb93a386Sopenharmony_ci SkPath path; 10cb93a386Sopenharmony_ci path.addRect({20, 30, 100, 110}); 11cb93a386Sopenharmony_ci path.setFillType(SkPathFillType::kInverseWinding); 12cb93a386Sopenharmony_ci canvas->save(); 13cb93a386Sopenharmony_ci canvas->clipPath(path, SkClipOp::kDifference, false); 14cb93a386Sopenharmony_ci canvas->drawCircle(70, 100, 60, paint); 15cb93a386Sopenharmony_ci canvas->restore(); 16cb93a386Sopenharmony_ci canvas->translate(100, 100); 17cb93a386Sopenharmony_ci path.setFillType(SkPathFillType::kWinding); 18cb93a386Sopenharmony_ci canvas->clipPath(path, SkClipOp::kIntersect, false); 19cb93a386Sopenharmony_ci canvas->drawCircle(70, 100, 60, paint); 20cb93a386Sopenharmony_ci} 21cb93a386Sopenharmony_ci} // END FIDDLE 22