Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 18 additions & 7 deletions colordump/CDColorListDumper.m
Original file line number Diff line number Diff line change
Expand Up @@ -30,14 +30,11 @@ - (void)startWithCompletionHandler:(dispatch_block_t)completionBlock;

self.interfaceContents = [NSMutableArray array];
self.implementationContents = [NSMutableArray array];
for (NSString *key in colorList.allKeys) {
NSColor *color = [colorList colorWithKey:key];
if (![color.colorSpaceName isEqualToString:NSDeviceRGBColorSpace]) {
printf("Color %s isn't device RGB. Skipping.", [key UTF8String]);
continue;
}

NSColor *color = [colorList colorWithKey:key];

if ([color.colorSpaceName isEqualToString:NSCalibratedRGBColorSpace] || [color.colorSpaceName isEqualToString:NSDeviceRGBColorSpace]) {
CGFloat r, g, b, a;
[color getRed:&r green:&g blue:&b alpha:&a];

Expand All @@ -47,6 +44,20 @@ - (void)startWithCompletionHandler:(dispatch_block_t)completionBlock;
NSMutableString *method = [declaration mutableCopy];
[method appendFormat:@"{\n return [UIColor colorWithRed:%.3ff green:%.3ff blue:%.3ff alpha:%.3ff];\n}\n", r, g, b, a];
[self.implementationContents addObject:method];
}
else if ([color.colorSpaceName isEqualToString:NSCalibratedWhiteColorSpace]) {
CGFloat w, a;
[color getWhite:&w alpha:&a];
NSString *declaration = [NSString stringWithFormat:@"+ (UIColor *)%@Color;\n", [self methodNameForKey:key]];
[self.interfaceContents addObject:declaration];
NSMutableString *method = [declaration mutableCopy];
[method appendFormat:@"{\n return [UIColor colorWithWhite:%.3ff alpha:%.3ff];\n}\n", w, a];
[self.implementationContents addObject:method];
}
else {
printf("Color %s isn't device RGB. Skipping.", [key UTF8String]);
continue;
}
}

[self writeOutputFiles];
Expand Down