diff --git a/Chameleon/NSArray+Chameleon.h b/Chameleon/NSArray+Chameleon.h index 51bc630..ffcc787 100644 --- a/Chameleon/NSArray+Chameleon.h +++ b/Chameleon/NSArray+Chameleon.h @@ -63,4 +63,19 @@ typedef NS_ENUM (NSInteger, ColorScheme) { */ + (NSArray *)arrayOfColorsWithColorScheme:(ColorScheme)colorScheme with:(UIColor *)color flatScheme:(BOOL)isFlatScheme; +#pragma mark - Chameleon Deprecated Methods as of 1.1.2 + +/** + * Generates and creates an array of 5 color objects in the HSB colorspace from the specified color. + * + * @param colorScheme The color scheme with which to select colors using a specified color. + * @param color The specified color which the color scheme is built around. + * @param isFlatScheme Pass YES to return flat color objects. + * + * @deprecated + * + * @return An array of 5 color objects in the HSB colorspace. + */ ++ (NSArray *)arrayOfColorsWithColorScheme:(ColorScheme)colorScheme for:(UIColor *)color flatScheme:(BOOL)isFlatScheme __attribute((deprecated(" Use -arrayOfColorsWithColorScheme:with:flatScheme: instead (First deprecated in Chameleon 1.1.2)."))); + @end diff --git a/Chameleon/NSArray+Chameleon.m b/Chameleon/NSArray+Chameleon.m index a6c4a25..9cc443b 100644 --- a/Chameleon/NSArray+Chameleon.m +++ b/Chameleon/NSArray+Chameleon.m @@ -35,6 +35,37 @@ @implementation NSArray (Chameleon) #pragma mark - Chameleon - Public Color Scheme Methods +/* + Deprecated as of version 1.1.2 Please use the method below this one. + */ + ++ (NSArray *)arrayOfColorsWithColorScheme:(ColorScheme)colorScheme for:(UIColor *)color flatScheme:(BOOL)isFlatScheme { + + //Extract HSB values from input color + CGFloat h, s, b, a; + [color getHue:&h saturation:&s brightness:&b alpha:&a]; + + //Multiply our values by the max value to convert + h *= 360; + s *= 100; + b *= 100; + + //Choose Between Schemes + switch (colorScheme) { + case ColorSchemeAnalogous: + if (isFlatScheme) return [self analogousColorSchemeFromHue:h Saturation:s Brightness:b flat:YES]; + else return [self analogousColorSchemeFromHue:h Saturation:s Brightness:b flat:NO]; + case ColorSchemeComplementary: + if (isFlatScheme) return [self complementaryColorSchemeFromHue:h Saturation:s Brightness:b flat:YES]; + else return [self complementaryColorSchemeFromHue:h Saturation:s Brightness:b flat:NO]; + case ColorSchemeTriadic: + if (isFlatScheme) return [self triadicColorSchemeFromHue:h Saturation:s Brightness:b flat:YES]; + else return [self triadicColorSchemeFromHue:h Saturation:s Brightness:b flat:NO]; + default: + NSAssert(0, @"Oops! Unrecognized color scheme provided as random color."); + } +} + + (NSArray *)arrayOfColorsWithColorScheme:(ColorScheme)colorScheme with:(UIColor *)color flatScheme:(BOOL)isFlatScheme { //Extract HSB values from input color diff --git a/ChameleonDemo/ChameleonDemo.xcodeproj/project.xcworkspace/xcuserdata/ViccAlexander.xcuserdatad/UserInterfaceState.xcuserstate b/ChameleonDemo/ChameleonDemo.xcodeproj/project.xcworkspace/xcuserdata/ViccAlexander.xcuserdatad/UserInterfaceState.xcuserstate index e586008..0b5ad0e 100644 Binary files a/ChameleonDemo/ChameleonDemo.xcodeproj/project.xcworkspace/xcuserdata/ViccAlexander.xcuserdatad/UserInterfaceState.xcuserstate and b/ChameleonDemo/ChameleonDemo.xcodeproj/project.xcworkspace/xcuserdata/ViccAlexander.xcuserdatad/UserInterfaceState.xcuserstate differ