cocoa: returning alpha multiplied colors in NSColorToRGB

git-svn-id: trunk@61710 -
This commit is contained in:
dmitry 2019-08-16 20:13:57 +00:00
parent 013971d96c
commit 9cf9304d03

View File

@ -365,9 +365,14 @@ begin
end;
function NSColorToRGB(const Color: NSColor): TColorRef; inline;
var
alpha: CGFloat;
begin
// TColorRef doesn't bear an alpha channel information.
// Thus RGB needs to be multiplied by it.
alpha := Color.alphaComponent;
with Color do
Result := RGBToColorFloat(redComponent, greenComponent, blueComponent);
Result := RGBToColorFloat(redComponent*alpha, greenComponent*alpha, blueComponent*alpha);
end;
function NSColorToColorRef(const Color: NSColor): TColorRef;