diff --git a/Directory.Build.targets b/Directory.Build.targets
index 68f37fa..c76dfd3 100644
--- a/Directory.Build.targets
+++ b/Directory.Build.targets
@@ -87,7 +87,7 @@
-
+
diff --git a/ImGuiStyler/Color.cs b/ImGuiStyler/Color.cs
index 34693b3..115fe9a 100644
--- a/ImGuiStyler/Color.cs
+++ b/ImGuiStyler/Color.cs
@@ -240,6 +240,13 @@ public static ImColor MultiplySaturation(this ImColor color, float amount)
return FromHSLA(hsla);
}
+ public static ImColor OffsetHue(this ImColor color, float amount)
+ {
+ var hsla = color.ToHSLA();
+ hsla.X = (1f + (hsla.X + amount)) % 1f;
+ return FromHSLA(hsla);
+ }
+
public static ImColor LightenBy(this ImColor color, float amount)
{
var hsla = color.ToHSLA();
diff --git a/ImGuiStyler/Theme.cs b/ImGuiStyler/Theme.cs
index 2d7145f..b16d766 100644
--- a/ImGuiStyler/Theme.cs
+++ b/ImGuiStyler/Theme.cs
@@ -8,6 +8,11 @@ public static class Theme
{
private static float NormalLuminanceMult { get; set; } = 0.4f;
private static float NormalSaturationMult { get; set; } = 0.5f;
+ private static float AccentLuminanceMult { get; set; } = 0.7f;
+ private static float AccentSaturationMult { get; set; } = 0.8f;
+ private static float AccentHoveredLuminanceMult { get; set; } = 1.0f;
+ private static float AccentHoveredSaturationMult { get; set; } = 0.9f;
+ private static float AccentHueOffset { get; set; } = 0.5f;
private static float HeaderLuminanceMult { get; set; } = 0.5f;
private static float HeaderSaturationMult { get; set; } = 0.6f;
private static float ActiveLuminanceMult { get; set; } = .6f;
@@ -22,6 +27,8 @@ public static class Theme
public static ImColor GetStateColor(ImColor baseColor, bool enabled) => enabled ? baseColor : baseColor.MultiplySaturation(DisabledSaturationMult);
public static ImColor GetNormalColor(ImColor stateColor) => stateColor.MultiplyLuminance(NormalLuminanceMult).MultiplySaturation(NormalSaturationMult);
+ public static ImColor GetAccentColor(ImColor stateColor) => stateColor.MultiplyLuminance(AccentLuminanceMult).MultiplySaturation(AccentSaturationMult).OffsetHue(AccentHueOffset).WithAlpha(1);
+ public static ImColor GetAccentHoveredColor(ImColor stateColor) => stateColor.MultiplyLuminance(AccentHoveredLuminanceMult).MultiplySaturation(AccentHoveredSaturationMult).OffsetHue(AccentHueOffset).WithAlpha(1);
public static ImColor GetHeaderColor(ImColor stateColor) => stateColor.MultiplyLuminance(HeaderLuminanceMult).MultiplySaturation(HeaderSaturationMult);
public static ImColor GetActiveColor(ImColor stateColor) => stateColor.MultiplyLuminance(ActiveLuminanceMult).MultiplySaturation(ActiveSaturationMult);
public static ImColor GetHoveredColor(ImColor stateColor) => stateColor.MultiplyLuminance(HoverLuminanceMult).MultiplySaturation(HoverSaturationMult);
@@ -62,6 +69,8 @@ public static class Palette
public static void Apply(ImColor baseColor)
{
var normalColor = GetNormalColor(baseColor);
+ var accentColor = GetAccentColor(baseColor);
+ var accentHoveredColor = GetAccentHoveredColor(baseColor);
var headerColor = GetHeaderColor(baseColor);
var hoveredColor = GetHoveredColor(baseColor);
var activeColor = GetActiveColor(baseColor);
@@ -101,10 +110,10 @@ public static void Apply(ImColor baseColor)
colors[(int)ImGuiCol.ResizeGrip] = normalColor.Value;
colors[(int)ImGuiCol.ResizeGripActive] = activeColor.Value;
colors[(int)ImGuiCol.ResizeGripHovered] = hoveredColor.Value;
- colors[(int)ImGuiCol.PlotLines] = normalColor.Value;
- colors[(int)ImGuiCol.PlotLinesHovered] = hoveredColor.Value;
- colors[(int)ImGuiCol.PlotHistogram] = normalColor.Value;
- colors[(int)ImGuiCol.PlotHistogramHovered] = hoveredColor.Value;
+ colors[(int)ImGuiCol.PlotLines] = accentColor.Value;
+ colors[(int)ImGuiCol.PlotLinesHovered] = accentHoveredColor.Value;
+ colors[(int)ImGuiCol.PlotHistogram] = accentColor.Value;
+ colors[(int)ImGuiCol.PlotHistogramHovered] = accentHoveredColor.Value;
colors[(int)ImGuiCol.ScrollbarGrab] = normalColor.WithSaturation(0).Value;
colors[(int)ImGuiCol.ScrollbarGrabActive] = activeColor.WithSaturation(0).Value;
colors[(int)ImGuiCol.ScrollbarGrabHovered] = hoveredColor.WithSaturation(0).Value;
@@ -119,6 +128,8 @@ public ScopedThemeColor(ImColor baseColor, bool enabled)
{
var stateColor = GetStateColor(baseColor, enabled);
var normalColor = GetNormalColor(stateColor);
+ var accentColor = GetAccentColor(baseColor);
+ var accentHoveredColor = GetAccentHoveredColor(baseColor);
var headerColor = GetHeaderColor(stateColor);
var hoveredColor = GetHoveredColor(stateColor);
var activeColor = GetActiveColor(stateColor);
@@ -158,10 +169,10 @@ public ScopedThemeColor(ImColor baseColor, bool enabled)
PushStyleAndCount(ImGuiCol.ResizeGrip, normalColor, ref numStyles);
PushStyleAndCount(ImGuiCol.ResizeGripActive, activeColor, ref numStyles);
PushStyleAndCount(ImGuiCol.ResizeGripHovered, hoveredColor, ref numStyles);
- PushStyleAndCount(ImGuiCol.PlotLines, normalColor, ref numStyles);
- PushStyleAndCount(ImGuiCol.PlotLinesHovered, hoveredColor, ref numStyles);
- PushStyleAndCount(ImGuiCol.PlotHistogram, normalColor, ref numStyles);
- PushStyleAndCount(ImGuiCol.PlotHistogramHovered, hoveredColor, ref numStyles);
+ PushStyleAndCount(ImGuiCol.PlotLines, accentColor, ref numStyles);
+ PushStyleAndCount(ImGuiCol.PlotLinesHovered, accentHoveredColor, ref numStyles);
+ PushStyleAndCount(ImGuiCol.PlotHistogram, accentColor, ref numStyles);
+ PushStyleAndCount(ImGuiCol.PlotHistogramHovered, accentHoveredColor, ref numStyles);
PushStyleAndCount(ImGuiCol.ScrollbarGrab, normalColor, ref numStyles);
PushStyleAndCount(ImGuiCol.ScrollbarGrabActive, activeColor, ref numStyles);
PushStyleAndCount(ImGuiCol.ScrollbarGrabHovered, hoveredColor, ref numStyles);
diff --git a/ImGuiStylerDemo/ImGuiStylerDemo.cs b/ImGuiStylerDemo/ImGuiStylerDemo.cs
index b95c3d3..1d97be0 100644
--- a/ImGuiStylerDemo/ImGuiStylerDemo.cs
+++ b/ImGuiStylerDemo/ImGuiStylerDemo.cs
@@ -28,6 +28,7 @@ private void OnTick(float dt)
ImGui.InputText("InputText", ref valueString, 128);
float valueFloat = 0.0f;
ImGui.SliderFloat("SliderFloat", ref valueFloat, 0.0f, 1.0f);
+ ImGui.ProgressBar(0.95f, new(300, 0));
ImGui.Text("Text");
ImGui.TextColored(new System.Numerics.Vector4(1.0f, 0.0f, 0.0f, 1.0f), "TextColored");
ImGui.TextDisabled("TextDisabled");
diff --git a/ImGuiStylerDemo/ImGuiStylerDemo.csproj b/ImGuiStylerDemo/ImGuiStylerDemo.csproj
index 4a109ba..62c06ea 100644
--- a/ImGuiStylerDemo/ImGuiStylerDemo.csproj
+++ b/ImGuiStylerDemo/ImGuiStylerDemo.csproj
@@ -4,7 +4,7 @@
-
+
diff --git a/VERSION b/VERSION
index 16a8712..3dedb75 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.0.0-alpha.6
+1.0.0-alpha.8