From 530a039dac488bbd57a8c2833c0e5a781e79f920 Mon Sep 17 00:00:00 2001 From: Ken Thomases Date: Mon, 2 Feb 2015 23:11:37 -0600 Subject: [PATCH] winemac: Prevent interpolation of the window surface image when it's blitted to the actual window. On high-resolution Retina displays, the OS X window backing store has twice the pixels as Wine's window backing store. So, our images get scaled up. Core Graphics had been interpolating/smoothing the image, which resulted in fuzziness. This tells it not to do that. I had assumed this wouldn't be necessary since we pass FALSE for the shouldInterpolate parameter of CGImageCreate() when we create the images. Apparently, that's not sufficient. --- dlls/winemac.drv/cocoa_window.m | 1 + 1 file changed, 1 insertion(+) diff --git a/dlls/winemac.drv/cocoa_window.m b/dlls/winemac.drv/cocoa_window.m index 57ae2b8b23e..46886871b6c 100644 --- a/dlls/winemac.drv/cocoa_window.m +++ b/dlls/winemac.drv/cocoa_window.m @@ -265,6 +265,7 @@ static inline NSUInteger adjusted_modifiers_for_option_behavior(NSUInteger modif context = (CGContextRef)[[NSGraphicsContext currentContext] graphicsPort]; CGContextSetBlendMode(context, kCGBlendModeCopy); + CGContextSetInterpolationQuality(context, kCGInterpolationNone); for (i = 0; i < count; i++) {