NSColor to java.awt.Color

This commit is contained in:
Dennis Ushakov
2015-10-05 18:01:07 +03:00
parent fb47666956
commit f009ffb926
@@ -214,4 +214,19 @@ public class MacUtil {
cfRelease((ID)activity);
}
}
@NotNull
public static Color colorFromNative(ID color) {
final ID colorSpace = invoke("NSColorSpace", "genericRGBColorSpace");
final ID colorInSpace = invoke(color, "colorUsingColorSpace:", colorSpace);
final long red = invoke(colorInSpace, "redComponent").longValue();
final long green = invoke(colorInSpace, "greenComponent").longValue();
final long blue = invoke(colorInSpace, "blueComponent").longValue();
final long alpha = invoke(colorInSpace, "alphaComponent").longValue();
//noinspection UseJBColor
return new Color((float)Double.longBitsToDouble(red),
(float)Double.longBitsToDouble(green),
(float)Double.longBitsToDouble(blue),
(float)Double.longBitsToDouble(alpha));
}
}