83 {
86 };
87
92
94 nullptr,
102 };
103
108
110 for (size_t j = 0; j < std::size(drawProc); ++j) {
111 canvas->save();
112 for (size_t i = 0; i < std::size(filters); ++i) {
113 drawProc[j](canvas, r, filters[i]);
114 canvas->translate(0, DY);
115 }
116 canvas->restore();
117 canvas->translate(DX, 0);
118 }
119}
constexpr SkColor SK_ColorMAGENTA
constexpr SkColor SK_ColorBLUE
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 > DropShadowOnly(SkScalar dx, SkScalar dy, SkScalar sigmaX, SkScalar sigmaY, SkColor color, sk_sp< SkImageFilter > input, const CropRect &cropRect={})
static void draw_bitmap(SkCanvas *canvas, const SkRect &r, sk_sp< SkImageFilter > imf)
static void draw_text(SkCanvas *canvas, const SkRect &r, sk_sp< SkImageFilter > imf)
static void draw_path(SkCanvas *canvas, const SkRect &r, sk_sp< SkImageFilter > imf)
static void draw_paint(SkCanvas *canvas, const SkRect &r, sk_sp< SkImageFilter > imf)
static constexpr SkIRect MakeXYWH(int32_t x, int32_t y, int32_t w, int32_t h)
constexpr float height() const
constexpr float width() const
static constexpr SkRect MakeWH(float w, float h)