fix(507-3 MC 강조): B05 · B06 MC 측점 글 (MC) · 한 단계 크게 · 굵게 · 경고색 · B07 종단 표 · 횡단 제목 · B08 토적표 · B09 인쇄 토적표 (MC) — 요구 311-4

- 평면 눈금 굵은 13px · 종단 12px · 횡단 판 · B06 카드 · 상세 창 제목 = --color-warning(밝음 · 어두움)
- 측점 갈아끼움 이름 = 서버 꼴 STA… (MC)
- B08 토적표 줄 mc = 서버가 종단 파일 kind curve 로 실음
- test_507_3_mc_label

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-21 16:03:02 +09:00
co-authored by Claude Opus 5.5
parent de1377e45e
commit 1a8a16a99b
15 changed files with 176 additions and 11 deletions
@@ -292,6 +292,8 @@ export function drawStationTicks(
context.stroke();
const label = stationLabel(chainage, interval, options.chainages ? 1 : 0) + (mc ? " (MC)" : "");
// MC = 사용자가 고칠 자리(507-3) — 한 단계 큰 굵은 글 · 경고색 · 바탕 = 테마 바탕(밝음 · 어두움 둘 다 읽힘)
context.font = mc ? "bold 13px system-ui, sans-serif" : "11px system-ui, sans-serif";
const width = context.measureText(label).width + 6;
const half = width / 2;
// 겹치면 빼지 않고 **비켜 놓는다** — 직각 방향으로 반대쪽 → 한 칸 더 멀리 순서로 빈자리를
@@ -328,9 +330,9 @@ export function drawStationTicks(
context.translate(-lx, -ly);
}
// 배경을 깔아 등고선 위에서도 읽히게 한다.
context.fillStyle = "rgba(255, 255, 255, 0.78)";
context.fillStyle = mc ? themeColor("--color-canvas", "#ffffff") : "rgba(255, 255, 255, 0.78)";
context.fillRect(lx - half, ly - 8, width, 16);
context.fillStyle = "#222222";
context.fillStyle = mc ? themeColor("--color-warning", "#b8860b") : "#222222";
context.fillText(label, lx, ly);
context.restore();
}