Example #1
0
        public Color(RGBColorSpace colorSpace, double white, double opacity)
        {
            var opaqueRBGColorspaceMetadata = SwiftType.Of(typeof(RGBColorSpace)) !;
            var result = Marshal.AllocHGlobal(opaqueRBGColorspaceMetadata.NativeDataSize);

            try {
                GetSwiftUIColorSpace(colorSpace, result.ToPointer());
                Data = CreateFromRGBColorSpaceWhiteOpacity(result.ToPointer(), white, opacity);;
            } catch {
                Marshal.FreeHGlobal(result);
                throw;
            }
        }
Example #2
0
        static void GetSwiftUIColorSpace(RGBColorSpace colorSpace, void *result)
        {
            switch (colorSpace)
            {
            case RGBColorSpace.sRGB:
                GetRGBColorSpacesRGB(result);
                break;

            case RGBColorSpace.DisplayP3:
                GetRGBColorSpaceDisplayP3(result);
                break;

            case RGBColorSpace.sRGBLinear:
                GetRGBColorSpacesRGBLinear(result);
                break;

            default:
                throw new NotSupportedException();
            }
        }