mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2024-12-20 23:50:27 +00:00
perfect linewidth option (sometimes does not work correctly -- need to check)
This commit is contained in:
parent
ad65ac4aa4
commit
02ebc8a96a
@ -306,6 +306,7 @@ EX void initConfig() {
|
|||||||
addsaver(vid.antialias, "antialias", AA_NOGL | AA_FONT | (ISWEB ? AA_MULTI : AA_LINES) | AA_LINEWIDTH | AA_VERSION);
|
addsaver(vid.antialias, "antialias", AA_NOGL | AA_FONT | (ISWEB ? AA_MULTI : AA_LINES) | AA_LINEWIDTH | AA_VERSION);
|
||||||
addsaver(vid.linewidth, "linewidth", 1);
|
addsaver(vid.linewidth, "linewidth", 1);
|
||||||
addsaver(precise_width, "precisewidth", .5);
|
addsaver(precise_width, "precisewidth", .5);
|
||||||
|
addsaver(perfect_linewidth, "perfect_linewidth", 1);
|
||||||
addsaver(linepatterns::width, "pattern-linewidth", 1);
|
addsaver(linepatterns::width, "pattern-linewidth", 1);
|
||||||
addsaver(fat_edges, "fat-edges");
|
addsaver(fat_edges, "fat-edges");
|
||||||
addsaver(pconf.scale, "scale", 1);
|
addsaver(pconf.scale, "scale", 1);
|
||||||
@ -1156,6 +1157,11 @@ EX void showGraphConfig() {
|
|||||||
vid.antialias ^= AA_LINEWIDTH;
|
vid.antialias ^= AA_LINEWIDTH;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
dialog::addBoolItem("perfect width", perfect_linewidth == 2, 'P');
|
||||||
|
if(perfect_linewidth == 1)
|
||||||
|
dialog::lastItem().value = XLAT("shots only");
|
||||||
|
dialog::add_action([] { perfect_linewidth = (1 + perfect_linewidth) % 3; });
|
||||||
|
|
||||||
if(vid.antialias & AA_LINEWIDTH) {
|
if(vid.antialias & AA_LINEWIDTH) {
|
||||||
dialog::addSelItem("variable width", fts(precise_width), 'M');
|
dialog::addSelItem("variable width", fts(precise_width), 'M');
|
||||||
dialog::add_action([] () {
|
dialog::add_action([] () {
|
||||||
|
@ -719,6 +719,8 @@ EX ld scale_at(const transmatrix& T) {
|
|||||||
return sqrt(hypot_d(2, h2-h1) * hypot_d(2, h3-h1) / .0001);
|
return sqrt(hypot_d(2, h2-h1) * hypot_d(2, h3-h1) / .0001);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EX int perfect_linewidth = 1;
|
||||||
|
|
||||||
EX ld linewidthat(const hyperpoint& h) {
|
EX ld linewidthat(const hyperpoint& h) {
|
||||||
if(!(vid.antialias & AA_LINEWIDTH)) return 1;
|
if(!(vid.antialias & AA_LINEWIDTH)) return 1;
|
||||||
else if(hyperbolic && pmodel == mdDisk && pconf.alpha == 1 && !ISWEB) {
|
else if(hyperbolic && pmodel == mdDisk && pconf.alpha == 1 && !ISWEB) {
|
||||||
@ -731,7 +733,7 @@ EX ld linewidthat(const hyperpoint& h) {
|
|||||||
return dfc;
|
return dfc;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(svg::in || inHighQual) {
|
else if(perfect_linewidth >= (inHighQual ? 1 : 2)) {
|
||||||
hyperpoint h0 = h / zlevel(h);
|
hyperpoint h0 = h / zlevel(h);
|
||||||
transmatrix T = rgpushxto0(h0);
|
transmatrix T = rgpushxto0(h0);
|
||||||
return scale_at(T);
|
return scale_at(T);
|
||||||
|
Loading…
Reference in New Issue
Block a user