| 2663 | draw.line((cx, cy - radius, cx, cy + radius), fill=0) |
| 2664 | draw.line((cx - radius, cy, cx + radius, cy), fill=0) |
| 2665 | |
| 2666 | for lbl, dx, dy in (("N", 0, -1), ("S", 0, 1), ("E", 1, 0), ("W", -1, 0)): |
| 2667 | lw = font.getlength(lbl) |
| 2668 | lx = cx + dx * (radius + int(6 * sx)) - lw / 2.0 |
| 2669 | ly = cy + dy * (radius + int(6 * sy)) - int(5 * sy) |
| 2670 | draw.text((lx, ly), lbl, font=font, fill=0) |
| 2671 | |
| 2672 | sats = self._wd_sky_data() |
| 2673 | if not sats: |
| 2674 | gps = (wd.get('gps') or {}) |
| 2675 | msg = "Searching..." if gps.get('connected') else "No GPS" |