public static void Initialize() { AllThemes.Clear(); string path = Blumind.Configuration.ProgramEnvironment.UIThemesDirectory; if (Directory.Exists(path)) { var files = Directory.GetFiles(path, string.Format("*{0}", ColorThemeFileExtension)); foreach (var f in files) { var fn = Path.GetFileNameWithoutExtension(f); if (StringComparer.OrdinalIgnoreCase.Equals("_Template", fn)) // 跳过模版 { continue; } var t = UIColorTheme.Load(f); if (t != null) { AllThemes.Add(t); } } } }
public static UIColorTheme Load(XmlDocument dom) { if (dom == null || dom.DocumentElement == null) { return(null); } var root = dom.DocumentElement; if (!StringComparer.OrdinalIgnoreCase.Equals(root.GetAttribute("type"), FileType)) { return(null); } var t = new UIColorTheme(); t.Name = root.GetAttribute("name"); t.Description = ST.ReadTextNode(root, "description"); var colors = root.SelectSingleNode("colors"); if (colors != null) { foreach (XmlElement cn in colors.ChildNodes) { switch (cn.GetAttribute("name").ToLower()) { case "dark": t.Dark = ST.GetColor(cn.GetAttribute("value"), t.Dark); break; case "light": t.Light = ST.GetColor(cn.GetAttribute("value"), t.Light); break; case "sharp": t.Sharp = ST.GetColor(cn.GetAttribute("value"), t.Sharp); break; case "mediumdark": t.MediumDark = ST.GetColor(cn.GetAttribute("value"), t.MediumDark); break; case "mediumlight": t.MediumLight = ST.GetColor(cn.GetAttribute("value"), t.MediumLight); break; case "workspace": t.Workspace = ST.GetColor(cn.GetAttribute("value"), t.Workspace); break; } } } return(t); }
public DefaultToolStripColors() { UIColorTheme theme = UITheme.Default.Colors; if (theme == null) { theme = UIColorThemeManage.Default; } _MenuStripGradientEnd = theme.Workspace; _MenuStripGradientBegin = theme.Workspace; // PaintHelper.GetDarkColor(_MenuStripGradientEnd, 0.1); _MenuItemPressedGradientBegin = PaintHelper.GetLightColor(theme.Light, 0.2f); _MenuItemSelected = theme.MediumLight; // PaintHelper.GetDarkColor(theme.Sharp, 0.1f); MenuStripItemSelectedForeColor = PaintHelper.FarthestColor(_MenuItemSelected, theme.Dark, theme.Light); _MenuItemSelectedGradientMiddle = _MenuItemSelected; _MenuItemSelectedGradientBegin = PaintHelper.GetLightColor(_MenuItemSelectedGradientMiddle, 0.1f); _MenuItemSelectedGradientEnd = PaintHelper.GetLightColor(_MenuItemSelectedGradientMiddle, 0.05f); _MenuItemSelectedBorder = Color.Empty;// PaintHelper.AdjustColor(PaintHelper.GetDarkColor(theme.Sharp), 0, 50, 30, 40); _MenuBorder = theme.MediumLight; MenuStripItemForeColor = PaintHelper.FarthestColor(theme.Workspace, theme.MediumLight, theme.MediumDark, 50); _GripDark = PaintHelper.GetDarkColor(_MenuStripGradientBegin, 0.2); _GripLight = PaintHelper.GetLightColor(_MenuStripGradientBegin, 0.1); _ToolStripGradientBegin = theme.MediumLight; _ToolStripGradientMiddle = theme.MediumLight; _ToolStripGradientEnd = theme.MediumLight;// PaintHelper.GetDarkColor(theme.MediumLight, 0.1); _ToolStripDropDownBackground = theme.Light; _ImageMarginGradientBegin = theme.MenuImageMargin; _ImageMarginGradientMiddle = _ImageMarginGradientBegin; _ImageMarginGradientEnd = _ImageMarginGradientBegin; _CheckBackground = PaintHelper.GetLightColor(theme.MediumDark); _CheckSelectedBackground = PaintHelper.GetLightColor(_CheckBackground); //_SeparatorDark = _ToolStripGradientMiddle; _SeparatorDark = PaintHelper.GetDarkColor(_ToolStripGradientMiddle, 0.1); _SeparatorLight = Color.Empty; // PaintHelper.GetLightColor(_ToolStripGradientMiddle, 0.1); _ButtonCheckedGradientMiddle = PaintHelper.AdjustColor(theme.MediumLight, 0, 60, 40, 70); // .GetDarkColor(theme.MediumLight, 0.2); _ButtonCheckedGradientBegin = PaintHelper.GetDarkColor(_ButtonCheckedGradientMiddle, 0.2); _ButtonCheckedGradientEnd = PaintHelper.GetDarkColor(_ButtonCheckedGradientMiddle, 0.1); _ButtonSelectedBorder = PaintHelper.AdjustColor(theme.MediumDark, 0, 0, 30, 40); _ButtonSelectedGradientMiddle = PaintHelper.AdjustColor(theme.Sharp, 0, 100, 70, 80); _ButtonSelectedGradientBegin = PaintHelper.GetLightColor(_ButtonSelectedGradientMiddle, 0.2); _ButtonSelectedGradientEnd = PaintHelper.GetLightColor(_ButtonSelectedGradientMiddle, 0.1); }