46 SkCanvas* tileCanvas = tileSurface->getCanvas();
47 for (
SkScalar y = bounds.top();
y < bounds.bottom();
y += tileSize) {
48 for (
SkScalar x = bounds.left();
x < bounds.right();
x += tileSize) {
60 canvas->
drawImage(tileSurface->makeImageSnapshot().get(),
x,
y);
71DEF_GM(
return new ComplexClipBlurTiledGM;)
static void info(const char *fmt,...) SK_PRINTF_LIKE(1
#define SkScalarCeilToInt(x)
int saveLayer(const SkRect *bounds, const SkPaint *paint)
void drawRect(const SkRect &rect, const SkPaint &paint)
void translate(SkScalar dx, SkScalar dy)
SkRect getLocalClipBounds() const
void clear(SkColor color)
void drawImage(const SkImage *image, SkScalar left, SkScalar top)
void clipRRect(const SkRRect &rrect, SkClipOp op, bool doAntiAlias)
static sk_sp< SkImageFilter > Blur(SkScalar sigmaX, SkScalar sigmaY, SkTileMode tileMode, sk_sp< SkImageFilter > input, const CropRect &cropRect={})
void setImageFilter(sk_sp< SkImageFilter > imageFilter)
static SkRRect MakeRectXY(const SkRect &rect, SkScalar xRad, SkScalar yRad)
void onDraw(SkCanvas *canvas) override
SkString getName() const override
SkISize getISize() override
static constexpr SkISize Make(int32_t w, int32_t h)
static SkImageInfo MakeN32Premul(int width, int height)
static constexpr SkRect MakeWH(float w, float h)