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 /Sources | |
parent | 0156c27aabfd82e6450604a8f32c74a58bcff8f9 (diff) |
Make circular crop optional
Diffstat (limited to 'Sources')
-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) |