From: Marc-Aurel Zent mzent@codeweavers.com
--- dlls/winemac.drv/cocoa_display.m | 4 ++-- dlls/winemac.drv/cocoa_window.m | 10 +++++----- dlls/winemac.drv/gdi.c | 2 +- dlls/winemac.drv/macdrv_cocoa.h | 4 ++-- 4 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/dlls/winemac.drv/cocoa_display.m b/dlls/winemac.drv/cocoa_display.m index fbbe16efcbf..7cec9dbd842 100644 --- a/dlls/winemac.drv/cocoa_display.m +++ b/dlls/winemac.drv/cocoa_display.m @@ -86,8 +86,8 @@ int macdrv_get_displays(struct macdrv_display** displays, int* count) convert_display_rect(&disps[i].frame, frame, primary_frame); convert_display_rect(&disps[i].work_frame, visible_frame, primary_frame); - disps[i].frame = cgrect_win_from_mac(disps[i].frame); - disps[i].work_frame = cgrect_win_from_mac(disps[i].work_frame); + disps[i].frame = cgrect_win_from_mac(disps[i].frame, retina_on); + disps[i].work_frame = cgrect_win_from_mac(disps[i].work_frame, retina_on); }
*displays = disps; diff --git a/dlls/winemac.drv/cocoa_window.m b/dlls/winemac.drv/cocoa_window.m index b286a8e0091..ddb769ff77a 100644 --- a/dlls/winemac.drv/cocoa_window.m +++ b/dlls/winemac.drv/cocoa_window.m @@ -2204,7 +2204,7 @@ - (void) postWindowFrameChanged:(NSRect)frame fullscreen:(BOOL)isFullscreen resi forWindow:self];
event = macdrv_create_event(WINDOW_FRAME_CHANGED, self); - event->window_frame_changed.frame = cgrect_win_from_mac(NSRectToCGRect(frame)); + event->window_frame_changed.frame = cgrect_win_from_mac(NSRectToCGRect(frame), retina_on); event->window_frame_changed.fullscreen = isFullscreen; event->window_frame_changed.in_resize = resizing; event->window_frame_changed.skip_size_move_loop = skipSizeMove; @@ -2584,7 +2584,7 @@ - (void) sendEvent:(NSEvent*)event
event = macdrv_create_event(WINDOW_RESTORE_REQUESTED, self); event->window_restore_requested.keep_frame = TRUE; - event->window_restore_requested.frame = cgrect_win_from_mac(NSRectToCGRect(frame)); + event->window_restore_requested.frame = cgrect_win_from_mac(NSRectToCGRect(frame), retina_on); [queue postEvent:event]; macdrv_release_event(event);
@@ -3108,7 +3108,7 @@ - (NSSize) windowWillResize:(NSWindow*)sender toSize:(NSSize)frameSize query = macdrv_create_query(); query->type = QUERY_RESIZE_SIZE; query->window = (macdrv_window)[self retain]; - query->resize_size.rect = cgrect_win_from_mac(NSRectToCGRect(rect)); + query->resize_size.rect = cgrect_win_from_mac(NSRectToCGRect(rect), retina_on); query->resize_size.from_left = resizingFromLeft; query->resize_size.from_top = resizingFromTop;
@@ -3138,7 +3138,7 @@ - (void) windowWillStartLiveResize:(NSNotification *)notification
event = macdrv_create_event(WINDOW_RESTORE_REQUESTED, self); event->window_restore_requested.keep_frame = TRUE; - event->window_restore_requested.frame = cgrect_win_from_mac(NSRectToCGRect(frame)); + event->window_restore_requested.frame = cgrect_win_from_mac(NSRectToCGRect(frame), retina_on); [queue postEvent:event]; macdrv_release_event(event); } @@ -3463,7 +3463,7 @@ void macdrv_get_cocoa_window_frame(macdrv_window w, CGRect* out_frame)
frame = [window contentRectForFrameRect:[window wine_fractionalFrame]]; [[WineApplicationController sharedController] flipRect:&frame]; - *out_frame = cgrect_win_from_mac(NSRectToCGRect(frame)); + *out_frame = cgrect_win_from_mac(NSRectToCGRect(frame), retina_on); }); }
diff --git a/dlls/winemac.drv/gdi.c b/dlls/winemac.drv/gdi.c index 137945c4b74..b2418919033 100644 --- a/dlls/winemac.drv/gdi.c +++ b/dlls/winemac.drv/gdi.c @@ -73,7 +73,7 @@ static void compute_desktop_rect(void)
for (i = 0; i < count; i++) desktop_rect = CGRectUnion(desktop_rect, CGDisplayBounds(displayIDs[i])); - desktop_rect = cgrect_win_from_mac(desktop_rect); + desktop_rect = cgrect_win_from_mac(desktop_rect, retina_on); }
diff --git a/dlls/winemac.drv/macdrv_cocoa.h b/dlls/winemac.drv/macdrv_cocoa.h index 39cf6128bad..b78d1ca4b6e 100644 --- a/dlls/winemac.drv/macdrv_cocoa.h +++ b/dlls/winemac.drv/macdrv_cocoa.h @@ -172,9 +172,9 @@ static inline CGRect cgrect_mac_from_win(CGRect rect, int retina_scale) return rect; }
-static inline CGRect cgrect_win_from_mac(CGRect rect) +static inline CGRect cgrect_win_from_mac(CGRect rect, int retina_scale) { - if (retina_on) + if (retina_scale) { rect.origin.x *= 2; rect.origin.y *= 2;