12 const SkPoint pts[] = {{100.f / 4.f, 0.f}, {3.f * 100.f / 4.f, 100.f}};
15 const SkPoint cubics[] = {{100, 100}, {150, 50}, {250, 150}, {300, 100},
16 {250, 150}, {350, 250}, {300, 300}, {250, 250},
17 {150, 350}, {100, 300}, {50, 250}, {150, 150}};
19 {0.0f, 0.0f}, {100.0f, 0.0f}, {100.0f, 100.0f}, {0.0f, 100.0f}};
@ kSrcOver
r = s + (1-sa)*d
constexpr SkColor SK_ColorYELLOW
constexpr SkColor SK_ColorMAGENTA
constexpr SkColor SK_ColorCYAN
constexpr SkColor SK_ColorBLUE
constexpr SkColor SK_ColorRED
constexpr SkColor SK_ColorGREEN
constexpr SkColor SK_ColorWHITE
static void draw(SkCanvas *canvas, SkRect &target, int x, int y)
void drawPatch(const SkPoint cubics[12], const SkColor colors[4], const SkPoint texCoords[4], SkBlendMode mode, const SkPaint &paint)
void clear(SkColor color)
static sk_sp< SkShader > MakeLinear(const SkPoint pts[2], const SkColor colors[], const SkScalar pos[], int count, SkTileMode mode, uint32_t flags=0, const SkMatrix *localMatrix=nullptr)
#define REG_FIDDLE(NAME, W, H, TEXT, I)
static void draw_patch(SkCanvas *canvas, SkImage *, const SkRect &r, sk_sp< SkImageFilter > imf)