Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
bug530095.cpp
Go to the documentation of this file.
1/*
2 * Copyright 2016 Google Inc.
3 *
4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file.
6 */
7
8#include "gm/gm.h"
12#include "include/core/SkPath.h"
17
18DEF_SIMPLE_GM(bug530095, canvas, 900, 1200) {
19 SkPath path1 = SkPath::Circle(200, 200, 124),
20 path2 = SkPath::Circle(2, 2, 1.24f);
21
23 paint.setAntiAlias(true);
25 paint.setStrokeWidth(26);
26 SkScalar intervals[] = {700, 700 };
27 int intervalCount = (int) std::size(intervals);
28 paint.setPathEffect(SkDashPathEffect::Make(intervals, intervalCount, -40));
29 canvas->drawPath(path1, paint);
30
31 paint.setStrokeWidth(0.26f);
32 SkScalar smIntervals[] = {7, 7 };
33 int smIntervalCount = (int) std::size(smIntervals);
34 paint.setPathEffect(SkDashPathEffect::Make(smIntervals, smIntervalCount, -0.40f));
35 canvas->save();
36 canvas->scale(100, 100);
37 canvas->translate(4, 0);
38 canvas->drawPath(path2, paint);
39 canvas->restore();
40
41 paint.setStrokeWidth(26);
42 paint.setPathEffect(SkDashPathEffect::Make(intervals, intervalCount, 0));
43 canvas->save();
44 canvas->translate(0, 400);
45 canvas->drawPath(path1, paint);
46 canvas->restore();
47
48 paint.setStrokeWidth(0.26f);
49 paint.setPathEffect(SkDashPathEffect::Make(smIntervals, smIntervalCount, 0));
50 canvas->scale(100, 100);
51 canvas->translate(4, 4);
52 canvas->drawPath(path2, paint);
53}
54
55DEF_SIMPLE_GM(bug591993, canvas, 40, 140) {
56 SkPaint p;
57 p.setColor(SK_ColorRED);
58 p.setAntiAlias(true);
59 p.setStyle(SkPaint::kStroke_Style);
60 p.setStrokeCap(SkPaint::kRound_Cap);
61 p.setStrokeWidth(10);
62 const SkScalar intervals[] = { 100, 100 };
63 p.setPathEffect(SkDashPathEffect::Make(intervals, std::size(intervals), 100));
64 canvas->drawLine(20, 20, 120, 20, p);
65}
static SkPath path1()
static SkPath path2()
constexpr SkColor SK_ColorRED
Definition SkColor.h:126
Type::kYUV Type::kRGBA() int(0.7 *637)
static sk_sp< SkPathEffect > Make(const SkScalar intervals[], int count, SkScalar phase)
@ kRound_Cap
adds circle
Definition SkPaint.h:335
@ kStroke_Style
set to stroke geometry
Definition SkPaint.h:194
static SkPath Circle(SkScalar center_x, SkScalar center_y, SkScalar radius, SkPathDirection dir=SkPathDirection::kCW)
Definition SkPath.cpp:3530
const Paint & paint
float SkScalar
Definition extension.cpp:12
#define DEF_SIMPLE_GM(NAME, CANVAS, W, H)
Definition gm.h:50