Module: wine Branch: master Commit: 401b75e3e9619ad80a95c5ff30d8d8f1b94b7831 URL: http://source.winehq.org/git/wine.git/?a=commit;h=401b75e3e9619ad80a95c5ff30...
Author: Ken Thomases ken@codeweavers.com Date: Fri Apr 5 03:34:20 2013 -0500
winemac: Scale large system tray icons down to fit status bar.
---
dlls/winemac.drv/cocoa_status_item.m | 13 +++++++++++++ 1 files changed, 13 insertions(+), 0 deletions(-)
diff --git a/dlls/winemac.drv/cocoa_status_item.m b/dlls/winemac.drv/cocoa_status_item.m index 27908ab..5b4ee94 100644 --- a/dlls/winemac.drv/cocoa_status_item.m +++ b/dlls/winemac.drv/cocoa_status_item.m @@ -149,8 +149,21 @@ void macdrv_set_status_item_image(macdrv_status_item s, CGImageRef cgimage) NSImage* image = nil; if (cgimage) { + NSSize size; + CGFloat maxSize = [[NSStatusBar systemStatusBar] thickness]; + BOOL changed = FALSE; + image = [[NSImage alloc] initWithCGImage:cgimage size:NSZeroSize]; CGImageRelease(cgimage); + size = [image size]; + while (size.width > maxSize || size.height > maxSize) + { + size.width /= 2.0; + size.height /= 2.0; + changed = TRUE; + } + if (changed) + [image setSize:size]; } [statusItem.item setImage:image]; [image release];