Files
SharpIDE/src/SharpIDE.Godot/Features/Settings/SetTheme.cs
2026-01-31 14:16:25 +10:00

27 lines
1007 B
C#

using Godot;
using SharpIDE.Godot.Features.IdeSettings;
namespace SharpIDE.Godot.Features.Settings;
public static class SetTheme
{
private static readonly Theme LightTheme = ResourceLoader.Load<Theme>("uid://dc7l6bjhn61i5");
private static readonly Color LightThemeClearColor = new Color("fdfdfd");
private static readonly Theme DarkTheme = ResourceLoader.Load<Theme>("uid://epmt8kq6efrs");
private static readonly Color DarkThemeClearColor = new Color("4d4d4d");
public static void SetIdeTheme(this Node node, LightOrDarkTheme theme)
{
var rootWindow = node.GetTree().GetRoot();
if (theme is LightOrDarkTheme.Light)
{
RenderingServer.Singleton.SetDefaultClearColor(LightThemeClearColor);
rootWindow.Theme = LightTheme;
}
else if (theme is LightOrDarkTheme.Dark)
{
RenderingServer.Singleton.SetDefaultClearColor(DarkThemeClearColor);
rootWindow.Theme = DarkTheme;
}
}
}