Lines Matching defs:canvas

73 static void rand_op(SkCanvas* canvas, SkRandom& rand) {
80 canvas->save();
83 canvas->restore();
86 canvas->clipRect(rect);
89 canvas->drawPaint(paint);
93 static void set_canvas_to_save_count_4(SkCanvas* canvas) {
94 canvas->restoreToCount(1);
95 canvas->save();
96 canvas->save();
97 canvas->save();
101 * A canvas that records the number of saves, saveLayers and restores.
150 SaveCountingCanvas canvas(SkScalarCeilToInt(picture->cullRect().width()),
153 picture->playback(&canvas);
157 REPORTER_ASSERT(reporter, numSaves >= canvas.getSaveCount());
158 REPORTER_ASSERT(reporter, numSaveLayers >= canvas.getSaveLayerCount());
159 REPORTER_ASSERT(reporter, numRestores >= canvas.getRestoreCount());
169 SkCanvas* canvas = recorder2.beginRecording(10, 10);
171 recorder->partialReplay(canvas);
177 static void create_imbalance(SkCanvas* canvas) {
180 canvas->save();
181 canvas->clipRect(clipRect, SkClipOp::kIntersect);
182 canvas->translate(1.0f, 1.0f);
185 canvas->drawRect(drawRect, p);
189 // This tests that replaying a potentially unbalanced picture into a canvas
190 // doesn't affect the canvas' save count or matrix/clip state.
194 SkCanvas canvas(bm);
196 int beforeSaveCount = canvas.getSaveCount();
198 SkMatrix beforeMatrix = canvas.getTotalMatrix();
200 SkRect beforeClip = canvas.getLocalClipBounds();
202 canvas.drawPicture(picture);
204 REPORTER_ASSERT(reporter, beforeSaveCount == canvas.getSaveCount());
205 REPORTER_ASSERT(reporter, beforeMatrix == canvas.getTotalMatrix());
207 SkRect afterClip = canvas.getLocalClipBounds();
218 SkCanvas* canvas = recorder.beginRecording(10, 10);
220 canvas->saveLayer(nullptr, nullptr);
227 canvas->saveLayer(nullptr, nullptr);
241 SkCanvas* canvas = recorder.beginRecording(4, 3);
242 create_imbalance(canvas);
244 int expectedSaveCount = canvas->getSaveCount();
249 REPORTER_ASSERT(reporter, expectedSaveCount = canvas->getSaveCount());
270 SkCanvas* canvas = recorder.beginRecording(100, 100);
271 canvas->save();
272 canvas->translate(10, 10);
273 canvas->drawRect(rect, paint);
274 canvas->save();
275 canvas->translate(10, 10);
276 canvas->drawRect(rect, paint);
287 SkCanvas* canvas = recorder.beginRecording(100, 100);
288 canvas->save();
289 canvas->translate(10, 10);
290 canvas->drawRect(rect, paint);
291 canvas->save();
292 canvas->translate(10, 10);
293 canvas->drawRect(rect, paint);
294 canvas->restore();
295 canvas->restore();
296 canvas->restore();
297 canvas->restore();
307 SkCanvas* canvas = recorder.beginRecording(100, 100);
308 canvas->translate(10, 10);
309 canvas->drawRect(rect, paint);
326 SkCanvas* canvas = recorder.beginRecording(100, 100);
329 rand_op(canvas, rand);
337 SkCanvas* canvas = recorder.beginRecording(100, 100);
341 canvas->save();
343 while (canvas->getSaveCount() > 1) {
344 canvas->clipRect(rect);
345 canvas->restore();
364 SkCanvas canvas;
365 canvas.drawPicture(picture);
389 SkCanvas* canvas = recorder.beginRecording(10, 10);
390 canvas->clipPath(invPath);
391 clipBounds = canvas->getDeviceClipBounds();
398 SkCanvas* canvas = recorder.beginRecording(10, 10);
399 canvas->clipPath(path);
400 canvas->clipPath(invPath);
401 clipBounds = canvas->getDeviceClipBounds();
408 SkCanvas* canvas = recorder.beginRecording(10, 10);
409 canvas->clipPath(path, SkClipOp::kDifference);
410 clipBounds = canvas->getDeviceClipBounds();
417 SkCanvas* canvas = recorder.beginRecording(10, 10);
418 canvas->clipPath(path, SkClipOp::kIntersect);
419 canvas->clipPath(path2, SkClipOp::kDifference);
420 clipBounds = canvas->getDeviceClipBounds();
432 SkCanvas* canvas = recorder.beginRecording(bounds, &factory);
435 canvas->drawRect(bounds, paint);
436 canvas->drawRect(bounds, paint);
450 * A canvas that records the number of clip commands.
496 SkCanvas* canvas = recorder.beginRecording(1, 1);
497 canvas->drawColor(SK_ColorWHITE);
508 SkCanvas* canvas = recorder.beginRecording(10, 10);
510 canvas->drawString("Q", 0, 10, font, SkPaint());
530 static void draw_bitmaps(const SkBitmap bitmap, SkCanvas* canvas) {
535 canvas->drawImage(img, 0.0f, 0.0f);
536 canvas->drawImageRect(img, rect, rect, SkSamplingOptions(), nullptr,
538 canvas->drawImage(img, 1, 1); // drawSprite
541 static void test_draw_bitmaps(SkCanvas* canvas) {
543 draw_bitmaps(empty, canvas);
545 draw_bitmaps(empty, canvas);
557 SkCanvas canvas(dst);
559 test_draw_bitmaps(&canvas);
586 SkCanvas* canvas = recorder.beginRecording(100, 100);
587 canvas->drawColor(0);
589 canvas->saveLayer(nullptr, &semiTransparent);
590 canvas->drawImage(blueBM.asImage(), 25, 25);
591 canvas->drawImage(redBM.asImage(), 50, 50);
592 canvas->restore();
596 // Now replay the picture back on another canvas
632 // When the canvas clip covers the full picture, we don't need to call the BBH.
672 SkCanvas* canvas = rec.beginRecording(1920, 1200);
673 canvas->drawImage(mut.asImage(), 0, 0);
674 canvas->drawImage(immut.asImage(), 800, 600);
739 auto canvas = recorder.beginRecording(SkRectPriv::MakeLargest(), &factory);
740 canvas->drawRect(SkRect::MakeWH(20,20), SkPaint{});
744 canvas = recorder.beginRecording(SkRectPriv::MakeLargest());
745 canvas->drawRect(SkRect::MakeWH(20,20), SkPaint{});
754 auto canvas = recorder.beginRecording(SkRectPriv::MakeLargest(), &factory);
755 canvas->drawRect(SkRect::MakeWH(20,20), SkPaint{});
756 canvas->drawRect(SkRect::MakeWH(10,40), SkPaint{});
760 canvas = recorder.beginRecording(SkRectPriv::MakeLargest());
761 canvas->drawRect(SkRect::MakeWH(20,20), SkPaint{});
762 canvas->drawRect(SkRect::MakeWH(10,40), SkPaint{});
770 auto canvas = recorder.beginRecording(SkRect::MakeWH(100,100));
772 canvas->clear(0);
774 canvas->drawRect(SkRect::MakeXYWH(i*10,j*10,10,10), SkPaint());
776 canvas->flush();
801 SkCanvas* canvas = recorder.beginRecording(cull);
802 canvas->drawPicture(p1);
803 canvas->drawPicture(p2);
880 SkCanvas* canvas = recorder.beginRecording(bounds, &factory);
881 canvas->translate(-100,-100);
882 canvas->drawRect({0,0,50,50}, SkPaint{});