From ea5a5354fbd19fedca71826bc9dd2781426a16b5 Mon Sep 17 00:00:00 2001 From: Ahnaf Mahmud <44692189+infinitepower18@users.noreply.github.com> Date: Tue, 13 Aug 2024 20:30:21 +0100 Subject: [PATCH] Allow zoom using scroll wheel --- Sources/CropImage/UnderlyingImageView.swift | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Sources/CropImage/UnderlyingImageView.swift b/Sources/CropImage/UnderlyingImageView.swift index e49de8a..382b290 100644 --- a/Sources/CropImage/UnderlyingImageView.swift +++ b/Sources/CropImage/UnderlyingImageView.swift @@ -81,6 +81,15 @@ struct UnderlyingImageView: View { scale = min(widthScale, heightScale) } + private func setupScrollMonitor() { + #if os(macOS) + NSEvent.addLocalMonitorForEvents(matching: .scrollWheel) {event in + scale = scale + event.scrollingDeltaY/1000 + return event + } + #endif + } + var imageView: Image { #if os(macOS) Image(nsImage: image) @@ -94,6 +103,9 @@ struct UnderlyingImageView: View { .gesture(dragGesture) .gesture(magnificationgesture) .gesture(rotationGesture) + .onAppear { + setupScrollMonitor() + } } var dragGesture: some Gesture {