Lines Matching defs:canvas

28     virtual void draw(SkCanvas* canvas, SkPaint* paint,
35 void applyLocalTransform(SkCanvas* canvas, SkScalar tx, SkScalar ty, SkScalar angle) {
36 canvas->translate(tx, ty);
37 canvas->rotate(angle, kTileWidth / 2.f, kTileHeight / 2.f);
54 void draw(SkCanvas* canvas, SkPaint* paint, SkScalar tx, SkScalar ty, SkScalar angle) override {
58 this->applyLocalTransform(canvas, tx, ty, angle);
59 canvas->drawRect(SkRect::MakeLTRB(kTileWidth / 2.f - width / 2.f, 2.f,
106 void draw(SkCanvas* canvas, SkPaint* paint, SkScalar tx, SkScalar ty, SkScalar angle) override {
140 this->applyLocalTransform(canvas, tx, ty, angle);
141 canvas->drawPath(path, *paint);
178 void draw(SkCanvas* canvas, SkPaint* paint, SkScalar tx, SkScalar ty, SkScalar angle) override {
180 this->prepareBuffer(canvas, paint, tx, ty, angle);
181 this->redraw(canvas);
185 // drawing the original scale back into the canvas.
186 void prepareBuffer(SkCanvas* canvas, SkPaint* paint, SkScalar tx, SkScalar ty, SkScalar angle) {
191 : canvas->makeSurface(info);
206 void redraw(SkCanvas* canvas, SkScalar scale = 1.f, bool debugMode = false) {
227 canvas->scale(scale, scale);
228 canvas->drawImageRect(fLastRendered.get(),
288 void onDrawContent(SkCanvas* canvas) override {
292 canvas->translate(60.f, 20.f);
293 canvas->drawString("Each row features a rendering command under different AA strategies. "
297 canvas->drawString(SkStringPrintf("Stroke width: %.2f ('-' to decrease, '=' to increase)",
299 canvas->drawString(SkStringPrintf("Rotation: %.3f ('r' to animate, 'y' sets to 90, 'u' sets"
301 canvas->drawString(SkStringPrintf("Translation: %.3f, %.3f ('t' to animate)",
304 canvas->translate(0.f, 100.f);
307 this->drawShapes(canvas, "Native", 0, fNative);
310 this->drawShapes(canvas, "Raster", 1, fRaster);
313 this->drawShapes(canvas, "Hairline", 2, fHairline);
316 this->drawShapes(canvas, "SSx16", 3, fSS4);
319 this->drawShapes(canvas, "SSx64", 4, fSS16);
463 void drawShapes(SkCanvas* canvas, const char* name, int gridX,
465 SkAutoCanvasRestore autoRestore(canvas, /* save */ true);
468 this->drawShape(canvas, name, gridX, shapes[i].get(), i == 0);
469 // drawShape positions the canvas properly for the next iteration
473 void drawShape(SkCanvas* canvas, const char* name, int gridX,
482 canvas->save();
489 canvas->save();
490 canvas->translate(-10.f, 4 * ShapeRenderer::kTileHeight + centering);
491 canvas->rotate(-90.f);
492 canvas->drawString(shape->name(), 0.f, 0.f, font, text);
493 canvas->restore();
496 canvas->drawString(name, gridX * kZoomGridWidth, -10.f, font, text);
498 canvas->restore();
510 // Generate a saved image of the correct stroke width, but don't put it into the canvas
512 shape->prepareBuffer(canvas, &paint, fSubpixelX, fSubpixelY, fAngle);
517 canvas->save();
518 canvas->translate(x, 0.f);
519 canvas->drawRect(kZoomTile, outline);
520 shape->redraw(canvas, 8.0f);
521 canvas->restore();
524 canvas->save();
525 canvas->translate(x + 4.f, 4.f);
526 canvas->drawRect(kTile, clear);
527 canvas->drawRect(kTile, outline);
528 shape->redraw(canvas, 1.f);
529 canvas->restore();
532 canvas->save();
533 canvas->translate(x + ShapeRenderer::kTileWidth + 8.f, 4.f);
534 canvas->drawRect(kTile, clear);
535 canvas->drawRect(kTile, outline);
536 shape->redraw(canvas, 1.f, /* debug */ true);
537 canvas->restore();
539 // Lastly, shift the canvas translation down by 8 * kTH + padding for the next set of shapes
540 canvas->translate(0.f, 8.f * ShapeRenderer::kTileHeight + 20.f);