From 7eb8df7f203857748d84f325dd82a443326f174b Mon Sep 17 00:00:00 2001 From: leoz Date: Sun, 25 Feb 2024 09:58:40 -0500 Subject: Use configuration for image rotation --- Sources/SwiftyCrop/View/CropView.swift | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) (limited to 'Sources') diff --git a/Sources/SwiftyCrop/View/CropView.swift b/Sources/SwiftyCrop/View/CropView.swift index 9619efb..a61aa47 100644 --- a/Sources/SwiftyCrop/View/CropView.swift +++ b/Sources/SwiftyCrop/View/CropView.swift @@ -111,7 +111,7 @@ struct CropView: View { .frame(maxWidth: .infinity, maxHeight: .infinity) .simultaneousGesture(magnificationGesture) .simultaneousGesture(dragGesture) - .simultaneousGesture(rotationGesture) + .simultaneousGesture(configuration.rotateImage ? rotationGesture : nil) HStack { Button { @@ -138,15 +138,19 @@ struct CropView: View { } private func cropImage() -> UIImage? { - if let rotatedImage: UIImage = viewModel.rotate(image, viewModel.lastAngle) { - if maskShape == .circle && configuration.cropImageCircular { - return viewModel.cropToCircle(rotatedImage) - } else { - return viewModel.cropToSquare(rotatedImage) + var editedImage: UIImage = image + if configuration.rotateImage { + if let rotatedImage: UIImage = viewModel.rotate( + editedImage, + viewModel.lastAngle + ) { + editedImage = rotatedImage } - return rotatedImage + } + if configuration.cropImageCircular && maskShape == .circle { + return viewModel.cropToCircle(editedImage) } else { - return nil + return viewModel.cropToSquare(editedImage) } } -- cgit v1.2.3