Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
third_party
skia
docs
examples
Canvas_clipPath_3.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.
3
#include "
tools/fiddle/examples.h
"
4
// HASH=187a7ae77a8176e417181411988534b6
5
REG_FIDDLE
(Canvas_clipPath_3, 256, 212,
false
, 0) {
6
void
draw
(
SkCanvas
* canvas) {
7
SkPaint
paint
;
8
paint
.setAntiAlias(
true
);
9
SkPath
path;
10
SkPoint
poly[] = {{20, 20}, { 80, 20}, { 80, 80}, {40, 80},
11
{40, 40}, {100, 40}, {100, 100}, {20, 100}};
12
path.addPoly(poly, std::size(poly),
true
);
13
path.setFillType(
SkPathFillType::kWinding
);
14
canvas->
save
();
15
canvas->
clipPath
(path,
SkClipOp::kIntersect
);
16
canvas->
drawCircle
(50, 50, 45,
paint
);
17
canvas->
restore
();
18
canvas->
translate
(100, 100);
19
path.setFillType(
SkPathFillType::kEvenOdd
);
20
canvas->
clipPath
(path,
SkClipOp::kIntersect
);
21
canvas->
drawCircle
(50, 50, 45,
paint
);
22
}
23
}
// END FIDDLE
SkClipOp::kIntersect
@ kIntersect
SkPathFillType::kWinding
@ kWinding
SkPathFillType::kEvenOdd
@ kEvenOdd
draw
static void draw(SkCanvas *canvas, SkRect &target, int x, int y)
Definition
aaclip.cpp:27
SkCanvas
Definition
SkCanvas.h:106
SkCanvas::restore
void restore()
Definition
SkCanvas.cpp:465
SkCanvas::translate
void translate(SkScalar dx, SkScalar dy)
Definition
SkCanvas.cpp:1602
SkCanvas::clipPath
void clipPath(const SkPath &path, SkClipOp op, bool doAntiAlias)
Definition
SkCanvas.cpp:1780
SkCanvas::save
int save()
Definition
SkCanvas.cpp:451
SkCanvas::drawCircle
void drawCircle(SkScalar cx, SkScalar cy, SkScalar radius, const SkPaint &paint)
Definition
SkCanvas.cpp:3134
SkPaint
Definition
SkPaint.h:44
SkPath
Definition
SkPath.h:59
paint
const Paint & paint
Definition
color_source.cc:38
examples.h
REG_FIDDLE
#define REG_FIDDLE(NAME, W, H, TEXT, I)
Definition
examples.h:60
SkPoint
Definition
SkPoint_impl.h:163
Generated on Fri Apr 26 2024 06:15:33 for Flutter Engine by
1.9.8