slow.monster

STUDIO HAZE · jeniapp

Topaz source

Open by house policy. Topaz is our own language.

Topaz 5.20.2 · 63 files

apps/circuit/ui/routing.tpz

Topaz · 720 B · Original file

1// 직각 배선. 두 점을 가운데 x 에서 세로로 꺾는 Z 경로로 잇고 SVG points 문자열로 냅니다.
2// 입력은 시작점과 끝점이고 출력은 "x,y x,y ..." 네 점 문자열입니다.
3// 같은 두 점이면 늘 같은 경로가 나옵니다. 모든 선분은 가로나 세로입니다.
4// 노드를 피해 돌아가지 않습니다.
5// Orthogonal routing: a Z-shaped polyline between two points as an SVG points string.
7export type 점 = { x: int, y: int }
9export function 직각경로(시작: 점, 끝: 점) -> string {
10 let 가운데x = (시작.x + 끝.x) / 2
11 [시작, { x: 가운데x, y: 시작.y }, { x: 가운데x, y: 끝.y }, 끝].map(점값 => "{점값.x},{점값.y}").join(" ")

SHA256 262d86a6079fb3099ae0bb01dec9db26de9907e7100093948a80bc6c6e3aadc7