()
| 87 | const zoomToFit = () => setZoom(1); |
| 88 | |
| 89 | const zoomToDefault = () => { |
| 90 | if (!naturalSize || fitScale <= 0 || !viewportRef.current) return; |
| 91 | const viewportWidth = viewportRef.current.clientWidth - 64; |
| 92 | const targetScale = DEFAULT_DISPLAY_WIDTH / naturalSize.width; |
| 93 | const maxWidthScale = viewportWidth / naturalSize.width; |
| 94 | const clampedScale = Math.min(targetScale, maxWidthScale); |
| 95 | setZoom(Math.max(MIN_ZOOM, Math.min(MAX_ZOOM, clampedScale / fitScale))); |
| 96 | }; |
| 97 | |
| 98 | const handleMouseDown = useCallback((e: React.MouseEvent) => { |
| 99 | if (!viewportRef.current || e.button !== 0) return; |
nothing calls this directly
no outgoing calls
no test coverage detected