Lines Matching defs:canvas
17 // operations. The test works by emitting canvas operations at three levels:
141 typedef void (*PFEmitMC)(SkCanvas* canvas, MatType mat, ClipType clip,
144 typedef void (*PFEmitBody)(SkCanvas* canvas, PFEmitMC emitMC, MatType mat,
147 typedef void (*PFEmitStruct)(SkCanvas* canvas, PFEmitMC emitMC, MatType mat,
154 static void emit_clip(SkCanvas* canvas, ClipType clip) {
160 canvas->clipRect(r, SkRegion::kIntersect_Op, true);
167 canvas->clipRRect(rr, SkRegion::kIntersect_Op, true);
176 canvas->clipPath(p, SkRegion::kIntersect_Op, true);
186 canvas->clipRegion(r, SkRegion::kIntersect_Op);
224 static void emit_mat(SkCanvas* canvas, MatType mat) {
229 canvas->translate(5.0f, 5.0f);
232 canvas->scale(1.1f, 1.1f);
235 canvas->skew(1.1f, 1.1f);
238 canvas->rotate(1.0f);
243 canvas->concat(m);
249 canvas->setMatrix(m);
283 static void emit_draw(SkCanvas* canvas, DrawOpType draw, SkTDArray<DrawType>* expected) {
288 canvas->clear(SK_ColorRED);
294 canvas->drawOval(r, p);
301 canvas->drawRect(r, p);
310 canvas->drawRRect(rr, p);
325 static void emit_clip_and_mat(SkCanvas* canvas, MatType mat, ClipType clip,
328 emit_clip(canvas, clip);
329 emit_mat(canvas, mat);
346 static void emit_mat_and_clip(SkCanvas* canvas, MatType mat, ClipType clip,
349 emit_mat(canvas, mat);
350 emit_clip(canvas, clip);
369 static void emit_double_mat_and_clip(SkCanvas* canvas, MatType mat, ClipType clip,
372 emit_mat(canvas, mat);
373 emit_clip(canvas, clip);
374 emit_mat(canvas, mat);
375 emit_clip(canvas, clip);
394 static void emit_mat_clip_clip(SkCanvas* canvas, MatType mat, ClipType clip,
397 emit_mat(canvas, mat);
398 emit_clip(canvas, clip);
399 emit_clip(canvas, clip);
417 static void emit_body0(SkCanvas* canvas, PFEmitMC emitMC, MatType mat,
426 (*emitMC)(canvas, mat, clip, draw, expected, accumulatedClips+1);
427 emit_draw(canvas, draw, expected);
438 static void emit_body1(SkCanvas* canvas, PFEmitMC emitMC, MatType mat,
447 (*emitMC)(canvas, mat, clip, draw, expected, accumulatedClips+1);
448 emit_draw(canvas, draw, expected);
453 (*emitMC)(canvas, mat, clip, draw, expected, accumulatedClips+2);
454 emit_draw(canvas, draw, expected);
466 static void emit_body2(SkCanvas* canvas, PFEmitMC emitMC, MatType mat,
475 (*emitMC)(canvas, mat, clip, kSaveLayer_DrawOpType, expected, accumulatedClips+1);
478 canvas->saveLayer(nullptr, nullptr);
482 (*emitMC)(canvas, mat, clip, draw, expected, 1);
483 emit_draw(canvas, draw, expected);
487 canvas->restore();
504 static void emit_body3(SkCanvas* canvas, PFEmitMC emitMC, MatType mat,
513 (*emitMC)(canvas, mat, clip, kSaveLayer_DrawOpType, expected, accumulatedClips+1);
516 canvas->saveLayer(nullptr, nullptr);
517 (*emitMC)(canvas, mat, clip, kSaveLayer_DrawOpType, expected, 1);
523 canvas->saveLayer(nullptr, nullptr);
527 (*emitMC)(canvas, mat, clip, draw, expected, 1);
528 emit_draw(canvas, draw, expected);
532 canvas->restore(); // for saveLayer
537 canvas->restore();
552 static void emit_struct0(SkCanvas* canvas,
556 (*emitBody)(canvas, emitMC, mat, clip, draw, expected, 0);
568 static void emit_struct1(SkCanvas* canvas,
572 (*emitMC)(canvas, mat, clip, draw, nullptr, 0); // these get fused into later ops
573 canvas->save();
574 (*emitBody)(canvas, emitMC, mat, clip, draw, expected, 1);
575 canvas->restore();
576 (*emitMC)(canvas, mat, clip, draw, nullptr, 0); // these will get removed
591 static void emit_struct2(SkCanvas* canvas,
595 (*emitMC)(canvas, mat, clip, draw, nullptr, 1); // these will get fused into later ops
596 canvas->save();
597 (*emitBody)(canvas, emitMC, mat, clip, draw, expected, 1);
598 canvas->restore();
599 canvas->save();
600 (*emitBody)(canvas, emitMC, mat, clip, draw, expected, 1);
601 canvas->restore();
602 (*emitMC)(canvas, mat, clip, draw, nullptr, 1); // these will get removed
620 static void emit_struct3(SkCanvas* canvas,
624 (*emitMC)(canvas, mat, clip, draw, nullptr, 0); // these will get fused into later ops
625 canvas->save();
626 (*emitBody)(canvas, emitMC, mat, clip, draw, expected, 1);
627 canvas->restore();
628 canvas->save();
629 (*emitMC)(canvas, mat, clip, draw, nullptr, 1); // these will get fused into later ops
630 canvas->save();
631 (*emitBody)(canvas, emitMC, mat, clip, draw, expected, 2);
632 canvas->restore();
633 canvas->restore();
634 (*emitMC)(canvas, mat, clip, draw, nullptr, 0); // these will get removed
688 SkCanvas* canvas = picture.beginRecording(100, 100);
689 (*gStructure[i])(canvas,