23#define CORNER_RADIUS 12
25static const int gXY[] = {
26 4, 0, 0, -4, 8, -4, 12, 0, 8, 4, 0, 4
36 for (
unsigned i = 2; i < std::size(
gXY); i += 2)
54 for (
unsigned i = 2; i < std::size(
gXY); i += 2) {
87 for (
int i = 0; i < steps; i++) {
108 canvas->
clear(0xFFDDDDDD);
120 paint.setARGB(0xFF, 0, 0xBB, 0);
126 paint.setARGB(0xFF, 0, 0, 0);
static sk_sp< SkPathEffect > make_pe(int flags, SkScalar phase)
static sk_sp< SkPathEffect > make_warp_pe(SkScalar phase)
constexpr SkColor SK_ColorBLUE
void load(SkScalar w, SkScalar h) override
bool animate(double nanos) override
void draw(SkCanvas *canvas) override
void translate(SkScalar dx, SkScalar dy)
void clear(SkColor color)
void drawPath(const SkPath &path, const SkPaint &paint)
static sk_sp< SkPathEffect > Make(SkScalar radius)
static sk_sp< SkPathEffect > Make(const SkPath &path, SkScalar advance, SkScalar phase, Style)
static sk_sp< SkPathEffect > MakeCompose(sk_sp< SkPathEffect > outer, sk_sp< SkPathEffect > inner)
SkPath & moveTo(SkScalar x, SkScalar y)
SkPath & lineTo(SkScalar x, SkScalar y)
SkPath & addRoundRect(const SkRect &rect, SkScalar rx, SkScalar ry, SkPathDirection dir=SkPathDirection::kCW)
FlutterSemanticsFlag flags
static float Scaled(float time, float speed, float period=0)
void set(float x, float y)
void offset(float dx, float dy)
void setLTRB(float left, float top, float right, float bottom)