diff --git a/src/ImGui.NET.SampleProgram/SampleWindow.cs b/src/ImGui.NET.SampleProgram/SampleWindow.cs index a47c1e4..2991c42 100644 --- a/src/ImGui.NET.SampleProgram/SampleWindow.cs +++ b/src/ImGui.NET.SampleProgram/SampleWindow.cs @@ -63,6 +63,7 @@ namespace ImGuiNET private void OnKeyPress(object sender, KeyPressEventArgs e) { + Console.Write("Char typed: " + e.KeyChar); ImGui.AddInputCharacter(e.KeyChar); } diff --git a/src/ImGui.NET.VC.db b/src/ImGui.NET.VC.db new file mode 100644 index 0000000..18ce2ff Binary files /dev/null and b/src/ImGui.NET.VC.db differ diff --git a/src/ImGui.NET/ImGui.cs b/src/ImGui.NET/ImGui.cs index 89beab7..01d584a 100644 --- a/src/ImGui.NET/ImGui.cs +++ b/src/ImGui.NET/ImGui.cs @@ -53,6 +53,11 @@ namespace ImGuiNET ImGuiNative.igPushIdStrRange(idBegin, idEnd); } + public static void PushItemWidth(float width) + { + ImGuiNative.igPushItemWidth(width); + } + public static void PopID() { ImGuiNative.igPopId(); @@ -266,24 +271,24 @@ namespace ImGuiNET return ImGuiNative.igSliderInt4(label, ref value, min, max, displayText); } - public static void DragFloat(string label, ref float value, float min, float max, float dragSpeed = 1f, string displayFormat = "%f", float dragPower = 1f) + public static bool DragFloat(string label, ref float value, float min, float max, float dragSpeed = 1f, string displayFormat = "%f", float dragPower = 1f) { - ImGuiNative.igDragFloat(label, ref value, dragSpeed, min, max, displayFormat, dragPower); + return ImGuiNative.igDragFloat(label, ref value, dragSpeed, min, max, displayFormat, dragPower); } - public static void DragVector2(string label, ref Vector2 value, float min, float max, float dragSpeed = 1f, string displayFormat = "%f", float dragPower = 1f) + public static bool DragVector2(string label, ref Vector2 value, float min, float max, float dragSpeed = 1f, string displayFormat = "%f", float dragPower = 1f) { - ImGuiNative.igDragFloat2(label, ref value, dragSpeed, min, max, displayFormat, dragPower); + return ImGuiNative.igDragFloat2(label, ref value, dragSpeed, min, max, displayFormat, dragPower); } - public static void DragVector3(string label, ref Vector3 value, float min, float max, float dragSpeed = 1f, string displayFormat = "%f", float dragPower = 1f) + public static bool DragVector3(string label, ref Vector3 value, float min, float max, float dragSpeed = 1f, string displayFormat = "%f", float dragPower = 1f) { - ImGuiNative.igDragFloat3(label, ref value, dragSpeed, min, max, displayFormat, dragPower); + return ImGuiNative.igDragFloat3(label, ref value, dragSpeed, min, max, displayFormat, dragPower); } - public static void DragVector4(string label, ref Vector4 value, float min, float max, float dragSpeed = 1f, string displayFormat = "%f", float dragPower = 1f) + public static bool DragVector4(string label, ref Vector4 value, float min, float max, float dragSpeed = 1f, string displayFormat = "%f", float dragPower = 1f) { - ImGuiNative.igDragFloat4(label, ref value, dragSpeed, min, max, displayFormat, dragPower); + return ImGuiNative.igDragFloat4(label, ref value, dragSpeed, min, max, displayFormat, dragPower); } public static bool DragFloatRange2( @@ -496,29 +501,35 @@ namespace ImGuiNET ImGuiNative.igPushStyleColor(target, color); } - public static unsafe void InputTextMultiline(string label, IntPtr textBuffer, uint bufferSize, Vector2 size, InputTextFlags flags, TextEditCallback callback) + public static void PopStyleColor() { - ImGuiNative.igInputTextMultiline(label, textBuffer, bufferSize, size, flags, callback, null); + PopStyleColor(1); } - public static unsafe DrawData* GetDrawData() + public static void PopStyleColor(int numStyles) { - return ImGuiNative.igGetDrawData(); + ImGuiNative.igPopStyleColor(numStyles); } - public static unsafe void InputTextMultiline(string label, IntPtr textBuffer, uint bufferSize, Vector2 size, InputTextFlags flags, TextEditCallback callback, IntPtr userData) + public static void PushStyleVar(StyleVar var, float value) => ImGuiNative.igPushStyleVar(var, value); + public static void PushStyleVar(StyleVar var, Vector2 value) => ImGuiNative.igPushStyleVarVec(var, value); + + public static void PopStyleVar() => ImGuiNative.igPopStyleVar(1); + public static void PopStyleVar(int count) => ImGuiNative.igPopStyleVar(count); + + public static unsafe void InputTextMultiline(string label, IntPtr textBuffer, uint bufferSize, Vector2 size, InputTextFlags flags, TextEditCallback callback) { - ImGuiNative.igInputTextMultiline(label, textBuffer, bufferSize, size, flags, callback, userData.ToPointer()); + ImGuiNative.igInputTextMultiline(label, textBuffer, bufferSize, size, flags, callback, null); } - public static void PopStyleColor() + public static unsafe DrawData* GetDrawData() { - PopStyleColor(1); + return ImGuiNative.igGetDrawData(); } - public static void PopStyleColor(int numStyles) + public static unsafe void InputTextMultiline(string label, IntPtr textBuffer, uint bufferSize, Vector2 size, InputTextFlags flags, TextEditCallback callback, IntPtr userData) { - ImGuiNative.igPopStyleColor(numStyles); + ImGuiNative.igInputTextMultiline(label, textBuffer, bufferSize, size, flags, callback, userData.ToPointer()); } public static bool BeginChildFrame(uint id, Vector2 size, WindowFlags flags) @@ -687,9 +698,9 @@ namespace ImGuiNET return Selectable(label, isSelected, SelectableFlags.Default); } - public static void BeginMainMenuBar() + public static bool BeginMainMenuBar() { - ImGuiNative.igBeginMainMenuBar(); + return ImGuiNative.igBeginMainMenuBar(); } public static bool BeginPopup(string id)