diff --git a/app/src/main/java/com/example/medilightv2android/ui/views/monitoring/PlacementGuideView.kt b/app/src/main/java/com/example/medilightv2android/ui/views/monitoring/PlacementGuideView.kt index 1f4f5b4..cd98ef2 100644 --- a/app/src/main/java/com/example/medilightv2android/ui/views/monitoring/PlacementGuideView.kt +++ b/app/src/main/java/com/example/medilightv2android/ui/views/monitoring/PlacementGuideView.kt @@ -430,7 +430,41 @@ fun PlacementGuideView(appState: AppState) { alpha = 0.95f, ) - // 빌드 111(e0f92eb): Canvas 방향 화살표 4종 제거 — hint 텍스트로만 방향 안내 + // ── 방향 화살표 (센서/타원 바깥, 충분한 간격) — 복원 (사용자 요청) ── + if (!greenZone) { + val arrowColor = Color(0xFFFF5722) + val arrowLen = 70f + val arrowHead = 28f + val sw = 9f + val sensorHalfH = h * 0.08f + + when { + directionIcon.contains("up") -> { + val ay = bladderCy - bladderRy - sensorHalfH - 20f + drawLine(arrowColor, Offset(cx, ay + arrowLen), Offset(cx, ay), strokeWidth = sw) + drawLine(arrowColor, Offset(cx - arrowHead, ay + arrowHead), Offset(cx, ay), strokeWidth = sw) + drawLine(arrowColor, Offset(cx + arrowHead, ay + arrowHead), Offset(cx, ay), strokeWidth = sw) + } + directionIcon.contains("down") -> { + val ay = bladderCy + bladderRy + sensorHalfH + 20f + drawLine(arrowColor, Offset(cx, ay - arrowLen), Offset(cx, ay), strokeWidth = sw) + drawLine(arrowColor, Offset(cx - arrowHead, ay - arrowHead), Offset(cx, ay), strokeWidth = sw) + drawLine(arrowColor, Offset(cx + arrowHead, ay - arrowHead), Offset(cx, ay), strokeWidth = sw) + } + directionIcon.contains("left") -> { + val ax = cx - bladderRx - 30f + drawLine(arrowColor, Offset(ax + arrowLen, bladderCy), Offset(ax, bladderCy), strokeWidth = sw) + drawLine(arrowColor, Offset(ax + arrowHead, bladderCy - arrowHead), Offset(ax, bladderCy), strokeWidth = sw) + drawLine(arrowColor, Offset(ax + arrowHead, bladderCy + arrowHead), Offset(ax, bladderCy), strokeWidth = sw) + } + directionIcon.contains("right") -> { + val ax = cx + bladderRx + 30f + drawLine(arrowColor, Offset(ax - arrowLen, bladderCy), Offset(ax, bladderCy), strokeWidth = sw) + drawLine(arrowColor, Offset(ax - arrowHead, bladderCy - arrowHead), Offset(ax, bladderCy), strokeWidth = sw) + drawLine(arrowColor, Offset(ax - arrowHead, bladderCy + arrowHead), Offset(ax, bladderCy), strokeWidth = sw) + } + } + } } // (sensor 이미지는 위 Canvas drawImage 로 이동 — body silhouette과 동일 좌표계)