public static BoardThemeConfig FromJson(JsonValue json) { var config = new BoardThemeConfig(); config.Indicators = BoardThemeIndicatorsConfig.FromJson(json["indicators"]); if (json.ContainsKey("rim")) { config.Rim = BoardThemeRimConfig.FromJson(json["rim"]); } return(config); }
public static BoardThemeIndicatorsConfig FromJson(JsonValue json) { var config = new BoardThemeIndicatorsConfig(); FontStyle fontStyle = FontStyle.Regular; if (json["bold"]) { fontStyle |= FontStyle.Bold; } if (json["italic"]) { fontStyle |= FontStyle.Italic; } config.FontScale = JsonValueReader.ReadPercentToFloat01(json["font_scale"]); config.Font = new Font(json["font"], 10, fontStyle); config.LightSquareBrush = new SolidBrush(ColorTranslator.FromHtml(json["color_on_light_squares"])); config.DarkSquareBrush = new SolidBrush(ColorTranslator.FromHtml(json["color_on_dark_squares"])); if (json.ContainsKey("file_indicators")) { config.FileIndicators = json["file_indicators"]; } else { config.FileIndicators = "abcdefgh"; } if (json.ContainsKey("rank_indicators")) { config.RankIndicators = json["rank_indicators"]; } else { config.RankIndicators = "12345678"; } { string fileIndicatorSide = json["file_indicator_side"]; if (fileIndicatorSide == "bottom") { config.RelativeRank = 7; } else { config.RelativeRank = 0; } } { string rankIndicatorSide = json["rank_indicator_side"]; if (rankIndicatorSide == "left") { config.RelativeFile = 0; } else { config.RelativeFile = 7; } } { config.RankIndicatorFormat = new StringFormat { Alignment = ParseAlignment(json["rank_indicator_horizontal_align"]), LineAlignment = ParseAlignment(json["rank_indicator_vertical_align"]) }; config.FileIndicatorFormat = new StringFormat { Alignment = ParseAlignment(json["file_indicator_horizontal_align"]), LineAlignment = ParseAlignment(json["file_indicator_vertical_align"]) }; } return(config); }