in binding/SkiaSharp/Definitions.cs [153:201]
public static SKAlphaType GetAlphaType (this SKColorType colorType, SKAlphaType alphaType = SKAlphaType.Premul)
{
switch (colorType) {
case SKColorType.Unknown:
alphaType = SKAlphaType.Unknown;
break;
// opaque or premul
case SKColorType.Alpha8:
case SKColorType.Alpha16:
case SKColorType.AlphaF16:
if (SKAlphaType.Unpremul == alphaType) {
alphaType = SKAlphaType.Premul;
}
break;
// any
case SKColorType.Argb4444:
case SKColorType.Rgba8888:
case SKColorType.Bgra8888:
case SKColorType.Srgba8888:
case SKColorType.Rgba1010102:
case SKColorType.Bgra1010102:
case SKColorType.RgbaF16Clamped:
case SKColorType.RgbaF16:
case SKColorType.RgbaF32:
case SKColorType.Rgba16161616:
break;
// opaque
case SKColorType.Gray8:
case SKColorType.Rg88:
case SKColorType.Rg1616:
case SKColorType.RgF16:
case SKColorType.Rgb565:
case SKColorType.Rgb888x:
case SKColorType.Rgb101010x:
case SKColorType.Bgr101010x:
case SKColorType.Bgr101010xXR:
case SKColorType.R8Unorm:
alphaType = SKAlphaType.Opaque;
break;
default:
throw new ArgumentOutOfRangeException (nameof (colorType), $"Unknown color type: '{colorType}'");
}
return alphaType;
}