From e1bcf5d6a4b813a63d42e6ccb37ca8054775d65b Mon Sep 17 00:00:00 2001 From: "thomasvl@gmail.com" Date: Thu, 5 Mar 2009 22:03:40 +0000 Subject: - Added GTMLuminance for working with colors in HSL space easily. - Added GTMTheme for doing product wide theme modifications. --- AppKit/GTMNSColor+Luminance.h | 65 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 AppKit/GTMNSColor+Luminance.h (limited to 'AppKit/GTMNSColor+Luminance.h') diff --git a/AppKit/GTMNSColor+Luminance.h b/AppKit/GTMNSColor+Luminance.h new file mode 100644 index 0000000..c1501cd --- /dev/null +++ b/AppKit/GTMNSColor+Luminance.h @@ -0,0 +1,65 @@ +// +// GTMNSColor+Luminance.h +// +// Copyright 2009 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); you may not +// use this file except in compliance with the License. You may obtain a copy +// of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations under +// the License. +// + +#import "GTMDefines.h" +#import + +#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5 + +enum { + GTMColorationBaseHighlight, + GTMColorationBaseMidtone, + GTMColorationBaseShadow, + GTMColorationBasePenumbra, + GTMColorationLightHighlight, + GTMColorationLightMidtone, + GTMColorationLightShadow, + GTMColorationLightPenumbra, + GTMColorationDarkHighlight, + GTMColorationDarkMidtone, + GTMColorationDarkShadow, + GTMColorationDarkPenumbra +}; +typedef NSUInteger GTMColorationUse; + +@interface NSColorSpace (GTMNSColorSpaceLuminanceHelpers) ++ (NSColorSpace *)gtm_labColorSpace; +@end + +@interface NSColor (GTMLuminanceAdditions) +- (CGFloat)gtm_luminance; + +// Create a color modified by lightening or darkening it (-1.0 to 1.0) +- (NSColor *)gtm_colorByAdjustingLuminance:(CGFloat)luminance; + +// Create a color modified by lightening or darkening it (-1.0 to 1.0) +- (NSColor *)gtm_colorByAdjustingLuminance:(CGFloat)luminance + saturation:(CGFloat)saturation; + +// Returns a color adjusted for a specific usage +- (NSColor *)gtm_colorAdjustedFor:(GTMColorationUse)use; +- (NSColor *)gtm_colorAdjustedFor:(GTMColorationUse)use faded:(BOOL)fade; + +// Returns whether the color is in the dark half of the spectrum +- (BOOL)gtm_isDarkColor; + +// Returns a color that is legible on this color. (Nothing to do with textColor) +- (NSColor *)gtm_legibleTextColor; +@end + +#endif -- cgit v1.2.3