- 교각점 고름 = 창 없이 근처(40 px) 아이콘 · 멀면 0.7 s 뒤 숨김 · 누름 = 창 열림(멀어져도 유지) - 창 열린 채 다른 교각점 = 열린 채 새 정보 · 닫힌 채 = 닫힌 채 · [닫기] = 창 닫고 고름 풂 - 부품 상자 아이콘 단추 「유리」 꼴 더함(견본 · 시험 552-2) - 새 지킴 시험 test_445_curve_icon · 398-2 · 408 도우미에 가짜 아이콘 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
26 lines
1.2 KiB
TypeScript
26 lines
1.2 KiB
TypeScript
/* =============================================================================
|
|
* B05_Profile_RouteEdit_CurveIcon.ts
|
|
* 교각점 정보 창 열림 · 근처 아이콘 규칙(445-C1) — 순수 함수. 화면 쪽은 `_UI_RouteEdit_CurveIcon`.
|
|
* ========================================================================== */
|
|
|
|
/** 교각점에서 이만큼(px) 안에 마우스가 있으면 「근처」(노드 잡기 12 px 의 세 배쯤). */
|
|
export const NEAR_PX = 40;
|
|
|
|
/** 마우스가 교각점 근처인가 — 아이콘 위에 있어도 근처(`overIcon`). */
|
|
export function isNear(distancePx: number, overIcon: boolean): boolean {
|
|
return overIcon || distancePx <= NEAR_PX;
|
|
}
|
|
|
|
/**
|
|
* 고른 교각점이 바뀐 뒤 정보 창이 열려 있나 — 열린 채 다른 교각점을 고르면 새 교각점으로 열린 채 ·
|
|
* 닫혀 있었으면 닫힌 채 · 고름이 풀리면 닫힘.
|
|
*/
|
|
export function openAfterPick(open: boolean, picked: number): boolean {
|
|
return open && picked >= 0;
|
|
}
|
|
|
|
/** 아이콘이 보이나 — 고름 있음 · 창 닫힘 · 근처(터치는 마우스가 없어 늘 근처). */
|
|
export function iconVisible(picked: number, open: boolean, near: boolean, touch: boolean): boolean {
|
|
return picked >= 0 && !open && (near || touch);
|
|
}
|