From c3cd717123a61c350a9d8b6724c236f415f963f1 Mon Sep 17 00:00:00 2001 From: Sebastian Vogelsang Date: Wed, 1 Jul 2015 11:34:27 +0200 Subject: [PATCH] added support for NSCalibratedRGBColorSpace and NSCalibratedWhiteColorSpace --- colordump/CDColorListDumper.m | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/colordump/CDColorListDumper.m b/colordump/CDColorListDumper.m index d77d4cb..2ad7ba9 100644 --- a/colordump/CDColorListDumper.m +++ b/colordump/CDColorListDumper.m @@ -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]; @@ -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];