Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Canvas_clipPath.cpp
Go to the documentation of this file.
1// Copyright 2019 Google LLC.
2// Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4// HASH=ee47ae6b813bfaa55e1a7b7c053ed60d
5REG_FIDDLE(Canvas_clipPath, 256, 256, false, 0) {
6void draw(SkCanvas* canvas) {
8 paint.setAntiAlias(true);
9 SkPath path;
10 path.addRect({20, 30, 100, 110});
11 path.setFillType(SkPathFillType::kInverseWinding);
12 canvas->save();
13 canvas->clipPath(path, SkClipOp::kDifference, false);
14 canvas->drawCircle(70, 100, 60, paint);
15 canvas->restore();
16 canvas->translate(100, 100);
17 path.setFillType(SkPathFillType::kWinding);
18 canvas->clipPath(path, SkClipOp::kIntersect, false);
19 canvas->drawCircle(70, 100, 60, paint);
20}
21} // END FIDDLE
static void draw(SkCanvas *canvas, SkRect &target, int x, int y)
Definition aaclip.cpp:27
void restore()
Definition SkCanvas.cpp:465
void translate(SkScalar dx, SkScalar dy)
void clipPath(const SkPath &path, SkClipOp op, bool doAntiAlias)
int save()
Definition SkCanvas.cpp:451
void drawCircle(SkScalar cx, SkScalar cy, SkScalar radius, const SkPaint &paint)
const Paint & paint
#define REG_FIDDLE(NAME, W, H, TEXT, I)
Definition examples.h:60