|
@@ -43,21 +43,21 @@ static const CGFloat kGTMLuminanceDarkCutoff = 0.6;
|
|
|
|
|
|
@implementation NSColor (GTMLuminance)
|
|
@implementation NSColor (GTMLuminance)
|
|
|
|
|
|
-- (NSColor *)labColor {
|
|
|
|
- return [self colorUsingColorSpace:[NSColorSpace gtm_labColorSpace]];
|
|
|
|
|
|
+- (NSColor *)km_labColor {
|
|
|
|
+ return [self colorUsingColorSpace:[NSColorSpace gtm_labColorSpace]];
|
|
}
|
|
}
|
|
|
|
|
|
- (CGFloat)km_luminance {
|
|
- (CGFloat)km_luminance {
|
|
CGFloat lab[4];
|
|
CGFloat lab[4];
|
|
lab[0] = 0.0;
|
|
lab[0] = 0.0;
|
|
- [[self labColor] getComponents:lab];
|
|
|
|
|
|
+ [[self km_labColor] getComponents:lab];
|
|
return lab[0] / 100.0;
|
|
return lab[0] / 100.0;
|
|
}
|
|
}
|
|
|
|
|
|
- (NSColor *)km_colorByAdjustingLuminance:(CGFloat)luminance
|
|
- (NSColor *)km_colorByAdjustingLuminance:(CGFloat)luminance
|
|
saturation:(CGFloat)saturation {
|
|
saturation:(CGFloat)saturation {
|
|
CGFloat lab[4];
|
|
CGFloat lab[4];
|
|
- [[self labColor] getComponents:lab];
|
|
|
|
|
|
+ [[self km_labColor] getComponents:lab];
|
|
lab[0] *= 1.0 + luminance;
|
|
lab[0] *= 1.0 + luminance;
|
|
// If luminance is greater than 100, we desaturate it so that we don't get
|
|
// If luminance is greater than 100, we desaturate it so that we don't get
|
|
// wild colors coming out of the forumula
|
|
// wild colors coming out of the forumula
|