aboutsummaryrefslogtreecommitdiff
path: root/AppKit/GTMNSColor+Luminance.h
diff options
context:
space:
mode:
authorGravatar thomasvl@gmail.com <thomasvl@gmail.com@7dc7ac4e-7543-0410-b95c-c1676fc8e2a3>2009-03-05 22:03:40 +0000
committerGravatar thomasvl@gmail.com <thomasvl@gmail.com@7dc7ac4e-7543-0410-b95c-c1676fc8e2a3>2009-03-05 22:03:40 +0000
commite1bcf5d6a4b813a63d42e6ccb37ca8054775d65b (patch)
tree370ae297052052fb9576f0c14e0a9243f8a8bc86 /AppKit/GTMNSColor+Luminance.h
parentd4f38903d60f8b01c419f5056c2fb3cd4c6c6e60 (diff)
- Added GTMLuminance for working with colors in HSL space easily.
- Added GTMTheme for doing product wide theme modifications.
Diffstat (limited to 'AppKit/GTMNSColor+Luminance.h')
-rw-r--r--AppKit/GTMNSColor+Luminance.h65
1 files changed, 65 insertions, 0 deletions
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 <Cocoa/Cocoa.h>
+
+#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