Ken Thomases : winemac: Scale large system tray icons down to fit status bar.
Alexandre Julliard
julliard at winehq.org
Fri Apr 5 14:02:15 CDT 2013
Module: wine
Branch: master
Commit: 401b75e3e9619ad80a95c5ff30d8d8f1b94b7831
URL: http://source.winehq.org/git/wine.git/?a=commit;h=401b75e3e9619ad80a95c5ff30d8d8f1b94b7831
Author: Ken Thomases <ken at 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];
More information about the wine-cvs
mailing list