// // Copyright (c) 2018 Open Whisper Systems. All rights reserved. // #import NS_ASSUME_NONNULL_BEGIN @interface OWSConversationColor : NSObject @property (nonatomic, readonly) UIColor *primaryColor; @property (nonatomic, readonly) UIColor *shadeColor; @property (nonatomic, readonly) UIColor *tintColor; @property (nonatomic, readonly) UIColor *themeColor; + (OWSConversationColor *)conversationColorWithPrimaryColor:(UIColor *)primaryColor shadeColor:(UIColor *)shadeColor tintColor:(UIColor *)tintColor; @end #pragma mark - @interface UIColor (OWS) #pragma mark - @property (class, readonly, nonatomic) UIColor *ows_systemPrimaryButtonColor; @property (class, readonly, nonatomic) UIColor *ows_signalBrandBlueColor; @property (class, readonly, nonatomic) UIColor *ows_materialBlueColor; @property (class, readonly, nonatomic) UIColor *ows_destructiveRedColor; @property (class, readonly, nonatomic) UIColor *ows_fadedBlueColor; @property (class, readonly, nonatomic) UIColor *ows_darkBackgroundColor; @property (class, readonly, nonatomic) UIColor *ows_darkGrayColor; @property (class, readonly, nonatomic) UIColor *ows_yellowColor; @property (class, readonly, nonatomic) UIColor *ows_reminderYellowColor; @property (class, readonly, nonatomic) UIColor *ows_reminderDarkYellowColor; @property (class, readonly, nonatomic) UIColor *ows_darkIconColor; @property (class, readonly, nonatomic) UIColor *ows_errorMessageBorderColor; @property (class, readonly, nonatomic) UIColor *ows_infoMessageBorderColor; @property (class, readonly, nonatomic) UIColor *ows_messageBubbleLightGrayColor; + (UIColor *)colorWithRGBHex:(unsigned long)value; - (UIColor *)blendWithColor:(UIColor *)otherColor alpha:(CGFloat)alpha; #pragma mark - Color Palette @property (class, readonly, nonatomic) UIColor *ows_signalBlueColor; @property (class, readonly, nonatomic) UIColor *ows_greenColor; @property (class, readonly, nonatomic) UIColor *ows_redColor; #pragma mark - GreyScale @property (class, readonly, nonatomic) UIColor *ows_whiteColor; @property (class, readonly, nonatomic) UIColor *ows_gray02Color; @property (class, readonly, nonatomic) UIColor *ows_gray05Color; @property (class, readonly, nonatomic) UIColor *ows_gray25Color; @property (class, readonly, nonatomic) UIColor *ows_gray45Color; @property (class, readonly, nonatomic) UIColor *ows_gray60Color; @property (class, readonly, nonatomic) UIColor *ows_gray75Color; @property (class, readonly, nonatomic) UIColor *ows_gray90Color; @property (class, readonly, nonatomic) UIColor *ows_gray95Color; @property (class, readonly, nonatomic) UIColor *ows_blackColor; #pragma mark - Conversation Colors @property (class, readonly, nonatomic) UIColor *ows_crimsonColor; @property (class, readonly, nonatomic) UIColor *ows_vermilionColor; @property (class, readonly, nonatomic) UIColor *ows_burlapColor; @property (class, readonly, nonatomic) UIColor *ows_forestColor; @property (class, readonly, nonatomic) UIColor *ows_wintergreenColor; @property (class, readonly, nonatomic) UIColor *ows_tealColor; @property (class, readonly, nonatomic) UIColor *ows_blueColor; @property (class, readonly, nonatomic) UIColor *ows_indigoColor; @property (class, readonly, nonatomic) UIColor *ows_violetColor; @property (class, readonly, nonatomic) UIColor *ows_plumColor; @property (class, readonly, nonatomic) UIColor *ows_taupeColor; @property (class, readonly, nonatomic) UIColor *ows_steelColor; #pragma mark - Conversation Colors (Tint) @property (class, readonly, nonatomic) UIColor *ows_crimsonTintColor; @property (class, readonly, nonatomic) UIColor *ows_vermilionTintColor; @property (class, readonly, nonatomic) UIColor *ows_burlapTintColor; @property (class, readonly, nonatomic) UIColor *ows_forestTintColor; @property (class, readonly, nonatomic) UIColor *ows_wintergreenTintColor; @property (class, readonly, nonatomic) UIColor *ows_tealTintColor; @property (class, readonly, nonatomic) UIColor *ows_blueTintColor; @property (class, readonly, nonatomic) UIColor *ows_indigoTintColor; @property (class, readonly, nonatomic) UIColor *ows_violetTintColor; @property (class, readonly, nonatomic) UIColor *ows_plumTintColor; @property (class, readonly, nonatomic) UIColor *ows_taupeTintColor; @property (class, readonly, nonatomic) UIColor *ows_steelTintColor; #pragma mark - Conversation Colors (Shade) @property (class, readonly, nonatomic) UIColor *ows_crimsonShadeColor; @property (class, readonly, nonatomic) UIColor *ows_vermilionShadeColor; @property (class, readonly, nonatomic) UIColor *ows_burlapShadeColor; @property (class, readonly, nonatomic) UIColor *ows_forestShadeColor; @property (class, readonly, nonatomic) UIColor *ows_wintergreenShadeColor; @property (class, readonly, nonatomic) UIColor *ows_tealShadeColor; @property (class, readonly, nonatomic) UIColor *ows_blueShadeColor; @property (class, readonly, nonatomic) UIColor *ows_indigoShadeColor; @property (class, readonly, nonatomic) UIColor *ows_violetShadeColor; @property (class, readonly, nonatomic) UIColor *ows_plumShadeColor; @property (class, readonly, nonatomic) UIColor *ows_taupeShadeColor; @property (class, readonly, nonatomic) UIColor *ows_steelShadeColor; #pragma mark - Conversation Colors + (nullable OWSConversationColor *)ows_conversationColorForColorName:(NSString *)colorName NS_SWIFT_NAME(ows_conversationColor(colorName:)); // If the conversation color name is valid, return its colors. // Otherwise return the "default" conversation colors. + (OWSConversationColor *)ows_conversationColorOrDefaultForColorName:(NSString *)conversationColorName NS_SWIFT_NAME(ows_conversationColorOrDefault(colorName:)); @property (class, readonly, nonatomic) NSArray *ows_conversationColorNames; + (NSString *)ows_defaultConversationColorName; + (OWSConversationColor *)ows_defaultConversationColor; // TODO: Remove @property (class, readonly, nonatomic) UIColor *ows_darkSkyBlueColor; @end NS_ASSUME_NONNULL_END