-
Notifications
You must be signed in to change notification settings - Fork 34
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
add support for macOS #16
base: master
Are you sure you want to change the base?
Conversation
Welp. This is randomly working/not-working. I need to investigate a bit more |
I think the issue of sometimes working is already addressed in the README and was discussed in #13 Two solutions I have come up with to enable zoom on macOS:
private func handleScrollEvent(_ event: NSEvent) {
let currentTime = Date()
let timeDifference = currentTime.timeIntervalSince(lastScrollTime)
if timeDifference > 0.1 {
scrollMagnitude = 0
}
scrollMagnitude += event.deltaY
let scaleFactor: CGFloat = 1 + (scrollMagnitude * 0.001)
handleMagnification(value: MagnificationGesture.Value(scaleFactor))
viewModel.lastScale = viewModel.scale
viewModel.lastOffset = viewModel.offset
lastScrollTime = currentTime
}
private func handleKeyEvent(_ event: NSEvent) {
if event.modifierFlags.contains(.command) {
switch event.keyCode {
case 24: // Command +
handleMagnification(value: MagnificationGesture.Value(1.1))
viewModel.lastScale = viewModel.scale
viewModel.lastOffset = viewModel.offset
case 27: // Command -
handleMagnification(value: MagnificationGesture.Value(0.9))
viewModel.lastScale = viewModel.scale
viewModel.lastOffset = viewModel.offset
default:
break
}
}
} |
Thanks for the PR and effort @navanchauhan! I've been pretty busy these past days but I will take a detailed look at your code and test it soon! |
@navanchauhan I have another suggestion how to solve the zooming issue on Mac:
Especially since it is intuitive. As a user I might not be familiar with the cmd option and also not have a mouse wheel. This might be the easiest solution to the issue. What do you think? |
That is a really good suggestion. While I am at it, I might even add buttons for rotating the image |
I was able to fix the issue where the circular crop was not working properly on macOS. Now, I just need to add buttons and clean up the code a bit. I should have time this next week (or this weekend itself) to clean up and commit |
PlatformImage
that uses UIKit or AppKit depending on what it can importTheoretically, magnification and rotation should work on macOS but doesn't for some reason (and doesn't throw any errors either). I might update both gesture to their newer counterparts