From 97ab910a84d31b5ddde1734829228e4eb4d31fc7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jesu=CC=81s=20A=2E=20A=CC=81lvarez?= Date: Thu, 30 Nov 2017 20:34:59 +0100 Subject: [PATCH] use nearest neighbour interpolation if scale is integer --- Mini vMac/ScreenView.m | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Mini vMac/ScreenView.m b/Mini vMac/ScreenView.m index fae8822..f86c0f9 100644 --- a/Mini vMac/ScreenView.m +++ b/Mini vMac/ScreenView.m @@ -56,6 +56,10 @@ static ScreenView *sharedScreenView = nil; screenBounds.origin.x = (viewBounds.size.width - screenBounds.size.width)/2; screenBounds = CGRectIntegral(screenBounds); videoLayer.frame = screenBounds; + BOOL scaleIsIntegral = (floor(screenScale) == screenScale); + NSString *screenFilter = scaleIsIntegral ? kCAFilterNearest : [[NSUserDefaults standardUserDefaults] stringForKey:@"screenFilter"]; + videoLayer.magnificationFilter = screenFilter; + videoLayer.minificationFilter = screenFilter; } - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {