(real: CropBounds)
| 420 | ); |
| 421 | |
| 422 | function boundsToRaw(real: CropBounds) { |
| 423 | const scale = logicalScale(); |
| 424 | return { |
| 425 | x: Math.max(0, real.x / scale.x), |
| 426 | y: Math.max(0, real.y / scale.y), |
| 427 | width: Math.max(0, real.width / scale.x), |
| 428 | height: Math.max(0, real.height / scale.y), |
| 429 | }; |
| 430 | } |
| 431 | |
| 432 | function animateToRawBounds(target: CropBounds, durationMs = 240) { |
| 433 | const start = displayRawBounds(); |
no outgoing calls
no test coverage detected