diff options
author | benedom <31181527+benedom@users.noreply.github.com> | 2024-05-10 12:22:35 +0200 |
---|---|---|
committer | benedom <31181527+benedom@users.noreply.github.com> | 2024-05-10 12:22:35 +0200 |
commit | ee15f67f8b759328f2f30cd0774110363563ce28 (patch) | |
tree | 0394a4093903a15392186e31a696a22fafe0f1b6 /Sources | |
parent | c959eb9e5cbc8c396af2831ec31295c97c16e6a2 (diff) |
Added zoom sensitivity to configuration
Also decreased default sensitivity when zooming
Diffstat (limited to 'Sources')
-rw-r--r-- | Sources/SwiftyCrop/Models/SwiftyCropConfiguration.swift | 6 | ||||
-rw-r--r-- | Sources/SwiftyCrop/View/CropView.swift | 2 |
2 files changed, 6 insertions, 2 deletions
diff --git a/Sources/SwiftyCrop/Models/SwiftyCropConfiguration.swift b/Sources/SwiftyCrop/Models/SwiftyCropConfiguration.swift index 8cda96c..3a3e06a 100644 --- a/Sources/SwiftyCrop/Models/SwiftyCropConfiguration.swift +++ b/Sources/SwiftyCrop/Models/SwiftyCropConfiguration.swift @@ -6,6 +6,7 @@ public struct SwiftyCropConfiguration { public let maskRadius: CGFloat public let cropImageCircular: Bool public let rotateImage: Bool + public let zoomSensitivity: CGFloat /// Creates a new instance of `SwiftyCropConfiguration`. /// @@ -18,15 +19,18 @@ public struct SwiftyCropConfiguration { /// Defaults to `false`. /// - rotateImage: Option to rotate image. /// Defaults to `true`. + /// - zoomSensitivity: Sensitivity when zooming. Default is `1.0`. Decrease to increase sensitivity. public init( maxMagnificationScale: CGFloat = 4.0, maskRadius: CGFloat = 130, cropImageCircular: Bool = false, - rotateImage: Bool = true + rotateImage: Bool = true, + zoomSensitivity: CGFloat = 1 ) { self.maxMagnificationScale = maxMagnificationScale self.maskRadius = maskRadius self.cropImageCircular = cropImageCircular self.rotateImage = rotateImage + self.zoomSensitivity = zoomSensitivity } } diff --git a/Sources/SwiftyCrop/View/CropView.swift b/Sources/SwiftyCrop/View/CropView.swift index a61aa47..b8ca961 100644 --- a/Sources/SwiftyCrop/View/CropView.swift +++ b/Sources/SwiftyCrop/View/CropView.swift @@ -32,7 +32,7 @@ struct CropView: View { var body: some View { let magnificationGesture = MagnificationGesture() .onChanged { value in - let sensitivity: CGFloat = 0.2 + let sensitivity: CGFloat = 0.1 * configuration.zoomSensitivity let scaledValue = (value.magnitude - 1) * sensitivity + 1 let maxScaleValues = viewModel.calculateMagnificationGestureMaxValues() |