Exemplo n.º 1
0
        public static List <ColorMapping> ParseList(JsonArray data, IColorPaletteEntry lightRegion, IColorPaletteEntry darkRegion, ColorPalette lightBase, ColorPalette darkBase, ColorPalette lightPrimary, ColorPalette darkPrimary, IColorPaletteEntry white, IColorPaletteEntry black)
        {
            List <ColorMapping> retVal = new List <ColorMapping>();

            foreach (var node in data)
            {
                retVal.Add(ColorMapping.Parse(node.GetObject(), lightRegion, darkRegion, lightBase, darkBase, lightPrimary, darkPrimary, white, black));
            }
            return(retVal);
        }
Exemplo n.º 2
0
        public static ColorMapping Parse(JsonObject data, IColorPaletteEntry lightRegion, IColorPaletteEntry darkRegion, ColorPalette lightBase, ColorPalette darkBase, ColorPalette lightPrimary, ColorPalette darkPrimary, IColorPaletteEntry white, IColorPaletteEntry black)
        {
            var target = data["Target"].GetEnum <ColorTarget>();
            var source = data["Source"].GetEnum <ColorSource>();
            int index  = 0;

            if (data.ContainsKey("SourceIndex"))
            {
                index = data["SourceIndex"].GetInt();
            }

            switch (source)
            {
            case ColorSource.LightRegion:
                return(new ColorMapping(lightRegion, target));

            case ColorSource.DarkRegion:
                return(new ColorMapping(darkRegion, target));

            case ColorSource.LightBase:
                return(new ColorMapping(lightBase.Palette[index], target));

            case ColorSource.DarkBase:
                return(new ColorMapping(darkBase.Palette[index], target));

            case ColorSource.LightPrimary:
                return(new ColorMapping(lightPrimary.Palette[index], target));

            case ColorSource.DarkPrimary:
                return(new ColorMapping(darkPrimary.Palette[index], target));

            case ColorSource.White:
                return(new ColorMapping(white, target));

            case ColorSource.Black:
                return(new ColorMapping(black, target));
            }

            return(null);
        }