Lines Matching refs:canvas
48 static void save_layer_unclipped(SkCanvas* canvas, in save_layer_unclipped() argument
51 canvas->saveLayer({ &rect, nullptr, nullptr, nullptr, nullptr, in save_layer_unclipped()
55 static void do_draw(SkCanvas* canvas) { in do_draw() argument
61 canvas->drawRect({ 15, 15, 290, 40 }, paint); in do_draw()
62 canvas->translate(0, 30); in do_draw()
89 void onDraw(SkCanvas* canvas) override { in onDraw() argument
95 canvas->clipRect({ L, T, R, B }); in onDraw()
98 SkAutoCanvasRestore acr(canvas, true); in onDraw()
100 save_layer_unclipped(canvas, L, T, R, T + 20); in onDraw()
101 save_layer_unclipped(canvas, L, B - 20, R, B); in onDraw()
104 canvas->saveLayer({ L, T, R, B }, nullptr); in onDraw()
107 do_draw(canvas); in onDraw()
119 DEF_SIMPLE_GM(picture_savelayer, canvas, 320, 640) {
127 canvas->translate(100 * i, 0);
130 canvas->saveLayer({ &rect1, &paint1, nullptr, nullptr, nullptr, flag});
131 canvas->saveLayer({ &rect2, &paint2, nullptr, nullptr, nullptr, flag});
132 canvas->drawRect(rect3, paint3);
133 canvas->restore();
134 canvas->restore();
142 DEF_SIMPLE_GM(savelayer_initfromprev, canvas, 256, 256) {
143 canvas->drawImage(GetResourceAsImage("images/mandrill_256.png"), 0, 0, nullptr);
150 canvas->saveLayer(rec);
152 canvas->drawCircle(128, 128, 96, paint);
153 canvas->restore();
156 static void draw_mask(SkCanvas* canvas, int size) { in draw_mask() argument
165 canvas->drawPaint(paint); in draw_mask()
169 canvas->drawCircle(cx, cy, size / 4, paint); in draw_mask()
172 DEF_SIMPLE_GM(savelayer_clipmask, canvas, 1200, 1200) {
227 canvas->drawColor(0xffcccccc);
241 canvas->save();
245 canvas->saveLayer(rec);
249 canvas->drawRect(SkRect::MakeWH(50, 50), paint);
251 canvas->drawRect(SkRect::MakeXYWH(50, 0, 50, 50), paint);
253 canvas->drawRect(SkRect::MakeXYWH(50, 50, 50, 50), paint);
255 canvas->drawRect(SkRect::MakeXYWH(0, 50, 50, 50), paint);
257 canvas->restore();
258 canvas->translate(120, 0);
260 canvas->restore();
261 canvas->translate(0, 120);
266 DEF_SIMPLE_GM(savelayer_coverage, canvas, 500, 500) {
267 canvas->saveLayer(nullptr, nullptr);
275 auto proc = [layerPaint](SkCanvas* canvas, SkCanvas::SaveLayerRec& rec) { in __anone39f348d0802() argument
279 canvas->saveLayer(rec); in __anone39f348d0802()
280 canvas->drawCircle(100, 100, 50, paint); in __anone39f348d0802()
282 canvas->drawRect({10, 90, 190, 110}, paint); in __anone39f348d0802()
283 canvas->restore(); in __anone39f348d0802()
290 canvas->save();
291 canvas->translate(x * 200.f, y * 200.f);
294 canvas->drawImageRect(image, r, nullptr);
295 proc(canvas, rec);
297 canvas->restore();
301 canvas->restore();
304 DEF_SIMPLE_GM(savelayer_clipmask_maskfilter, canvas, 500, 500) {
329 canvas->clear(SK_ColorGRAY);
331 canvas->translate(25.f, 0.f);
338 canvas->saveLayer(rec);
339 canvas->clear(SK_ColorWHITE);
340 canvas->restore();
342 canvas->translate(125.f, 0.f);
348 canvas->saveLayer(rec);
349 canvas->clear(SK_ColorWHITE);
350 canvas->restore();
352 canvas->translate(125.f, 0.f);
356 canvas->saveLayer(rec);
357 canvas->clear(SK_ColorWHITE);
358 canvas->restore();
361 static void draw_cell(SkCanvas* canvas, sk_sp<SkTextBlob> blob, SkColor c, SkScalar w, SkScalar h, in draw_cell() argument
367 canvas->drawRect(r, p); in draw_cell()
374 SkDEBUGCODE(int sc0 =) canvas->getSaveCount(); in draw_cell()
375 SkDEBUGCODE(int sc1 =) SkCanvasPriv::SaveBehind(canvas, &r); in draw_cell()
376 SkDEBUGCODE(int sc2 =) canvas->getSaveCount(); in draw_cell()
382 canvas->drawTextBlob(blob, 10, 30, p); in draw_cell()
392 SkCanvasPriv::DrawBehind(canvas, p); in draw_cell()
394 canvas->drawRect(r, p); in draw_cell()
398 canvas->restore(); in draw_cell()
399 SkDEBUGCODE(int sc3 =) canvas->getSaveCount(); in draw_cell()
408 static void draw_list(SkCanvas* canvas, sk_sp<SkTextBlob> blob, bool useDrawBehind) { in draw_list() argument
409 SkAutoCanvasRestore acr(canvas, true); in draw_list()
417 draw_cell(canvas, blob, c, w, h, useDrawBehind); in draw_list()
418 canvas->translate(0, h); in draw_list()
422 DEF_SIMPLE_GM(save_behind, canvas, 830, 670) {
431 canvas->save();
433 draw_list(canvas, blob, useDrawBehind);
434 canvas->translate(0, 350);
435 canvas->saveLayer({0, 0, 400, 320}, nullptr);
436 draw_list(canvas, blob, useDrawBehind);
437 canvas->restore();
439 canvas->restore();
440 canvas->translate(430, 0);
446 DEF_SIMPLE_GM(savelayer_f16, canvas, 900, 300) {
455 canvas->drawOval(r, paint);
461 canvas->translate(r.width(), 0);
465 canvas->saveLayer(rec);
467 canvas->drawOval(r, paint);
469 canvas->restore();