Skip to content
Open
Show file tree
Hide file tree
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
8 changes: 6 additions & 2 deletions Color Extensions/UIColor+HTMLColors.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,11 @@
// Copyright (c) 2012 James Lawton. All rights reserved.
//

#import <UIKit/UIKit.h>
#if !TARGET_OS_IPHONE && TARGET_OS_MAC

#define UIColor NSColor

#endif

/**
* Extensions to read and write colors in the formats supported by CSS.
Expand Down Expand Up @@ -112,4 +116,4 @@
*/
- (BOOL)scanW3CNamedColor:(UIColor **)color;

@end
@end
40 changes: 39 additions & 1 deletion Color Extensions/UIColor+HTMLColors.m
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,7 @@ - (NSString *)hslStringValue
// Fix up getting color components
- (BOOL)cmr_getRed:(CGFloat *)red green:(CGFloat *)green blue:(CGFloat *)blue alpha:(CGFloat *)alpha
{
#if TARGET_OS_IPHONE
if ([self getRed:red green:green blue:blue alpha:alpha]) {
return YES;
}
Expand All @@ -150,12 +151,31 @@ - (BOOL)cmr_getRed:(CGFloat *)red green:(CGFloat *)green blue:(CGFloat *)blue al
*blue = white;
return YES;
}
#elif TARGET_OS_MAC
NSColorSpaceModel colorSpaceModel = self.colorSpace.colorSpaceModel;
if (colorSpaceModel == NSColorSpaceModelRGB) {
[self getRed:red green:green blue:blue alpha:alpha];

return YES;
} else if (colorSpaceModel == NSColorSpaceModelGray) {
CGFloat white;
[self getWhite:&white alpha:alpha];
if (red)
*red = white;
if (green)
*green = white;
if (blue)
*blue = white;

return YES;
}
#endif
return NO;
}

- (BOOL)cmr_getHue:(CGFloat *)hue saturation:(CGFloat *)saturation brightness:(CGFloat *)brightness alpha:(CGFloat *)alpha
{
#if TARGET_OS_IPHONE
if ([self getHue:hue saturation:saturation brightness:brightness alpha:alpha]) {
return YES;
}
Expand All @@ -170,7 +190,25 @@ - (BOOL)cmr_getHue:(CGFloat *)hue saturation:(CGFloat *)saturation brightness:(C
*brightness = white;
return YES;
}
#elif TARGET_OS_MAC
NSColorSpaceModel colorSpaceModel = self.colorSpace.colorSpaceModel;
if (colorSpaceModel == NSColorSpaceModelRGB) {
[self getHue:hue saturation:saturation brightness:brightness alpha:alpha];

return YES;
} else if (colorSpaceModel == NSColorSpaceModelGray) {
CGFloat white;
[self getWhite:&white alpha:alpha];
if (hue)
*hue = 0;
if (saturation)
*saturation = 0;
if (brightness)
*brightness = white;

return YES;
}
#endif
return NO;
}

Expand Down Expand Up @@ -224,7 +262,7 @@ - (BOOL)scanGrayColor:(UIColor **)color
{
return [self cmr_caseInsensitiveWithCleanup:^BOOL{
if ([self scanString:@"gray" intoString:NULL]) {
CGFloat grayValue;
CGFloat grayValue = 0;
BOOL success = [self scanString:@"(" intoString:NULL]
&& [self cmr_scanNum:&grayValue scale:1.0/255.0];

Expand Down
26 changes: 26 additions & 0 deletions Color Extensions/UIColor-HTMLColors-Prefix.pch
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
//
// UIColor-HTMLColors-Prefix.pch
// UIColor-HTMLColors
//
// Created by LiaoWei@UNNOO.COM on 2019/1/10.
// Copyright © 2019 vvveiii. All rights reserved.
//

#ifndef UIColor_HTMLColors_Prefix_pch
#define UIColor_HTMLColors_Prefix_pch

#import <Foundation/Foundation.h>
#import <CoreGraphics/CoreGraphics.h>

#if TARGET_OS_IPHONE

#import <UIKit/UIKit.h>

#elif TARGET_OS_MAC

#import <AppKit/AppKit.h>
#define UIColor NSColor

#endif

#endif /* UIColor_HTMLColors_Prefix_pch */
Loading