Module: wine Branch: master Commit: fcd2a5f592821da1564be8536237a46d6dd7b7c2 URL: https://gitlab.winehq.org/wine/wine/-/commit/fcd2a5f592821da1564be8536237a46...
Author: Brendan Shanks bshanks@codeweavers.com Date: Thu May 11 21:34:59 2023 -0700
winemac: Centralize setting retina-mode-dependent properties on WineContentView's layer.
---
dlls/winemac.drv/cocoa_window.m | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-)
diff --git a/dlls/winemac.drv/cocoa_window.m b/dlls/winemac.drv/cocoa_window.m index ab9a66f4be2..23ac8ca21e4 100644 --- a/dlls/winemac.drv/cocoa_window.m +++ b/dlls/winemac.drv/cocoa_window.m @@ -475,9 +475,7 @@ static CVReturn WineDisplayLinkCallback(CVDisplayLinkRef displayLink, const CVTi if (self) { [self setWantsLayer:YES]; - [self layer].minificationFilter = retina_on ? kCAFilterLinear : kCAFilterNearest; - [self layer].magnificationFilter = retina_on ? kCAFilterLinear : kCAFilterNearest; - [self layer].contentsScale = retina_on ? 2.0 : 1.0; + [self setLayerRetinaProperties:retina_on]; [self setAutoresizesSubviews:NO]; } return self; @@ -677,6 +675,13 @@ static CVReturn WineDisplayLinkCallback(CVDisplayLinkRef displayLink, const CVTi return _metalView; }
+ - (void) setLayerRetinaProperties:(int)mode + { + [self layer].contentsScale = mode ? 2.0 : 1.0; + [self layer].minificationFilter = mode ? kCAFilterLinear : kCAFilterNearest; + [self layer].magnificationFilter = mode ? kCAFilterLinear : kCAFilterNearest; + } + - (void) setRetinaMode:(int)mode { double scale = mode ? 0.5 : 2.0; @@ -688,10 +693,8 @@ static CVReturn WineDisplayLinkCallback(CVDisplayLinkRef displayLink, const CVTi [self setFrame:frame]; [self setWantsBestResolutionOpenGLSurface:mode]; [self updateGLContexts]; + [self setLayerRetinaProperties:mode];
- [self layer].contentsScale = mode ? 2.0 : 1.0; - [self layer].minificationFilter = mode ? kCAFilterLinear : kCAFilterNearest; - [self layer].magnificationFilter = mode ? kCAFilterLinear : kCAFilterNearest; [super setRetinaMode:mode]; }