#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