From 29f7c0df40567f3595aeac7dd248b47205ade481 Mon Sep 17 00:00:00 2001 From: Ishan Hemnani Date: Tue, 15 Apr 2025 17:45:17 +0530 Subject: [PATCH 1/2] Add scroll wheel support for font size adjustment --- freewrite.xcodeproj/project.pbxproj | 4 ++-- freewrite/ContentView.swift | 15 +++++++++++++++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/freewrite.xcodeproj/project.pbxproj b/freewrite.xcodeproj/project.pbxproj index f89a773..61ccf8a 100644 --- a/freewrite.xcodeproj/project.pbxproj +++ b/freewrite.xcodeproj/project.pbxproj @@ -402,7 +402,7 @@ CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_ASSET_PATHS = "\"freewrite/Preview Content\""; - DEVELOPMENT_TEAM = 2UDAY4J48G; + DEVELOPMENT_TEAM = 4YS2543B33; ENABLE_HARDENED_RUNTIME = YES; ENABLE_PREVIEWS = YES; GENERATE_INFOPLIST_FILE = YES; @@ -444,7 +444,7 @@ CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_ASSET_PATHS = "\"freewrite/Preview Content\""; - DEVELOPMENT_TEAM = 2UDAY4J48G; + DEVELOPMENT_TEAM = 4YS2543B33; ENABLE_HARDENED_RUNTIME = YES; ENABLE_PREVIEWS = YES; GENERATE_INFOPLIST_FILE = YES; diff --git a/freewrite/ContentView.swift b/freewrite/ContentView.swift index cc4113a..d792932 100644 --- a/freewrite/ContentView.swift +++ b/freewrite/ContentView.swift @@ -455,6 +455,21 @@ struct ContentView: View { NSCursor.pop() } } + .onAppear { + NSEvent.addLocalMonitorForEvents(matching: .scrollWheel) { event in + if isHoveringSize { + let scrollBuffer = event.deltaY * 0.25 + + if abs(scrollBuffer) >= 0.1 { + NSHapticFeedbackManager.defaultPerformer.perform(.generic, performanceTime: .now) + let direction = -scrollBuffer > 0 ? 2 : -2 + let newSize = fontSize + CGFloat(direction) + fontSize = min(max(newSize, 12), 32) // Limit font size between 12 and 32 + } + } + return event + } + } Text("•") .foregroundColor(.gray) From 71668c71c00b6dd98f466fa992868be52748d7be Mon Sep 17 00:00:00 2001 From: Ishan Hemnani Date: Wed, 16 Apr 2025 20:10:11 +0530 Subject: [PATCH 2/2] fix suggested minor changes --- freewrite.xcodeproj/project.pbxproj | 4 ++-- freewrite/ContentView.swift | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/freewrite.xcodeproj/project.pbxproj b/freewrite.xcodeproj/project.pbxproj index 61ccf8a..f89a773 100644 --- a/freewrite.xcodeproj/project.pbxproj +++ b/freewrite.xcodeproj/project.pbxproj @@ -402,7 +402,7 @@ CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_ASSET_PATHS = "\"freewrite/Preview Content\""; - DEVELOPMENT_TEAM = 4YS2543B33; + DEVELOPMENT_TEAM = 2UDAY4J48G; ENABLE_HARDENED_RUNTIME = YES; ENABLE_PREVIEWS = YES; GENERATE_INFOPLIST_FILE = YES; @@ -444,7 +444,7 @@ CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_ASSET_PATHS = "\"freewrite/Preview Content\""; - DEVELOPMENT_TEAM = 4YS2543B33; + DEVELOPMENT_TEAM = 2UDAY4J48G; ENABLE_HARDENED_RUNTIME = YES; ENABLE_PREVIEWS = YES; GENERATE_INFOPLIST_FILE = YES; diff --git a/freewrite/ContentView.swift b/freewrite/ContentView.swift index d792932..5113d89 100644 --- a/freewrite/ContentView.swift +++ b/freewrite/ContentView.swift @@ -464,7 +464,7 @@ struct ContentView: View { NSHapticFeedbackManager.defaultPerformer.perform(.generic, performanceTime: .now) let direction = -scrollBuffer > 0 ? 2 : -2 let newSize = fontSize + CGFloat(direction) - fontSize = min(max(newSize, 12), 32) // Limit font size between 12 and 32 + fontSize = min(max(newSize, 16), 26) // Limit font size between 16 and 26 } } return event