Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Canvas_clipPath_2.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=7856755c1bf8431c286c734b353345ad
5REG_FIDDLE(Canvas_clipPath_2, 256, 256, false, 0) {
6void draw(SkCanvas* canvas) {
8 paint.setAntiAlias(true);
9 SkPath path;
10 path.addRect({20, 15, 100, 95});
11 path.addRect({50, 65, 130, 135});
12 path.setFillType(SkPathFillType::kWinding);
13 canvas->save();
14 canvas->clipPath(path, SkClipOp::kIntersect);
15 canvas->drawCircle(70, 85, 60, paint);
16 canvas->restore();
17 canvas->translate(100, 100);
18 path.setFillType(SkPathFillType::kEvenOdd);
19 canvas->clipPath(path, SkClipOp::kIntersect);
20 canvas->drawCircle(70, 85, 60, paint);
21}
22} // 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