(Canvas canvas)
| 547 | } |
| 548 | |
| 549 | private void drawMeasure(Canvas canvas) { |
| 550 | canvas.save(); |
| 551 | |
| 552 | try (var path = new PathBuilder().addCircle(20, 20, 20, PathDirection.COUNTER_CLOCKWISE).build(); |
| 553 | var measure = new PathMeasure(path, false); |
| 554 | var segment = new PathBuilder(); |
| 555 | var arcStroke = new Paint().setColor(0xFF437AA0).setMode(PaintMode.STROKE).setStrokeWidth(1); |
| 556 | var tangentStroke = new Paint().setColor(0xFFFAA6B2).setMode(PaintMode.STROKE).setStrokeWidth(1);) |
| 557 | { |
| 558 | canvas.drawPath(path, arcStroke); |
| 559 | canvas.translate(50, 0); |
| 560 | |
| 561 | measure.getSegment(50, 100, segment, true); |
| 562 | canvas.drawPathOnce(segment.detach(), arcStroke); |
| 563 | |
| 564 | for (float d = 50; d < 100; d += 10) { |
| 565 | Point position = measure.getPosition(d); |
| 566 | Point tangent = measure.getTangent(d); |
| 567 | canvas.drawLine(position.getX(), position.getY(), position.getX() + tangent.getX() * 15f, position.getY() + tangent.getY() * 15f, tangentStroke); |
| 568 | } |
| 569 | } |
| 570 | |
| 571 | canvas.restore(); |
| 572 | canvas.translate(0, 50); |
| 573 | } |
| 574 | |
| 575 | public void drawFillWithPaint(Canvas canvas, String text, float x, float y) { |
| 576 | canvas.save(); |
no test coverage detected