summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMinh Nguyễn <mxn@1ec5.org>2018-03-06 13:07:43 -0800
committerMinh Nguyễn <mxn@1ec5.org>2018-03-06 13:07:43 -0800
commit8409db9602941d342c3cbc005a1f3715f8b1a521 (patch)
treee048954772c85e6b15cca963c221ab314215d8ed
parenta680e75708231bc41b8cf97c6b29a35a72537b05 (diff)
downloadqtlocation-mapboxgl-8409db9602941d342c3cbc005a1f3715f8b1a521.tar.gz
Revert "[macos] Use device RGB, which is always sRGB"
This reverts commit a680e75708231bc41b8cf97c6b29a35a72537b05.
-rw-r--r--platform/darwin/src/MGLAttributionInfo.mm7
-rw-r--r--platform/macos/src/NSColor+MGLAdditions.h2
-rw-r--r--platform/macos/src/NSColor+MGLAdditions.mm14
3 files changed, 18 insertions, 5 deletions
diff --git a/platform/darwin/src/MGLAttributionInfo.mm b/platform/darwin/src/MGLAttributionInfo.mm
index df20275e3f..f52d7590d8 100644
--- a/platform/darwin/src/MGLAttributionInfo.mm
+++ b/platform/darwin/src/MGLAttributionInfo.mm
@@ -4,6 +4,7 @@
#import <UIKit/UIKit.h>
#else
#import <Cocoa/Cocoa.h>
+ #import <Availability.h>
#endif
#import "MGLAccountManager.h"
@@ -49,8 +50,12 @@
CGFloat blue;
CGFloat alpha;
#if !TARGET_OS_IPHONE
+#if __MAC_OS_X_VERSION_MAX_ALLOWED >= 101300
// CSS uses the sRGB color space.
- linkColor = [linkColor colorUsingColorSpaceName:NSDeviceRGBColorSpace];
+ linkColor = [linkColor colorUsingColorSpace:[NSColorSpace sRGBColorSpace]];
+#else
+ linkColor = [linkColor colorUsingColorSpaceName:NSCalibratedRGBColorSpace];
+#endif
#endif
[linkColor getRed:&red green:&green blue:&blue alpha:&alpha];
[css appendFormat:
diff --git a/platform/macos/src/NSColor+MGLAdditions.h b/platform/macos/src/NSColor+MGLAdditions.h
index af9b8b0255..8dd8c1c17c 100644
--- a/platform/macos/src/NSColor+MGLAdditions.h
+++ b/platform/macos/src/NSColor+MGLAdditions.h
@@ -6,7 +6,7 @@
@interface NSColor (MGLAdditions)
/**
- Converts the color into an mbgl::Color in sRGB space.
+ Converts the color into an mbgl::Color in calibrated RGB space.
*/
- (mbgl::Color)mgl_color;
diff --git a/platform/macos/src/NSColor+MGLAdditions.mm b/platform/macos/src/NSColor+MGLAdditions.mm
index 02f50783e8..878697c119 100644
--- a/platform/macos/src/NSColor+MGLAdditions.mm
+++ b/platform/macos/src/NSColor+MGLAdditions.mm
@@ -1,23 +1,31 @@
#import "NSColor+MGLAdditions.h"
+#import <Availability.h>
+
@implementation NSColor (MGLAdditions)
- (mbgl::Color)mgl_color
{
CGFloat r, g, b, a;
+#if __MAC_OS_X_VERSION_MAX_ALLOWED >= 101300
// The Mapbox Style Specification does not specify a color space, but it is
// assumed to be sRGB for consistency with CSS.
- // As of OS X 10.8 Mountin Lion, device RGB is equivalent to sRGB.
- // https://download.developer.apple.com/wwdc_2012/wwdc_2012_session_pdfs/session_523__best_practices_for_color_management.pdf#page=137
- [[self colorUsingColorSpaceName:NSDeviceRGBColorSpace] getRed:&r green:&g blue:&b alpha:&a];
+ [[self colorUsingColorSpace:[NSColorSpace sRGBColorSpace]] getRed:&r green:&g blue:&b alpha:&a];
+#else
+ [[self colorUsingColorSpaceName:NSCalibratedRGBColorSpace] getRed:&r green:&g blue:&b alpha:&a];
+#endif
return { (float)r, (float)g, (float)b, (float)a };
}
+ (NSColor *)mgl_colorWithColor:(mbgl::Color)color
{
+#if __MAC_OS_X_VERSION_MAX_ALLOWED >= 101300
return [NSColor colorWithRed:color.r green:color.g blue:color.b alpha:color.a];
+#else
+ return [NSColor colorWithCalibratedRed:color.r green:color.g blue:color.b alpha:color.a];
+#endif
}
- (mbgl::style::PropertyValue<mbgl::Color>)mgl_colorPropertyValue