Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
third_party
skia
docs
examples
Path_incReserve.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=f2260f2a170a54aef5bafe5b91c121b3
5
REG_FIDDLE
(Path_incReserve, 256, 192,
false
, 0) {
6
void
draw
(
SkCanvas
* canvas) {
7
auto
addPoly = [](
int
sides,
SkScalar
size,
SkPath
* path) ->
void
{
8
path->moveTo(size, 0);
9
for
(
int
i = 1; i < sides; i++) {
10
SkScalar
rad =
SK_ScalarPI
* 2 * i / sides;
11
path->lineTo(
SkScalarCos
(rad) * size,
SkScalarSin
(rad) * size);
12
}
13
path->close();
14
};
15
SkPath
path;
16
path.incReserve(3 + 4 + 5 + 6 + 7 + 8 + 9);
17
for
(
int
sides = 3; sides < 10; ++sides) {
18
addPoly(sides, sides, &path);
19
}
20
SkMatrix
matrix;
21
matrix.setScale(10, 10, -10, -10);
22
path.transform(matrix);
23
SkPaint
paint
;
24
paint
.setStyle(
SkPaint::kStroke_Style
);
25
canvas->
drawPath
(path,
paint
);
26
}
27
}
// END FIDDLE
SkScalarSin
#define SkScalarSin(radians)
Definition
SkScalar.h:45
SkScalarCos
#define SkScalarCos(radians)
Definition
SkScalar.h:46
SK_ScalarPI
#define SK_ScalarPI
Definition
SkScalar.h:21
draw
static void draw(SkCanvas *canvas, SkRect &target, int x, int y)
Definition
aaclip.cpp:27
SkCanvas
Definition
SkCanvas.h:106
SkCanvas::drawPath
void drawPath(const SkPath &path, const SkPaint &paint)
Definition
SkCanvas.cpp:2071
SkMatrix
Definition
SkMatrix.h:54
SkPaint
Definition
SkPaint.h:44
SkPaint::kStroke_Style
@ kStroke_Style
set to stroke geometry
Definition
SkPaint.h:194
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
SkScalar
float SkScalar
Definition
extension.cpp:12
Generated on Fri Apr 26 2024 06:15:47 for Flutter Engine by
1.9.8