diff options
| author | leoz <leoz@yahoo.com> | 2024-01-23 10:24:16 -0500 |
|---|---|---|
| committer | leoz <leoz@yahoo.com> | 2024-01-23 10:24:16 -0500 |
| commit | c59a4cf49bfd0e663bbe77bd4e4ae9bf073356a7 (patch) | |
| tree | 7db1b5ea333e785c04ee11bd42a61052713b538c | |
| parent | 0156c27aabfd82e6450604a8f32c74a58bcff8f9 (diff) | |
Make circular crop optional
| -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) |
