react-native-rectangle-doc-scanner 7.36.0 → 7.37.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -575,17 +575,18 @@ class CameraController(
575
575
  val centerX = viewRect.centerX()
576
576
  val centerY = viewRect.centerY()
577
577
 
578
- if (rotation == Surface.ROTATION_90 || rotation == Surface.ROTATION_270) {
579
- bufferRect.offset(centerX - bufferRect.centerX(), centerY - bufferRect.centerY())
580
- matrix.setRectToRect(bufferRect, viewRect, Matrix.ScaleToFit.FILL)
581
- val scale = max(
582
- viewWidth / preview.width.toFloat(),
583
- viewHeight / preview.height.toFloat()
584
- )
585
- matrix.postScale(scale, scale, centerX, centerY)
586
- matrix.postRotate(90f * (rotation - 2), centerX, centerY)
587
- } else if (rotation == Surface.ROTATION_180) {
588
- matrix.postRotate(180f, centerX, centerY)
578
+ // Center-crop without distortion for all rotations.
579
+ matrix.setRectToRect(bufferRect, viewRect, Matrix.ScaleToFit.CENTER)
580
+ val scale = max(viewWidth / bufferRect.width(), viewHeight / bufferRect.height())
581
+ matrix.postScale(scale, scale, centerX, centerY)
582
+ val rotateDegrees = when (rotation) {
583
+ Surface.ROTATION_90 -> -90f
584
+ Surface.ROTATION_180 -> 180f
585
+ Surface.ROTATION_270 -> 90f
586
+ else -> 0f
587
+ }
588
+ if (rotateDegrees != 0f) {
589
+ matrix.postRotate(rotateDegrees, centerX, centerY)
589
590
  }
590
591
 
591
592
  previewView.setTransform(matrix)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-rectangle-doc-scanner",
3
- "version": "7.36.0",
3
+ "version": "7.37.0",
4
4
  "description": "Native-backed document scanner for React Native with customizable overlays.",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",