blob: 3e4f97dc4a4dcd85c0315d4f9551680210183f5d [file] [log] [blame]
Hal Canary83c2f702019-03-07 14:53:03 -05001// 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 "fiddle/examples.h"
4// HASH=fe2294131f422b8d6752f6a880f98ad9
5REG_FIDDLE(Canvas_086, 256, 256, false, 0) {
6void draw(SkCanvas* canvas) {
7 SkPath path;
8 path.moveTo(20, 20);
9 path.quadTo(60, 20, 60, 60);
10 path.close();
11 path.moveTo(60, 20);
12 path.quadTo(60, 60, 20, 60);
13 SkPaint paint;
14 paint.setStrokeWidth(10);
15 paint.setAntiAlias(true);
16 paint.setStyle(SkPaint::kStroke_Style);
17 for (auto join: { SkPaint::kBevel_Join, SkPaint::kRound_Join, SkPaint::kMiter_Join } ) {
18 paint.setStrokeJoin(join);
19 for (auto cap: { SkPaint::kButt_Cap, SkPaint::kSquare_Cap, SkPaint::kRound_Cap } ) {
20 paint.setStrokeCap(cap);
21 canvas->drawPath(path, paint);
22 canvas->translate(80, 0);
23 }
24 canvas->translate(-240, 60);
25 }
26 paint.setStyle(SkPaint::kFill_Style);
27 for (auto fill : { SkPath::kWinding_FillType,
28 SkPath::kEvenOdd_FillType,
29 SkPath::kInverseWinding_FillType } ) {
30 path.setFillType(fill);
31 canvas->save();
32 canvas->clipRect({0, 10, 80, 70});
33 canvas->drawPath(path, paint);
34 canvas->restore();
35 canvas->translate(80, 0);
36 }
37}
38} // END FIDDLE