MCPcopy Create free account
hub / github.com/JetBrains/skija / PathMeasureTest

Class PathMeasureTest

tests/java/PathMeasureTest.java:11–44  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

9import org.jetbrains.skija.test.runner.*;
10
11public class PathMeasureTest implements Executable {
12 @Override
13 public void execute() throws Exception {
14 try (var path = new Path().moveTo(0, 0).lineTo(40, 0).moveTo(0, 40).lineTo(10, 50);
15 var measure = new PathMeasure(path, false);
16 var path2 = new Path().lineTo(10, 10);)
17 {
18 assertEquals(40f, measure.getLength());
19 assertClose(new Point(0, 0), measure.getPosition(0));
20 assertClose(new Point(1, 0), measure.getTangent(0));
21 assertClose(new Point(20, 0), measure.getPosition(20));
22 assertClose(new Point(1, 0), measure.getTangent(20));
23 assertEquals(false, measure.isClosed());
24
25 assertClose(Matrix33.makeTranslate(20, 0), measure.getMatrix(20, true, false));
26 assertClose(Matrix33.makeRotate(0), measure.getMatrix(20, false, true));
27 assertClose(Matrix33.makeTranslate(20, 0).makeConcat(Matrix33.makeRotate(0)), measure.getMatrix(20, true, true));
28
29 measure.nextContour();
30 assertClose(14.14213f, measure.getLength());
31 assertClose(new Point(0, 40), measure.getPosition(0));
32 assertClose(new Point(0.70710677f, 0.70710677f), measure.getTangent(0));
33 assertClose(new Point(4.949747f, 44.949745f), measure.getPosition(7));
34 assertClose(new Point(0.70710677f, 0.70710677f), measure.getTangent(7));
35
36 assertClose(Matrix33.makeTranslate(4.949747f, 44.949745f), measure.getMatrix(7, true, false));
37 assertClose(Matrix33.makeRotate(45), measure.getMatrix(7, false, true));
38 assertClose(Matrix33.makeTranslate(4.949747f, 44.949745f).makeConcat(Matrix33.makeRotate(45)), measure.getMatrix(7, true, true));
39
40 measure.setPath(path2, false);
41 assertClose(14.142136f, measure.getLength());
42 }
43 }
44}

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected