129 {
131
132 SkRect r = { 0, 0, 100, 50 };
134
135 for (
size_t s = 0;
s < std::size(scales); ++
s) {
137 for (
size_t f = 0;
f < std::size(fMaskFilters); ++
f) {
139 paint.setMaskFilter(fMaskFilters[f]);
140 paint.setAlpha(fAlpha);
141
144
145 constexpr Proc procs[] = {
147 };
148
150 canvas->
scale(scales[
s], scales[
s]);
151 this->drawProcs(canvas, r,
paint,
false, procs, std::size(procs));
153 this->drawProcs(canvas, r, paintWithRadial, false, procs, std::size(procs));
155 this->drawProcs(canvas, r,
paint,
true, procs, std::size(procs));
157 this->drawProcs(canvas, r, paintWithRadial, true, procs, std::size(procs));
159
161 }
164 }
165 }
static void draw_donut(SkCanvas *canvas, const SkRect &r, const SkPaint &p)
static void draw_donut_skewed(SkCanvas *canvas, const SkRect &r, const SkPaint &p)
static void fill_rect(SkCanvas *canvas, const SkRect &r, const SkPaint &p)
static sk_sp< SkShader > make_radial()
void(* Proc)(SkCanvas *, const SkRect &, const SkPaint &)
void translate(SkScalar dx, SkScalar dy)
void scale(SkScalar sx, SkScalar sy)
void setShader(sk_sp< SkShader > shader)
constexpr float height() const
constexpr float width() const