#5026 StatusBarView doesn't fully match toolbar on 10.7+
This commit is contained in:
parent
3b066d3c97
commit
656ebb3bc0
|
@ -23,10 +23,12 @@
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
#import <Cocoa/Cocoa.h>
|
#import <Cocoa/Cocoa.h>
|
||||||
|
#import <QuartzCore/QuartzCore.h>
|
||||||
|
|
||||||
@interface StatusBarView : NSView
|
@interface StatusBarView : NSView
|
||||||
{
|
{
|
||||||
NSGradient * fGradient;
|
NSGradient * fGradient;
|
||||||
|
CIImage * fNoiseImage;
|
||||||
}
|
}
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
|
@ -23,6 +23,8 @@
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
#import "StatusBarView.h"
|
#import "StatusBarView.h"
|
||||||
|
#import "NSApplicationAdditions.h"
|
||||||
|
#import <QuartzCore/QuartzCore.h>
|
||||||
|
|
||||||
@interface StatusBarView (Private)
|
@interface StatusBarView (Private)
|
||||||
|
|
||||||
|
@ -40,10 +42,26 @@
|
||||||
NSColor * darkColor = [NSColor colorWithCalibratedRed: 155.0/255.0 green: 155.0/255.0 blue: 155.0/255.0 alpha: 1.0];
|
NSColor * darkColor = [NSColor colorWithCalibratedRed: 155.0/255.0 green: 155.0/255.0 blue: 155.0/255.0 alpha: 1.0];
|
||||||
fGradient = [[NSGradient alloc] initWithStartingColor: lightColor endingColor: darkColor];
|
fGradient = [[NSGradient alloc] initWithStartingColor: lightColor endingColor: darkColor];
|
||||||
|
|
||||||
[[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(reload)
|
//noise only for 10.7 +
|
||||||
name: NSWindowDidBecomeMainNotification object: [self window]];
|
if([NSApp isOnLionOrBetter])
|
||||||
[[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(reload)
|
{
|
||||||
name: NSWindowDidResignMainNotification object: [self window]];
|
CIFilter * randomFilter = [CIFilter filterWithName: @"CIRandomGenerator"];
|
||||||
|
[randomFilter setDefaults];
|
||||||
|
|
||||||
|
fNoiseImage = [randomFilter valueForKey: @"outputImage"];
|
||||||
|
|
||||||
|
CIFilter * monochromeFilter = [CIFilter filterWithName: @"CIColorMonochrome"];
|
||||||
|
[monochromeFilter setDefaults];
|
||||||
|
[monochromeFilter setValue: fNoiseImage forKey: @"inputImage"];
|
||||||
|
CIColor * monoFilterColor = [CIColor colorWithRed:1.0 green:1.0 blue:1.0];
|
||||||
|
[monochromeFilter setValue: monoFilterColor forKey: @"inputColor"];
|
||||||
|
fNoiseImage = [[monochromeFilter valueForKey:@"outputImage"] retain];
|
||||||
|
}
|
||||||
|
else
|
||||||
|
fNoiseImage = nil;
|
||||||
|
|
||||||
|
[[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(reload) name: NSWindowDidBecomeMainNotification object: [self window]];
|
||||||
|
[[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(reload) name: NSWindowDidResignMainNotification object: [self window]];
|
||||||
}
|
}
|
||||||
return self;
|
return self;
|
||||||
}
|
}
|
||||||
|
@ -51,7 +69,7 @@
|
||||||
- (void) dealloc
|
- (void) dealloc
|
||||||
{
|
{
|
||||||
[[NSNotificationCenter defaultCenter] removeObserver: self];
|
[[NSNotificationCenter defaultCenter] removeObserver: self];
|
||||||
|
[fNoiseImage release];
|
||||||
[fGradient release];
|
[fGradient release];
|
||||||
[super dealloc];
|
[super dealloc];
|
||||||
}
|
}
|
||||||
|
@ -115,6 +133,11 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
NSRectFillListWithColors(gridRects, colorRects, count);
|
NSRectFillListWithColors(gridRects, colorRects, count);
|
||||||
|
|
||||||
|
[fNoiseImage drawInRect: rect
|
||||||
|
fromRect: [self convertRectToBacking: rect]
|
||||||
|
operation: NSCompositeSourceOver
|
||||||
|
fraction: 0.15];
|
||||||
}
|
}
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
Loading…
Reference in New Issue