--- a/Frameworks/AIUtilities Framework/Source/AIImageDrawingAdditions.h Fri Jul 13 22:01:15 2012 +0200
+++ b/Frameworks/AIUtilities Framework/Source/AIImageDrawingAdditions.h Fri Jul 20 12:25:56 2012 +0200
@@ -26,6 +26,7 @@
- (void)tileInRect:(NSRect)rect;
- (NSImage *)imageByScalingToSize:(NSSize)size;
+- (NSImage *)imageByScalingToSize:(NSSize)size DPI:(CGFloat)dpi; - (NSImage *)imageByFadingToFraction:(CGFloat)delta;
- (NSImage *)imageByScalingToSize:(NSSize)size fraction:(CGFloat)delta;
- (NSImage *)imageByScalingForMenuItem;
--- a/Frameworks/AIUtilities Framework/Source/AIImageDrawingAdditions.m Fri Jul 13 22:01:15 2012 +0200
+++ b/Frameworks/AIUtilities Framework/Source/AIImageDrawingAdditions.m Fri Jul 20 12:25:56 2012 +0200
@@ -18,6 +18,11 @@
#import "AIImageAdditions.h"
#import "AIBezierPathAdditions.h"
+@interface NSScreen (LionCompatibility) +- (CGFloat)backingScaleFactor; @implementation NSImage (AIImageDrawingAdditions)
@@ -59,6 +64,17 @@
return ([self imageByScalingToSize:size fraction:1.0f flipImage:NO proportionally:YES allowAnimation:YES]);
+- (NSImage *)imageByScalingToSize:(NSSize)size DPI:(CGFloat)dpi + CGFloat backingScaleFactor = dpi / 72.0; + if ([[NSScreen mainScreen] respondsToSelector:@selector(backingScaleFactor)]) { + backingScaleFactor /= [[NSScreen mainScreen] backingScaleFactor]; + return ([self imageByScalingToSize:NSMakeSize(size.width * backingScaleFactor, size.height * backingScaleFactor) fraction:1.0f flipImage:NO proportionally:YES allowAnimation:YES]); - (NSImage *)imageByFadingToFraction:(CGFloat)delta
return [self imageByScalingToSize:[self size] fraction:delta flipImage:NO proportionally:NO allowAnimation:YES];
--- a/Plugins/Purple Service/CBPurpleAccount.m Fri Jul 13 22:01:15 2012 +0200
+++ b/Plugins/Purple Service/CBPurpleAccount.m Fri Jul 20 12:25:56 2012 +0200
@@ -2608,8 +2608,8 @@
purple_buddy_icon_get_scale_size(&prpl_info->icon_spec, &width, &height);
// Determine the scaled size. If it's too big, scale to the largest permissable size
- image = [image imageByScalingToSize:NSMakeSize(width, height)];
+ image = [image imageByScalingToSize:NSMakeSize(width, height) DPI:72.0]; // Our original data is no longer valid, since we had to scale to a different size
AILog(@"%@: Scaled image to size %@", self, NSStringFromSize([image size]));