Lines Matching defs:canvas
28 static sk_sp<SkImage> make_image(SkCanvas* canvas, int direction) {
30 auto surface = ToolUtils::makeSurface(canvas, info);
64 static void draw_image(SkCanvas* canvas, const sk_sp<SkImage> image, sk_sp<SkImageFilter> filter) {
65 SkAutoCanvasRestore acr(canvas, true);
69 canvas->translate(SkIntToScalar(30), 0);
70 canvas->clipIRect(image->bounds());
71 canvas->drawImage(image, 0, 0, SkSamplingOptions(), &paint);
95 void onDraw(SkCanvas* canvas) override {
97 { make_image(canvas, 1), make_image(canvas, 2), make_image(canvas, 3) };
99 canvas->translate(0, 30);
103 canvas->save();
106 draw_image(canvas, image[0], std::move(filter));
107 canvas->translate(image[0]->width() + 20, 0);
110 draw_image(canvas, image[1], std::move(filter));
111 canvas->translate(image[1]->width() + 20, 0);
114 draw_image(canvas, image[2], std::move(filter));
115 canvas->translate(image[2]->width() + 20, 0);
117 canvas->restore();
118 canvas->translate(0, image[0]->height() + 20);
132 // the canvas is not clipped, repeat can behave strangely (before fixes, this meant:
139 DEF_SIMPLE_GM(imageblurrepeatunclipped, canvas, 256, 128) {
143 canvas->drawImage(checkerboard, 0, 0);
157 canvas->translate(0, 50);
158 canvas->drawImage(img, 0, 0, SkSamplingOptions(), &paint);
163 canvas->translate(110, 0);
164 canvas->clipRect(SkRect::MakeXYWH(0, -30, 100, 10));
165 canvas->drawImage(img, 0, 0, SkSamplingOptions(), &paint);
170 canvas->drawRect(SkRect::MakeXYWH(0, -30, 99, 9), line);