(Canvas canvas)
| 389 | } |
| 390 | |
| 391 | private void drawMeasure(Canvas canvas) { |
| 392 | canvas.save(); |
| 393 | |
| 394 | try (var path = new Path().addCircle(20, 20, 20, PathDirection.COUNTER_CLOCKWISE); |
| 395 | var measure = new PathMeasure(path, false); |
| 396 | var segment = new Path(); |
| 397 | var arcStroke = new Paint().setColor(0xFF437AA0).setMode(PaintMode.STROKE).setStrokeWidth(1); |
| 398 | var tangentStroke = new Paint().setColor(0xFFFAA6B2).setMode(PaintMode.STROKE).setStrokeWidth(1);) |
| 399 | { |
| 400 | canvas.drawPath(path, arcStroke); |
| 401 | canvas.translate(50, 0); |
| 402 | |
| 403 | measure.getSegment(50, 100, segment, true); |
| 404 | canvas.drawPath(segment, arcStroke); |
| 405 | |
| 406 | for (float d = 50; d < 100; d += 10) { |
| 407 | Point position = measure.getPosition(d); |
| 408 | Point tangent = measure.getTangent(d); |
| 409 | canvas.drawLine(position.getX(), position.getY(), position.getX() + tangent.getX() * 15f, position.getY() + tangent.getY() * 15f, tangentStroke); |
| 410 | } |
| 411 | } |
| 412 | |
| 413 | canvas.restore(); |
| 414 | canvas.translate(0, 50); |
| 415 | } |
| 416 | } |
no test coverage detected