aboutsummaryrefslogtreecommitdiff
path: root/Sources
diff options
context:
space:
mode:
authorleoz <leoz@yahoo.com>2024-01-23 10:24:16 -0500
committerleoz <leoz@yahoo.com>2024-01-23 10:24:16 -0500
commitc59a4cf49bfd0e663bbe77bd4e4ae9bf073356a7 (patch)
tree7db1b5ea333e785c04ee11bd42a61052713b538c /Sources
parent0156c27aabfd82e6450604a8f32c74a58bcff8f9 (diff)
Make circular crop optional
Diffstat (limited to 'Sources')
-rw-r--r--Sources/SwiftyCrop/Models/SwiftyCropConfiguration.swift18
-rw-r--r--Sources/SwiftyCrop/View/CropView.swift2
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)