Exemple #1
0
        private void SetStyle()
        {
            Style Style = ImGui.GetStyle();

            Style.Alpha         = 1.0f;
            Style.FrameRounding = 3.0f;
            Style.SetColor(ColorTarget.Text, new System.Numerics.Vector4(0.00f, 0.00f, 0.00f, 1.00f));
            Style.SetColor(ColorTarget.TextDisabled, new System.Numerics.Vector4(0.60f, 0.60f, 0.60f, 1.00f));
            Style.SetColor(ColorTarget.WindowBg, new System.Numerics.Vector4(0.94f, 0.94f, 0.94f, 0.94f));
            Style.SetColor(ColorTarget.ChildBg, new System.Numerics.Vector4(0.00f, 0.00f, 0.00f, 0.00f));
            Style.SetColor(ColorTarget.PopupBg, new System.Numerics.Vector4(1.00f, 1.00f, 1.00f, 0.94f));
            Style.SetColor(ColorTarget.Border, new System.Numerics.Vector4(0.00f, 0.00f, 0.00f, 0.39f));
            Style.SetColor(ColorTarget.BorderShadow, new System.Numerics.Vector4(1.00f, 1.00f, 1.00f, 0.10f));
            Style.SetColor(ColorTarget.FrameBg, new System.Numerics.Vector4(1.00f, 1.00f, 1.00f, 0.94f));
            Style.SetColor(ColorTarget.FrameBgHovered, new System.Numerics.Vector4(0.26f, 0.59f, 0.98f, 0.40f));
            Style.SetColor(ColorTarget.FrameBgActive, new System.Numerics.Vector4(0.26f, 0.59f, 0.98f, 0.67f));
            Style.SetColor(ColorTarget.TitleBg, new System.Numerics.Vector4(0.96f, 0.96f, 0.96f, 1.0f));
            Style.SetColor(ColorTarget.TitleBgCollapsed, new System.Numerics.Vector4(1.00f, 1.00f, 1.00f, 1.0f));
            Style.SetColor(ColorTarget.TitleBgActive, new System.Numerics.Vector4(0.82f, 0.82f, 0.82f, 1.00f));
            Style.SetColor(ColorTarget.MenuBarBg, new System.Numerics.Vector4(0.86f, 0.86f, 0.86f, 1.00f));
            Style.SetColor(ColorTarget.ScrollbarBg, new System.Numerics.Vector4(0.98f, 0.98f, 0.98f, 0.53f));
            Style.SetColor(ColorTarget.ScrollbarGrab, new System.Numerics.Vector4(0.69f, 0.69f, 0.69f, 1.00f));
            Style.SetColor(ColorTarget.ScrollbarGrabHovered, new System.Numerics.Vector4(0.59f, 0.59f, 0.59f, 1.00f));
            Style.SetColor(ColorTarget.ScrollbarGrabActive, new System.Numerics.Vector4(0.49f, 0.49f, 0.49f, 1.00f));
            Style.SetColor(ColorTarget.CheckMark, new System.Numerics.Vector4(0.26f, 0.59f, 0.98f, 1.00f));
            Style.SetColor(ColorTarget.SliderGrab, new System.Numerics.Vector4(0.24f, 0.52f, 0.88f, 1.00f));
            Style.SetColor(ColorTarget.SliderGrabActive, new System.Numerics.Vector4(0.26f, 0.59f, 0.98f, 1.00f));
            Style.SetColor(ColorTarget.Button, new System.Numerics.Vector4(0.26f, 0.59f, 0.98f, 0.40f));
            Style.SetColor(ColorTarget.ButtonHovered, new System.Numerics.Vector4(0.26f, 0.59f, 0.98f, 1.00f));
            Style.SetColor(ColorTarget.ButtonActive, new System.Numerics.Vector4(0.06f, 0.53f, 0.98f, 1.00f));
            Style.SetColor(ColorTarget.Header, new System.Numerics.Vector4(0.26f, 0.59f, 0.98f, 0.31f));
            Style.SetColor(ColorTarget.HeaderHovered, new System.Numerics.Vector4(0.26f, 0.59f, 0.98f, 0.80f));
            Style.SetColor(ColorTarget.HeaderActive, new System.Numerics.Vector4(0.26f, 0.59f, 0.98f, 1.00f));
            Style.SetColor(ColorTarget.ResizeGrip, new System.Numerics.Vector4(1.00f, 1.00f, 1.00f, 0.50f));
            Style.SetColor(ColorTarget.ResizeGripHovered, new System.Numerics.Vector4(0.26f, 0.59f, 0.98f, 0.67f));
            Style.SetColor(ColorTarget.ResizeGripActive, new System.Numerics.Vector4(0.26f, 0.59f, 0.98f, 0.95f));
            Style.SetColor(ColorTarget.CloseButton, new System.Numerics.Vector4(0.59f, 0.59f, 0.59f, 0.50f));
            Style.SetColor(ColorTarget.CloseButtonHovered, new System.Numerics.Vector4(0.98f, 0.39f, 0.36f, 1.00f));
            Style.SetColor(ColorTarget.CloseButtonActive, new System.Numerics.Vector4(0.98f, 0.39f, 0.36f, 1.00f));
            Style.SetColor(ColorTarget.PlotLines, new System.Numerics.Vector4(0.39f, 0.39f, 0.39f, 1.00f));
            Style.SetColor(ColorTarget.PlotLinesHovered, new System.Numerics.Vector4(1.00f, 0.43f, 0.35f, 1.00f));
            Style.SetColor(ColorTarget.PlotHistogram, new System.Numerics.Vector4(0.90f, 0.70f, 0.00f, 1.00f));
            Style.SetColor(ColorTarget.PlotHistogramHovered, new System.Numerics.Vector4(1.00f, 0.60f, 0.00f, 1.00f));
            Style.SetColor(ColorTarget.TextSelectedBg, new System.Numerics.Vector4(0.26f, 0.59f, 0.98f, 0.35f));
            Style.SetColor(ColorTarget.ModalWindowDarkening, new System.Numerics.Vector4(0.20f, 0.20f, 0.20f, 0.35f));
            for (int i = 0; i <= 43; i++)
            {
                var   Color = Style.GetColor((ColorTarget)i);
                float H, S, V;
                ImGui.ColorConvertRGBToHSV(Color.X, Color.Y, Color.Z, out H, out S, out V);

                if (S < 0.1f)
                {
                    V = 1.0f - V;
                }
                ImGui.ColorConvertHSVToRGB(H, S, V, out Color.X, out Color.Y, out Color.Z);
                Style.SetColor((ColorTarget)i, Color);
            }
        }
Exemple #2
0
        private static Color ThemeColor(Color color, ImGuiTheme theme, float alpha)
        {
            switch (theme)
            {
            case ImGuiTheme.Dark:
            {
                ImGui.ColorConvertRGBToHSV(color.R, color.G, color.B, out var h, out var s, out var v);

                if (s < 0.1f)
                {
                    v = 1.0f - v;
                }

                ImGui.ColorConvertHSVToRGB(h, s, v, out var r, out var g, out var b);
                color = new Color(r, g, b, color.A);

                if (color.A < 1.00f)
                {
                    color.A *= alpha;
                }
                break;
            }

            case ImGuiTheme.Light:
            {
                if (color.A < 1.00f)
                {
                    color.R *= alpha;
                    color.G *= alpha;
                    color.B *= alpha;
                    color.A *= alpha;
                }
                break;
            }

            default:
                throw new NotImplementedException();
            }

            return(color);
        }