diff options
-rw-r--r-- | Sources/SwiftyCrop/Models/SwiftyCropConfiguration.swift | 18 | ||||
-rw-r--r-- | Sources/SwiftyCrop/View/CropView.swift | 2 |
2 files changed, 15 insertions, 5 deletions
diff --git a/Sources/SwiftyCrop/Models/SwiftyCropConfiguration.swift b/Sources/SwiftyCrop/Models/SwiftyCropConfiguration.swift index cc3d47a..73566be 100644 --- a/Sources/SwiftyCrop/Models/SwiftyCropConfiguration.swift +++ b/Sources/SwiftyCrop/Models/SwiftyCropConfiguration.swift @@ -4,14 +4,24 @@ import CoreGraphics public struct SwiftyCropConfiguration { let maxMagnificationScale: CGFloat let maskRadius: CGFloat - + let cropImageCircular: Bool + /// Creates a new instance of `SwiftyCropConfiguration`. /// /// - Parameters: - /// - maxMagnificationScale: The maximum scale factor that the image can be magnified while cropping. Defaults to `4.0`. - /// - maskRadius: The radius of the mask used for cropping. Defaults to `130`. - public init(maxMagnificationScale: CGFloat = 4.0, maskRadius: CGFloat = 130) { + /// - maxMagnificationScale: The maximum scale factor that the image can be magnified while cropping. + /// Defaults to `4.0`. + /// - maskRadius: The radius of the mask used for cropping. + /// Defaults to `130`. + /// - cropImageCircular: Option to enable circular crop. + /// Defaults to `false`. + public init( + maxMagnificationScale: CGFloat = 4.0, + maskRadius: CGFloat = 130, + cropImageCircular: Bool = false + ) { self.maxMagnificationScale = maxMagnificationScale self.maskRadius = maskRadius + self.cropImageCircular = cropImageCircular } } diff --git a/Sources/SwiftyCrop/View/CropView.swift b/Sources/SwiftyCrop/View/CropView.swift index 05b1a66..d593c5d 100644 --- a/Sources/SwiftyCrop/View/CropView.swift +++ b/Sources/SwiftyCrop/View/CropView.swift @@ -121,7 +121,7 @@ struct CropView: View { } private func cropImage() -> UIImage? { - if maskShape == .circle { + if maskShape == .circle && configuration.cropImageCircular { viewModel.cropToCircle(image) } else { viewModel.cropToSquare(image) |