-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathShow.java
More file actions
86 lines (72 loc) · 3.28 KB
/
Show.java
File metadata and controls
86 lines (72 loc) · 3.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
package org.variantsync.diffdetective.show;
import java.util.List;
import org.variantsync.diffdetective.diff.text.DiffLineNumber;
import org.variantsync.diffdetective.show.engine.GameEngine;
import org.variantsync.diffdetective.show.engine.geom.Vec2;
import org.variantsync.diffdetective.show.variation.VariationDiffApp;
import org.variantsync.diffdetective.util.Source;
import org.variantsync.diffdetective.variation.Label;
import org.variantsync.diffdetective.variation.diff.DiffNode;
import org.variantsync.diffdetective.variation.diff.VariationDiff;
import org.variantsync.diffdetective.variation.diff.bad.BadVDiff;
import org.variantsync.diffdetective.variation.diff.serialize.nodeformat.DiffNodeLabelFormat;
import org.variantsync.diffdetective.variation.tree.VariationTree;
public class Show {
public static Vec2 DEFAULT_RESOLUTION = new Vec2(800, 600);
public static <L extends Label> GameEngine diff(final VariationDiff<L> d, final String title, List<DiffNodeLabelFormat<L>> availableFormats) {
return new GameEngine(new VariationDiffApp<>(
title,
d,
DEFAULT_RESOLUTION,
availableFormats
));
}
public static GameEngine diff(final VariationDiff<?> d, final String title) {
return diff(d, title, VariationDiffApp.DEFAULT_FORMATS());
}
public static GameEngine diff(final VariationDiff<?> d) {
return diff(d, Source.shortExplanation(d));
}
public static <L extends Label> GameEngine tree(final VariationTree<L> t, final String title, List<DiffNodeLabelFormat<L>> availableFormats) {
return new GameEngine(new VariationDiffApp<>(
title,
t.toCompletelyUnchangedVariationDiff(),
DEFAULT_RESOLUTION,
availableFormats
));
}
public static GameEngine tree(final VariationTree<?> t, final String title) {
return tree(t, title, VariationDiffApp.DEFAULT_FORMATS());
}
public static GameEngine tree(final VariationTree<?> t) {
return tree(t, Source.shortExplanation(t));
}
public static <L extends Label> GameEngine baddiff(final BadVDiff<L> badVDiff, final String title, List<DiffNodeLabelFormat<L>> availableFormats) {
final VariationDiff<L> d = badVDiff.diff().toVariationDiff(
v -> {
int from = v.getLineRange().fromInclusive();
int to = v.getLineRange().toExclusive();
return new DiffNode<>(
badVDiff.coloring().get(v),
v.getNodeType(),
new DiffLineNumber(from, from, from),
new DiffLineNumber(to, to, to),
v.getFormula(),
v.getLabel()
);
}
);
return new GameEngine(new VariationDiffApp<>(
title,
d,
DEFAULT_RESOLUTION,
availableFormats
));
}
public static GameEngine baddiff(final BadVDiff<?> badVDiff, final String title) {
return baddiff(badVDiff, title, VariationDiffApp.DEFAULT_FORMATS());
}
public static GameEngine baddiff(final BadVDiff<?> badVDiff) {
return baddiff(badVDiff, Source.shortExplanation(badVDiff.diff()));
}
}