summaryrefslogtreecommitdiff
path: root/platform/macos/src/NSColor+MGLAdditions.mm
diff options
context:
space:
mode:
Diffstat (limited to 'platform/macos/src/NSColor+MGLAdditions.mm')
-rw-r--r--platform/macos/src/NSColor+MGLAdditions.mm29
1 files changed, 29 insertions, 0 deletions
diff --git a/platform/macos/src/NSColor+MGLAdditions.mm b/platform/macos/src/NSColor+MGLAdditions.mm
new file mode 100644
index 0000000000..4c3c116418
--- /dev/null
+++ b/platform/macos/src/NSColor+MGLAdditions.mm
@@ -0,0 +1,29 @@
+#import "NSColor+MGLAdditions.hpp"
+
+@implementation NSColor (MGLAdditions)
+
+- (mbgl::Color)mbgl_color
+{
+ if (!self)
+ {
+ return { 0, 0, 0, 0 };
+ }
+ CGFloat r, g, b, a;
+
+ [[self colorUsingColorSpaceName:NSCalibratedRGBColorSpace] getRed:&r green:&g blue:&b alpha:&a];
+
+ return { (float)r, (float)g, (float)b, (float)a };
+}
+
++ (NSColor *)mbgl_colorWithColor:(mbgl::Color)color
+{
+ return [NSColor colorWithRed:color.r green:color.g blue:color.b alpha:color.a];
+}
+
+- (mbgl::style::PropertyValue<mbgl::Color>)mbgl_colorPropertyValue
+{
+ mbgl::Color color = self.mbgl_color;
+ return {{ color.r, color.g, color.b, color.a }};
+}
+
+@end