Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
third_party
skia
docs
examples
Path_FillType_a.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=71fc6c069c377d808799f2453edabaf5
5
REG_FIDDLE
(Path_FillType_a, 256, 100,
false
, 0) {
6
void
draw
(
SkCanvas
* canvas) {
7
SkPath
path;
8
path.addRect({10, 10, 30, 30},
SkPathDirection::kCW
);
9
path.addRect({20, 20, 40, 40},
SkPathDirection::kCW
);
10
path.addRect({10, 60, 30, 80},
SkPathDirection::kCW
);
11
path.addRect({20, 70, 40, 90},
SkPathDirection::kCCW
);
12
SkPaint
strokePaint;
13
strokePaint.
setStyle
(
SkPaint::kStroke_Style
);
14
SkRect
clipRect = {0, 0, 51, 100};
15
canvas->
drawPath
(path, strokePaint);
16
SkPaint
fillPaint;
17
for
(
auto
fillType : {
SkPathFillType::kWinding
,
SkPathFillType::kEvenOdd
,
18
SkPathFillType::kInverseWinding
,
SkPathFillType::kInverseEvenOdd
} ) {
19
canvas->
translate
(51, 0);
20
canvas->
save
();
21
canvas->
clipRect
(clipRect);
22
path.setFillType(fillType);
23
canvas->
drawPath
(path, fillPaint);
24
canvas->
restore
();
25
}
26
}
27
}
// END FIDDLE
SkPathDirection::kCCW
@ kCCW
SkPathDirection::kCW
@ kCW
SkPathFillType::kInverseWinding
@ kInverseWinding
SkPathFillType::kWinding
@ kWinding
SkPathFillType::kInverseEvenOdd
@ kInverseEvenOdd
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::clipRect
void clipRect(const SkRect &rect, SkClipOp op, bool doAntiAlias)
Definition
SkCanvas.cpp:1685
SkCanvas::restore
void restore()
Definition
SkCanvas.cpp:465
SkCanvas::translate
void translate(SkScalar dx, SkScalar dy)
Definition
SkCanvas.cpp:1602
SkCanvas::save
int save()
Definition
SkCanvas.cpp:451
SkCanvas::drawPath
void drawPath(const SkPath &path, const SkPaint &paint)
Definition
SkCanvas.cpp:2071
SkPaint
Definition
SkPaint.h:44
SkPaint::setStyle
void setStyle(Style style)
Definition
SkPaint.cpp:105
SkPaint::kStroke_Style
@ kStroke_Style
set to stroke geometry
Definition
SkPaint.h:194
SkPath
Definition
SkPath.h:59
examples.h
REG_FIDDLE
#define REG_FIDDLE(NAME, W, H, TEXT, I)
Definition
examples.h:60
SkRect
Definition
extension.cpp:13
Generated on Fri Apr 26 2024 06:15:47 for Flutter Engine by
1.9.8