Skip to content

Commit

Permalink
NSColor concrete subclass consolidation
Browse files Browse the repository at this point in the history
  • Loading branch information
cjwl committed Mar 11, 2010
1 parent 100b689 commit d6b13cc
Show file tree
Hide file tree
Showing 21 changed files with 277 additions and 978 deletions.
132 changes: 0 additions & 132 deletions AppKit/AppKit.xcodeproj/project.pbxproj

Large diffs are not rendered by default.

6 changes: 0 additions & 6 deletions AppKit/NSColor.subproj/NSColor-Private.h

This file was deleted.

48 changes: 17 additions & 31 deletions AppKit/NSColor.subproj/NSColor.m
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,7 @@
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */

#import <AppKit/NSColor-Private.h>
#import <AppKit/NSColor_whiteCalibrated.h>
#import <AppKit/NSColor_rgbCalibrated.h>
#import <AppKit/NSColor_whiteDevice.h>
#import <AppKit/NSColor_rgbDevice.h>
#import <AppKit/NSColor_cmykDevice.h>
#import <AppKit/NSColor.h>
#import <AppKit/NSColor_catalog.h>
#import <AppKit/NSColor_CGColor.h>
#import <AppKit/NSRaise.h>
Expand Down Expand Up @@ -370,7 +365,7 @@ +(NSColor *)clearColor {
}

+(NSColor *)blackColor {
return [NSColor_whiteCalibrated blackColor];
return [NSColor colorWithCalibratedWhite:0 alpha:1.0];
}

+(NSColor *)blueColor {
Expand All @@ -386,19 +381,19 @@ +(NSColor *)cyanColor {
}

+(NSColor *)darkGrayColor {
return [NSColor_whiteCalibrated darkGrayColor];
return [NSColor colorWithCalibratedWhite:1.0/3.0 alpha:1.0];
}

+(NSColor *)grayColor {
return [NSColor_whiteCalibrated grayColor];
return [NSColor colorWithCalibratedWhite:0.5 alpha:1.0];
}

+(NSColor *)greenColor {
return [NSColor colorWithCalibratedRed:0.0 green:1.0 blue:0.0 alpha:1.0];
}

+(NSColor *)lightGrayColor {
return [NSColor_whiteCalibrated lightGrayColor];
return [NSColor colorWithCalibratedWhite:2.0/3.0 alpha:1.0];
}

+(NSColor *)magentaColor {
Expand All @@ -418,39 +413,39 @@ +(NSColor *)redColor {
}

+(NSColor *)whiteColor {
return [NSColor_whiteCalibrated whiteColor];
return [NSColor colorWithCalibratedWhite:1 alpha:1.0];
}

+(NSColor *)yellowColor {
return [NSColor colorWithCalibratedRed:1.0 green:1.0 blue:0.0 alpha:1.0];
}

+(NSColor *)colorWithDeviceWhite:(CGFloat)white alpha:(CGFloat)alpha {
return [NSColor_whiteDevice colorWithGray:white alpha:alpha];
return [NSColor_CGColor colorWithGray:white alpha:alpha spaceName:NSDeviceWhiteColorSpace];
}

+(NSColor *)colorWithDeviceRed:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha {
return [NSColor_rgbDevice colorWithRed:red green:green blue:blue alpha:alpha];
return [NSColor_CGColor colorWithRed:red green:green blue:blue alpha:alpha spaceName:NSDeviceRGBColorSpace];
}

+(NSColor *)colorWithDeviceHue:(CGFloat)hue saturation:(CGFloat)saturation brightness:(CGFloat)brightness alpha:(CGFloat)alpha {
return [NSColor_rgbDevice colorWithHue:hue saturation:saturation brightness:brightness alpha:alpha];
return [NSColor_CGColor colorWithHue:hue saturation:saturation brightness:brightness alpha:alpha spaceName:NSDeviceRGBColorSpace];
}

+(NSColor *)colorWithDeviceCyan:(CGFloat)cyan magenta:(CGFloat)magenta yellow:(CGFloat)yellow black:(CGFloat)black alpha:(CGFloat)alpha {
return [NSColor_cmykDevice colorWithCyan:cyan magenta:magenta yellow:yellow black:black alpha:alpha];
return [NSColor_CGColor colorWithCyan:cyan magenta:magenta yellow:yellow black:black alpha:alpha spaceName:NSDeviceCMYKColorSpace];
}

+(NSColor *)colorWithCalibratedWhite:(CGFloat)white alpha:(CGFloat)alpha {
return [NSColor_whiteCalibrated colorWithGray:white alpha:alpha];
return [NSColor_CGColor colorWithGray:white alpha:alpha spaceName:NSCalibratedWhiteColorSpace];
}

+(NSColor *)colorWithCalibratedRed:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha {
return [NSColor_rgbCalibrated colorWithRed:red green:green blue:blue alpha:alpha];
return [NSColor_CGColor colorWithRed:red green:green blue:blue alpha:alpha spaceName:NSCalibratedRGBColorSpace];
}

+(NSColor *)colorWithCalibratedHue:(CGFloat)hue saturation:(CGFloat)saturation brightness:(CGFloat)brightness alpha:(CGFloat)alpha {
return [NSColor_rgbCalibrated colorWithHue:hue saturation:saturation brightness:brightness alpha:alpha];
return [NSColor_CGColor colorWithHue:hue saturation:saturation brightness:brightness alpha:alpha spaceName:NSCalibratedRGBColorSpace];
}

+(NSColor *)colorWithCatalogName:(NSString *)catalogName colorName:(NSString *)colorName {
Expand Down Expand Up @@ -487,7 +482,7 @@ +(NSColor *)colorWithPatternImage:(NSImage *)image {
CGFloat components[4]={1,1,1,1};
CGColorRef cgColor=CGColorCreateWithPattern(colorSpace,pattern,components);

NSColor *result=[[[NSColor_CGColor alloc] initWithColorRef:cgColor] autorelease];
NSColor *result=[[[NSColor_CGColor alloc] initWithColorRef:cgColor spaceName:NSPatternColorSpace] autorelease];

CGColorRelease(cgColor);
CGColorSpaceRelease(colorSpace);
Expand All @@ -502,21 +497,12 @@ -(NSString *)colorSpaceName {
}

-(NSInteger)numberOfComponents {
CGColorRef colorRef=[self createCGColorRef];
NSInteger result=CGColorGetNumberOfComponents(colorRef);
CGColorRelease(colorRef);
return result;
NSInvalidAbstractInvocation();
return 0;
}

-(void)getComponents:(CGFloat *)components {
CGColorRef colorRef=[self createCGColorRef];
NSInteger i,count=CGColorGetNumberOfComponents(colorRef);
const CGFloat *comps=CGColorGetComponents(colorRef);

for(i=0;i<count;i++)
components[i]=comps[i];

CGColorRelease(colorRef);
NSInvalidAbstractInvocation();
}

-(void)getWhite:(float *)white alpha:(float *)alpha {
Expand Down
9 changes: 7 additions & 2 deletions AppKit/NSColor.subproj/NSColor_CGColor.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,15 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI

@interface NSColor_CGColor : NSColor {
CGColorRef _colorRef;
NSString *_colorSpaceName;
}

-initWithColorRef:(CGColorRef)colorRef;
-initWithColorRef:(CGColorRef)colorRef spaceName:(NSString *)spaceName;

+(NSColor *)colorWithColorRef:(CGColorRef)colorRef;
+(NSColor *)colorWithColorRef:(CGColorRef)colorRef spaceName:(NSString *)spaceName;
+(NSColor *)colorWithGray:(float)gray alpha:(float)alpha spaceName:(NSString *)spaceName;
+(NSColor *)colorWithCyan:(float)cyan magenta:(float)magenta yellow:(float)yellow black:(float)black alpha:(float)alpha spaceName:(NSString *)spaceName;
+(NSColor *)colorWithRed:(float)red green:(float)green blue:(float)blue alpha:(float)alpha spaceName:(NSString *)spaceName;
+(NSColor *)colorWithHue:(float)hue saturation:(float)saturation brightness:(float)brightness alpha:(float)alpha spaceName:(NSString *)spaceName;

@end
Loading

0 comments on commit d6b13cc

Please sign in to comment.