diff options
Diffstat (limited to 'cocoa/ScintillaView.mm')
-rw-r--r-- | cocoa/ScintillaView.mm | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/cocoa/ScintillaView.mm b/cocoa/ScintillaView.mm index 3cdc612c7..68290f74d 100644 --- a/cocoa/ScintillaView.mm +++ b/cocoa/ScintillaView.mm @@ -643,16 +643,21 @@ NSString *SCIUpdateUINotification = @"SCIUpdateUI"; - (void) magnifyWithEvent: (NSEvent *) event { #if MAC_OS_X_VERSION_MAX_ALLOWED > MAC_OS_X_VERSION_10_5 - CGFloat z = [event magnification]; - - // Zoom out or in 1pt depending on sign of magnification event value (0.0 = no change) - if (z <= 0.0) - [ScintillaView directCall: self message: SCI_ZOOMOUT wParam: 0 lParam: 0]; - else if (z >= 0.0) - [ScintillaView directCall: self message: SCI_ZOOMIN wParam: 0 lParam: 0]; + zoomDelta += event.magnification * 10.0; + + if (fabsf(zoomDelta)>=1.0) { + long zoomFactor = [self getGeneralProperty: SCI_GETZOOM] + zoomDelta; + [self setGeneralProperty: SCI_SETZOOM parameter: zoomFactor value:0]; + zoomDelta = 0.0; + } #endif } +- (void) beginGestureWithEvent: (NSEvent *) event +{ + zoomDelta = 0.0; +} + //-------------------------------------------------------------------------------------------------- /** |