156 {
157 if (fAtlas == nullptr) {
158 fAtlas = create_atlas_image(canvas);
159 }
160
165 };
166
169 nullptr,
173
174
175
178 };
179
184
186 for (size_t i = 0; i < std::size(drawProc); ++i) {
188 for (size_t j = 0; j < std::size(filters); ++j) {
189 drawProc[i](canvas, fAtlas.
get(), r, filters[j]);
190
192 canvas->translate(0, DY);
193 }
194 canvas->restore();
195 canvas->translate(DX, 0);
196 }
197 }
constexpr SkColor SK_ColorBLUE
void draw_frame(SkCanvas *canvas, const SkRect &r)
void translate(SkScalar dx, SkScalar dy)
static sk_sp< SkColorFilter > Blend(const SkColor4f &c, sk_sp< SkColorSpace >, SkBlendMode mode)
static sk_sp< SkImageFilter > ColorFilter(sk_sp< SkColorFilter > cf, sk_sp< SkImageFilter > input, const CropRect &cropRect={})
static sk_sp< SkImageFilter > DropShadow(SkScalar dx, SkScalar dy, SkScalar sigmaX, SkScalar sigmaY, SkColor color, sk_sp< SkImageFilter > input, const CropRect &cropRect={})
static sk_sp< SkImageFilter > Blur(SkScalar sigmaX, SkScalar sigmaY, SkTileMode tileMode, sk_sp< SkImageFilter > input, const CropRect &cropRect={})
static sk_sp< SkImageFilter > Empty()
static sk_sp< SkImageFilter > Offset(SkScalar dx, SkScalar dy, sk_sp< SkImageFilter > input, const CropRect &cropRect={})
static void draw_bitmap(SkCanvas *canvas, SkImage *i, const SkRect &r, sk_sp< SkImageFilter > imf)
static void draw_text(SkCanvas *canvas, SkImage *, const SkRect &r, sk_sp< SkImageFilter > imf)
static void draw_patch(SkCanvas *canvas, SkImage *, const SkRect &r, sk_sp< SkImageFilter > imf)
static void draw_paint(SkCanvas *canvas, SkImage *, const SkRect &r, sk_sp< SkImageFilter > imf)
static void draw_rect(SkCanvas *canvas, SkImage *, const SkRect &r, sk_sp< SkImageFilter > imf)
static void draw_path(SkCanvas *canvas, SkImage *, const SkRect &r, sk_sp< SkImageFilter > imf)
static void draw_line(SkCanvas *canvas, SkImage *, const SkRect &r, sk_sp< SkImageFilter > imf)
static void draw_atlas(SkCanvas *canvas, SkImage *atlas, const SkRect &r, sk_sp< SkImageFilter > imf)
constexpr float height() const
constexpr float width() const
static constexpr SkRect MakeWH(float w, float h)