MCPcopy Create free account
hub / github.com/HumbleUI/Skija / drawCanvas

Method drawCanvas

examples/scenes/src/FigmaScene.java:704–773  ·  view source on GitHub ↗
(Canvas canvas, int width, int height, float dpi, int xpos, int ypos)

Source from the content-addressed store, hash-verified

702 }
703
704 public void drawCanvas(Canvas canvas, int width, int height, float dpi, int xpos, int ypos) {
705 try (Paint fill = new Paint();
706 Paint stroke = new Paint().setMode(PaintMode.STROKE).setStrokeWidth(1);
707 Region clip = new Region();)
708 {
709 int level = canvas.save();
710 clip.setRect(IRect.makeLTRB((int) (241 * dpi), (int) (78 * dpi), (int) ((width - 241) * dpi), (int) (height * dpi)));
711 canvas.clipRegion(clip);
712
713 // background
714 canvas.translate(241, 0);
715 fill.setColor(0xFFE5E5E5);
716 canvas.drawRect(Rect.makeLTRB(20, 20, width - 241 - 241, height - 78), fill);
717
718 // top ruler
719 fill.setColor(0xFFFCFCFC);
720 canvas.drawRect(Rect.makeLTRB(20, 0, width - 241 - 241, 20), fill);
721
722 canvas.save();
723 canvas.translate(20, 0);
724 fill.setColor(0xFFB8B8B8);
725 stroke.setColor(0xFFB1B1B1);
726 for (int x = (int) Math.ceil((-offsetX-20) / 50f) * 50; x + offsetX < width - 241 - 241; x += 50) {
727 drawTextCenter(canvas, "" + x, offsetX + x + 0.5f, 0, 14, uiFontSmall, fill);
728 canvas.drawLine(offsetX + x + 0.5f, 16, offsetX + x + 0.5f, 20, stroke);
729 }
730 canvas.restore();
731
732 // left ruler
733 fill.setColor(0xFFFCFCFC);
734 canvas.drawRect(Rect.makeLTRB(0, 20, 20, height - 78), fill);
735 canvas.save();
736 canvas.translate(0, 20);
737 canvas.rotate(-90);
738 fill.setColor(0xFFB8B8B8);
739 stroke.setColor(0xFFB1B1B1);
740 for (int y = (int) Math.ceil((-offsetY-20) / 50f) * 50; y + offsetY < height - 78; y += 50) {
741 drawTextCenter(canvas, "" + y, -offsetY - y - 0.5f, 0, 14, uiFontSmall, fill);
742 canvas.drawLine(-offsetY - y - 0.5f, 16, -offsetY - y - 0.5f, 20, stroke);
743 }
744 canvas.restore();
745
746 // cursor pos
747 if (clip.contains((int) (xpos*dpi), (int) (ypos*dpi))) {
748 float worldX = xpos - 241 - 20 - offsetX;
749 float worldY = ypos - 78 - 20 - offsetY;
750
751 fill.setColor(0xFF24A5FB);
752 drawTextCenter(canvas, "" + (int) worldX, 20 + offsetX + worldX + 0.5f, 0, 14, uiFontSmall, fill);
753 stroke.setColor(0xFFB1B1B1);
754 canvas.drawLine(20 + offsetX + worldX + 0.5f, 16, 20 + offsetX + worldX + 0.5f, 20, stroke);
755
756 canvas.save();
757 canvas.translate(0, 20);
758 canvas.rotate(-90);
759 drawTextCenter(canvas, "" + (int) worldY, -offsetY - worldY - 0.5f, 0, 14, uiFontSmall, fill);
760 canvas.drawLine(-offsetY - worldY - 0.5f, 16, -offsetY - worldY - 0.5f, 20, stroke);
761 canvas.restore();

Callers 1

drawMethod · 0.95

Calls 14

drawTextCenterMethod · 0.95
setStrokeWidthMethod · 0.80
setModeMethod · 0.80
saveMethod · 0.80
setRectMethod · 0.80
clipRegionMethod · 0.80
drawRectMethod · 0.80
restoreMethod · 0.80
restoreToCountMethod · 0.80
translateMethod · 0.45
setColorMethod · 0.45
drawLineMethod · 0.45

Tested by

no test coverage detected