From 32c0057ab0963074dc885c670457736f616e7464 Mon Sep 17 00:00:00 2001 From: Determinant Date: Tue, 3 Sep 2024 14:49:42 -0700 Subject: finish --- app.mjs | 34 ++++++++++++++++++++++++---------- 1 file changed, 24 insertions(+), 10 deletions(-) (limited to 'app.mjs') diff --git a/app.mjs b/app.mjs index d6842cc..6daa65a 100755 --- a/app.mjs +++ b/app.mjs @@ -763,7 +763,6 @@ const renderHSI = (c, display, values) => { } const crs = src ? deg2Rad(values[src.crs]) : null; const fromto = src ? values[src.fromto] : null; - console.log(fromto); let def = src ? Math.min(Math.max(values[src.def], -3), 3) : null; if (!isNumber(def)) { def = 0; @@ -798,11 +797,10 @@ const renderHSI = (c, display, values) => { c.rotate(crs); for (let i = -2; i <= 2; i++) { - if (i != 0) { - const x = 13 * i; - c.moveTo(x + vdefR, 0); - c.arc(x, 0, vdefR, 0, pi2); - } + const r = i == 0 ? 1 : vdefR; + const x = 13 * i; + c.moveTo(x + r, 0); + c.arc(x, 0, r, 0, pi2); } c.stroke(); @@ -819,16 +817,32 @@ const renderHSI = (c, display, values) => { c.moveTo(0, -r); c.lineTo(0, -(cdiR + 1)); - c.moveTo(0, -r); // crs arrowhead - c.lineTo(-5, -0.8 * r); - c.lineTo(5, -0.8 * r); - c.lineTo(0, -r); + let y0 = -f1 * r; + let y1 = 0.8 * y0; + c.moveTo(0, y0); + c.lineTo(-5, y1); + c.lineTo(5, y1); + c.lineTo(0, y0); c.moveTo(0, r); c.lineTo(0, cdiR + 1); + // from/to arrowhead + if (fromto) { + let y0 = -cdiR; + let y1 = 0.4 * y0; + if (fromto != 1) { + y0 = -y0; + y1 = -y1; + } + c.moveTo(0, y0); + c.lineTo(-5, y1); + c.lineTo(5, y1); + c.lineTo(0, y0); + } + c.rotate(-crs); } -- cgit v1.2.3-70-g09d2