#if GODOT_PC
using Godot;
using ImGuiNET;
using Vector3 = System.Numerics.Vector3;
using Vector4 = System.Numerics.Vector4;
namespace ImGuiGodot;
public static class ImGuiExtensions
{
///
/// Extension method to translate between and
///
public static ImGuiKey ToImGuiKey(this Key key)
{
return Internal.Input.ConvertKey(key);
}
///
/// Extension method to translate between and
///
public static ImGuiKey ToImGuiKey(this JoyButton button)
{
return Internal.Input.ConvertJoyButton(button);
}
///
/// Convert to ImGui color RGBA
///
public static Vector4 ToVector4(this Color color)
{
return new Vector4(color.R, color.G, color.B, color.A);
}
///
/// Convert to ImGui color RGB
///
public static Vector3 ToVector3(this Color color)
{
return new Vector3(color.R, color.G, color.B);
}
///
/// Convert RGB to
///
public static Color ToColor(this Vector3 vec)
{
return new Color(vec.X, vec.Y, vec.Z);
}
///
/// Convert RGBA to
///
public static Color ToColor(this Vector4 vec)
{
return new Color(vec.X, vec.Y, vec.Z, vec.W);
}
///
/// Set IniFilename, converting Godot path to native
///
public static void SetIniFilename(this ImGuiIOPtr io, string fileName)
{
_ = io;
ImGuiGD.SetIniFilename(fileName);
}
}
#endif