diff --git a/README.md b/README.md index beaa713..55c6f37 100644 --- a/README.md +++ b/README.md @@ -29,5 +29,5 @@ https://github.com/ocornut/imgui See the [official screenshot thread](https://github.com/ocornut/imgui/issues/123) for examples of many different kinds of interfaces created with Dear ImGui. -https://github.com/Extrawurst/cimgui +https://github.com/cimgui/cimgui > This is a thin c-api wrapper for the excellent C++ intermediate gui imgui. This library is intended as a intermediate layer to be able to use imgui from other languages that can interface with C . diff --git a/deps/cimgui/linux-x64/cimgui.so b/deps/cimgui/linux-x64/cimgui.so index 41b1eb8..c3aa66c 100644 Binary files a/deps/cimgui/linux-x64/cimgui.so and b/deps/cimgui/linux-x64/cimgui.so differ diff --git a/deps/cimgui/osx-x64/cimgui.dylib b/deps/cimgui/osx-x64/cimgui.dylib index d901a04..bbe367b 100644 Binary files a/deps/cimgui/osx-x64/cimgui.dylib and b/deps/cimgui/osx-x64/cimgui.dylib differ diff --git a/deps/cimgui/win-x64/cimgui.dll b/deps/cimgui/win-x64/cimgui.dll index 9fa5b3b..05f225c 100644 Binary files a/deps/cimgui/win-x64/cimgui.dll and b/deps/cimgui/win-x64/cimgui.dll differ diff --git a/deps/cimgui/win-x86/cimgui.dll b/deps/cimgui/win-x86/cimgui.dll index d5f3c85..d8219e8 100644 Binary files a/deps/cimgui/win-x86/cimgui.dll and b/deps/cimgui/win-x86/cimgui.dll differ diff --git a/src/CodeGenerator/definitions.json b/src/CodeGenerator/definitions.json index 31f5ab0..7fc3ae5 100644 --- a/src/CodeGenerator/definitions.json +++ b/src/CodeGenerator/definitions.json @@ -635,7 +635,7 @@ ], "ImDrawList_AddConvexPolyFilled": [ { - "args": "(ImDrawList* self,const ImVec2* points,const int num_points,ImU32 col)", + "args": "(ImDrawList* self,const ImVec2* points,int num_points,ImU32 col)", "argsT": [ { "name": "self", @@ -647,21 +647,21 @@ }, { "name": "num_points", - "type": "const int" + "type": "int" }, { "name": "col", "type": "ImU32" } ], - "argsoriginal": "(const ImVec2* points,const int num_points,ImU32 col)", + "argsoriginal": "(const ImVec2* points,int num_points,ImU32 col)", "call_args": "(points,num_points,col)", "cimguiname": "ImDrawList_AddConvexPolyFilled", "defaults": [], "funcname": "AddConvexPolyFilled", "ov_cimguiname": "ImDrawList_AddConvexPolyFilled", "ret": "void", - "signature": "(const ImVec2*,const int,ImU32)", + "signature": "(const ImVec2*,int,ImU32)", "stname": "ImDrawList" } ], @@ -893,7 +893,7 @@ ], "ImDrawList_AddPolyline": [ { - "args": "(ImDrawList* self,const ImVec2* points,const int num_points,ImU32 col,bool closed,float thickness)", + "args": "(ImDrawList* self,const ImVec2* points,int num_points,ImU32 col,bool closed,float thickness)", "argsT": [ { "name": "self", @@ -905,7 +905,7 @@ }, { "name": "num_points", - "type": "const int" + "type": "int" }, { "name": "col", @@ -920,14 +920,14 @@ "type": "float" } ], - "argsoriginal": "(const ImVec2* points,const int num_points,ImU32 col,bool closed,float thickness)", + "argsoriginal": "(const ImVec2* points,int num_points,ImU32 col,bool closed,float thickness)", "call_args": "(points,num_points,col,closed,thickness)", "cimguiname": "ImDrawList_AddPolyline", "defaults": [], "funcname": "AddPolyline", "ov_cimguiname": "ImDrawList_AddPolyline", "ret": "void", - "signature": "(const ImVec2*,const int,ImU32,bool,float)", + "signature": "(const ImVec2*,int,ImU32,bool,float)", "stname": "ImDrawList" } ], @@ -2886,6 +2886,26 @@ "stname": "ImFontAtlas" } ], + "ImFontAtlas_GetGlyphRangesVietnamese": [ + { + "args": "(ImFontAtlas* self)", + "argsT": [ + { + "name": "self", + "type": "ImFontAtlas*" + } + ], + "argsoriginal": "()", + "call_args": "()", + "cimguiname": "ImFontAtlas_GetGlyphRangesVietnamese", + "defaults": [], + "funcname": "GetGlyphRangesVietnamese", + "ov_cimguiname": "ImFontAtlas_GetGlyphRangesVietnamese", + "ret": "const ImWchar*", + "signature": "()", + "stname": "ImFontAtlas" + } + ], "ImFontAtlas_GetMouseCursorTexData": [ { "args": "(ImFontAtlas* self,ImGuiMouseCursor cursor,ImVec2* out_offset,ImVec2* out_size,ImVec2 out_uv_border[2],ImVec2 out_uv_fill[2])", @@ -19442,6 +19462,22 @@ "stname": "" } ], + "igGetBackgroundDrawList": [ + { + "args": "()", + "argsT": [], + "argsoriginal": "()", + "call_args": "()", + "cimguiname": "igGetBackgroundDrawList", + "defaults": [], + "funcname": "GetBackgroundDrawList", + "namespace": "ImGui", + "ov_cimguiname": "igGetBackgroundDrawList", + "ret": "ImDrawList*", + "signature": "()", + "stname": "" + } + ], "igGetClipboardText": [ { "args": "()", @@ -20057,6 +20093,22 @@ "stname": "" } ], + "igGetForegroundDrawList": [ + { + "args": "()", + "argsT": [], + "argsoriginal": "()", + "call_args": "()", + "cimguiname": "igGetForegroundDrawList", + "defaults": [], + "funcname": "GetForegroundDrawList", + "namespace": "ImGui", + "ov_cimguiname": "igGetForegroundDrawList", + "ret": "ImDrawList*", + "signature": "()", + "stname": "" + } + ], "igGetFrameCount": [ { "args": "()", @@ -20598,22 +20650,6 @@ "stname": "" } ], - "igGetOverlayDrawList": [ - { - "args": "()", - "argsT": [], - "argsoriginal": "()", - "call_args": "()", - "cimguiname": "igGetOverlayDrawList", - "defaults": [], - "funcname": "GetOverlayDrawList", - "namespace": "ImGui", - "ov_cimguiname": "igGetOverlayDrawList", - "ret": "ImDrawList*", - "signature": "()", - "stname": "" - } - ], "igGetScrollMaxX": [ { "args": "()", @@ -21759,6 +21795,55 @@ "stname": "" } ], + "igInputTextWithHint": [ + { + "args": "(const char* label,const char* hint,char* buf,size_t buf_size,ImGuiInputTextFlags flags,ImGuiInputTextCallback callback,void* user_data)", + "argsT": [ + { + "name": "label", + "type": "const char*" + }, + { + "name": "hint", + "type": "const char*" + }, + { + "name": "buf", + "type": "char*" + }, + { + "name": "buf_size", + "type": "size_t" + }, + { + "name": "flags", + "type": "ImGuiInputTextFlags" + }, + { + "name": "callback", + "type": "ImGuiInputTextCallback" + }, + { + "name": "user_data", + "type": "void*" + } + ], + "argsoriginal": "(const char* label,const char* hint,char* buf,size_t buf_size,ImGuiInputTextFlags flags=0,ImGuiInputTextCallback callback=((void*)0),void* user_data=((void*)0))", + "call_args": "(label,hint,buf,buf_size,flags,callback,user_data)", + "cimguiname": "igInputTextWithHint", + "defaults": { + "callback": "((void*)0)", + "flags": "0", + "user_data": "((void*)0)" + }, + "funcname": "InputTextWithHint", + "namespace": "ImGui", + "ov_cimguiname": "igInputTextWithHint", + "ret": "bool", + "signature": "(const char*,const char*,char*,size_t,ImGuiInputTextFlags,ImGuiInputTextCallback,void*)", + "stname": "" + } + ], "igInvisibleButton": [ { "args": "(const char* str_id,const ImVec2 size)", @@ -22712,18 +22797,18 @@ ], "igLogToClipboard": [ { - "args": "(int max_depth)", + "args": "(int auto_open_depth)", "argsT": [ { - "name": "max_depth", + "name": "auto_open_depth", "type": "int" } ], - "argsoriginal": "(int max_depth=-1)", - "call_args": "(max_depth)", + "argsoriginal": "(int auto_open_depth=-1)", + "call_args": "(auto_open_depth)", "cimguiname": "igLogToClipboard", "defaults": { - "max_depth": "-1" + "auto_open_depth": "-1" }, "funcname": "LogToClipboard", "namespace": "ImGui", @@ -22735,10 +22820,10 @@ ], "igLogToFile": [ { - "args": "(int max_depth,const char* filename)", + "args": "(int auto_open_depth,const char* filename)", "argsT": [ { - "name": "max_depth", + "name": "auto_open_depth", "type": "int" }, { @@ -22746,12 +22831,12 @@ "type": "const char*" } ], - "argsoriginal": "(int max_depth=-1,const char* filename=((void*)0))", - "call_args": "(max_depth,filename)", + "argsoriginal": "(int auto_open_depth=-1,const char* filename=((void*)0))", + "call_args": "(auto_open_depth,filename)", "cimguiname": "igLogToFile", "defaults": { - "filename": "((void*)0)", - "max_depth": "-1" + "auto_open_depth": "-1", + "filename": "((void*)0)" }, "funcname": "LogToFile", "namespace": "ImGui", @@ -22763,18 +22848,18 @@ ], "igLogToTTY": [ { - "args": "(int max_depth)", + "args": "(int auto_open_depth)", "argsT": [ { - "name": "max_depth", + "name": "auto_open_depth", "type": "int" } ], - "argsoriginal": "(int max_depth=-1)", - "call_args": "(max_depth)", + "argsoriginal": "(int auto_open_depth=-1)", + "call_args": "(auto_open_depth)", "cimguiname": "igLogToTTY", "defaults": { - "max_depth": "-1" + "auto_open_depth": "-1" }, "funcname": "LogToTTY", "namespace": "ImGui", @@ -24219,7 +24304,7 @@ ], "igSetDragDropPayload": [ { - "args": "(const char* type,const void* data,size_t size,ImGuiCond cond)", + "args": "(const char* type,const void* data,size_t sz,ImGuiCond cond)", "argsT": [ { "name": "type", @@ -24230,7 +24315,7 @@ "type": "const void*" }, { - "name": "size", + "name": "sz", "type": "size_t" }, { @@ -24238,8 +24323,8 @@ "type": "ImGuiCond" } ], - "argsoriginal": "(const char* type,const void* data,size_t size,ImGuiCond cond=0)", - "call_args": "(type,data,size,cond)", + "argsoriginal": "(const char* type,const void* data,size_t sz,ImGuiCond cond=0)", + "call_args": "(type,data,sz,cond)", "cimguiname": "igSetDragDropPayload", "defaults": { "cond": "0" diff --git a/src/CodeGenerator/structs_and_enums.json b/src/CodeGenerator/structs_and_enums.json index 8385e3e..011c60e 100644 --- a/src/CodeGenerator/structs_and_enums.json +++ b/src/CodeGenerator/structs_and_enums.json @@ -423,17 +423,17 @@ }, { "calc_value": 1048576, - "name": "ImGuiColorEditFlags_RGB", + "name": "ImGuiColorEditFlags_DisplayRGB", "value": "1 << 20" }, { "calc_value": 2097152, - "name": "ImGuiColorEditFlags_HSV", + "name": "ImGuiColorEditFlags_DisplayHSV", "value": "1 << 21" }, { "calc_value": 4194304, - "name": "ImGuiColorEditFlags_HEX", + "name": "ImGuiColorEditFlags_DisplayHex", "value": "1 << 22" }, { @@ -456,10 +456,25 @@ "name": "ImGuiColorEditFlags_PickerHueWheel", "value": "1 << 26" }, + { + "calc_value": 134217728, + "name": "ImGuiColorEditFlags_InputRGB", + "value": "1 << 27" + }, + { + "calc_value": 268435456, + "name": "ImGuiColorEditFlags_InputHSV", + "value": "1 << 28" + }, + { + "calc_value": 177209344, + "name": "ImGuiColorEditFlags__OptionsDefault", + "value": "ImGuiColorEditFlags_Uint8|ImGuiColorEditFlags_DisplayRGB|ImGuiColorEditFlags_InputRGB|ImGuiColorEditFlags_PickerHueBar" + }, { "calc_value": 7340032, - "name": "ImGuiColorEditFlags__InputsMask", - "value": "ImGuiColorEditFlags_RGB|ImGuiColorEditFlags_HSV|ImGuiColorEditFlags_HEX" + "name": "ImGuiColorEditFlags__DisplayMask", + "value": "ImGuiColorEditFlags_DisplayRGB|ImGuiColorEditFlags_DisplayHSV|ImGuiColorEditFlags_DisplayHex" }, { "calc_value": 25165824, @@ -472,9 +487,9 @@ "value": "ImGuiColorEditFlags_PickerHueWheel|ImGuiColorEditFlags_PickerHueBar" }, { - "calc_value": 42991616, - "name": "ImGuiColorEditFlags__OptionsDefault", - "value": "ImGuiColorEditFlags_Uint8|ImGuiColorEditFlags_RGB|ImGuiColorEditFlags_PickerHueBar" + "calc_value": 402653184, + "name": "ImGuiColorEditFlags__InputMask", + "value": "ImGuiColorEditFlags_InputRGB|ImGuiColorEditFlags_InputHSV" } ], "ImGuiComboFlags_": [ @@ -596,38 +611,58 @@ "ImGuiDataType_": [ { "calc_value": 0, - "name": "ImGuiDataType_S32", + "name": "ImGuiDataType_S8", "value": 0 }, { "calc_value": 1, - "name": "ImGuiDataType_U32", + "name": "ImGuiDataType_U8", "value": 1 }, { "calc_value": 2, - "name": "ImGuiDataType_S64", + "name": "ImGuiDataType_S16", "value": 2 }, { "calc_value": 3, - "name": "ImGuiDataType_U64", + "name": "ImGuiDataType_U16", "value": 3 }, { "calc_value": 4, - "name": "ImGuiDataType_Float", + "name": "ImGuiDataType_S32", "value": 4 }, { "calc_value": 5, - "name": "ImGuiDataType_Double", + "name": "ImGuiDataType_U32", "value": 5 }, { "calc_value": 6, - "name": "ImGuiDataType_COUNT", + "name": "ImGuiDataType_S64", "value": 6 + }, + { + "calc_value": 7, + "name": "ImGuiDataType_U64", + "value": 7 + }, + { + "calc_value": 8, + "name": "ImGuiDataType_Float", + "value": 8 + }, + { + "calc_value": 9, + "name": "ImGuiDataType_Double", + "value": 9 + }, + { + "calc_value": 10, + "name": "ImGuiDataType_COUNT", + "value": 10 } ], "ImGuiDir_": [ @@ -1157,29 +1192,34 @@ }, { "calc_value": 17, - "name": "ImGuiNavInput_KeyLeft_", + "name": "ImGuiNavInput_KeyTab_", "value": 17 }, { "calc_value": 18, - "name": "ImGuiNavInput_KeyRight_", + "name": "ImGuiNavInput_KeyLeft_", "value": 18 }, { "calc_value": 19, - "name": "ImGuiNavInput_KeyUp_", + "name": "ImGuiNavInput_KeyRight_", "value": 19 }, { "calc_value": 20, - "name": "ImGuiNavInput_KeyDown_", + "name": "ImGuiNavInput_KeyUp_", "value": 20 }, { "calc_value": 21, - "name": "ImGuiNavInput_COUNT", + "name": "ImGuiNavInput_KeyDown_", "value": 21 }, + { + "calc_value": 22, + "name": "ImGuiNavInput_COUNT", + "value": 22 + }, { "calc_value": 16, "name": "ImGuiNavInput_InternalStart_", @@ -2277,7 +2317,7 @@ }, { "name": "NavInputs[ImGuiNavInput_COUNT]", - "size": 21, + "size": 22, "type": "float" }, { @@ -2402,12 +2442,12 @@ }, { "name": "NavInputsDownDuration[ImGuiNavInput_COUNT]", - "size": 21, + "size": 22, "type": "float" }, { "name": "NavInputsDownDurationPrev[ImGuiNavInput_COUNT]", - "size": 21, + "size": 22, "type": "float" }, { diff --git a/src/ImGui.NET/Generated/ImFontAtlas.gen.cs b/src/ImGui.NET/Generated/ImFontAtlas.gen.cs index 0d63eb3..d398228 100644 --- a/src/ImGui.NET/Generated/ImFontAtlas.gen.cs +++ b/src/ImGui.NET/Generated/ImFontAtlas.gen.cs @@ -382,6 +382,11 @@ namespace ImGuiNET ushort* ret = ImGuiNative.ImFontAtlas_GetGlyphRangesThai(NativePtr); return (IntPtr)ret; } + public IntPtr GetGlyphRangesVietnamese() + { + ushort* ret = ImGuiNative.ImFontAtlas_GetGlyphRangesVietnamese(NativePtr); + return (IntPtr)ret; + } public bool GetMouseCursorTexData(ImGuiMouseCursor cursor, out Vector2 out_offset, out Vector2 out_size, out Vector2 out_uv_border, out Vector2 out_uv_fill) { fixed (Vector2* native_out_offset = &out_offset) diff --git a/src/ImGui.NET/Generated/ImGui.gen.cs b/src/ImGui.NET/Generated/ImGui.gen.cs index 3c350ec..43eaf8a 100644 --- a/src/ImGui.NET/Generated/ImGui.gen.cs +++ b/src/ImGui.NET/Generated/ImGui.gen.cs @@ -5559,6 +5559,11 @@ namespace ImGuiNET { ImGuiNative.igEndTooltip(); } + public static ImDrawListPtr GetBackgroundDrawList() + { + ImDrawList* ret = ImGuiNative.igGetBackgroundDrawList(); + return new ImDrawListPtr(ret); + } public static string GetClipboardText() { byte* ret = ImGuiNative.igGetClipboardText(); @@ -5692,6 +5697,11 @@ namespace ImGuiNET Vector2 ret = ImGuiNative.igGetFontTexUvWhitePixel(); return ret; } + public static ImDrawListPtr GetForegroundDrawList() + { + ImDrawList* ret = ImGuiNative.igGetForegroundDrawList(); + return new ImDrawListPtr(ret); + } public static int GetFrameCount() { int ret = ImGuiNative.igGetFrameCount(); @@ -5803,11 +5813,6 @@ namespace ImGuiNET Vector2 ret = ImGuiNative.igGetMousePosOnOpeningCurrentPopup(); return ret; } - public static ImDrawListPtr GetOverlayDrawList() - { - ImDrawList* ret = ImGuiNative.igGetOverlayDrawList(); - return new ImDrawListPtr(ret); - } public static float GetScrollMaxX() { float ret = ImGuiNative.igGetScrollMaxX(); @@ -7680,6 +7685,297 @@ namespace ImGuiNET } return ret != 0; } + public static bool InputTextWithHint(string label, string hint, string buf, uint buf_size) + { + byte* native_label; + int label_byteCount = 0; + if (label != null) + { + label_byteCount = Encoding.UTF8.GetByteCount(label); + if (label_byteCount > Util.StackAllocationSizeLimit) + { + native_label = Util.Allocate(label_byteCount + 1); + } + else + { + byte* native_label_stackBytes = stackalloc byte[label_byteCount + 1]; + native_label = native_label_stackBytes; + } + int native_label_offset = Util.GetUtf8(label, native_label, label_byteCount); + native_label[native_label_offset] = 0; + } + else { native_label = null; } + byte* native_hint; + int hint_byteCount = 0; + if (hint != null) + { + hint_byteCount = Encoding.UTF8.GetByteCount(hint); + if (hint_byteCount > Util.StackAllocationSizeLimit) + { + native_hint = Util.Allocate(hint_byteCount + 1); + } + else + { + byte* native_hint_stackBytes = stackalloc byte[hint_byteCount + 1]; + native_hint = native_hint_stackBytes; + } + int native_hint_offset = Util.GetUtf8(hint, native_hint, hint_byteCount); + native_hint[native_hint_offset] = 0; + } + else { native_hint = null; } + byte* native_buf; + int buf_byteCount = 0; + if (buf != null) + { + buf_byteCount = Encoding.UTF8.GetByteCount(buf); + if (buf_byteCount > Util.StackAllocationSizeLimit) + { + native_buf = Util.Allocate(buf_byteCount + 1); + } + else + { + byte* native_buf_stackBytes = stackalloc byte[buf_byteCount + 1]; + native_buf = native_buf_stackBytes; + } + int native_buf_offset = Util.GetUtf8(buf, native_buf, buf_byteCount); + native_buf[native_buf_offset] = 0; + } + else { native_buf = null; } + ImGuiInputTextFlags flags = 0; + ImGuiInputTextCallback callback = null; + void* user_data = null; + byte ret = ImGuiNative.igInputTextWithHint(native_label, native_hint, native_buf, buf_size, flags, callback, user_data); + if (label_byteCount > Util.StackAllocationSizeLimit) + { + Util.Free(native_label); + } + if (hint_byteCount > Util.StackAllocationSizeLimit) + { + Util.Free(native_hint); + } + if (buf_byteCount > Util.StackAllocationSizeLimit) + { + Util.Free(native_buf); + } + return ret != 0; + } + public static bool InputTextWithHint(string label, string hint, string buf, uint buf_size, ImGuiInputTextFlags flags) + { + byte* native_label; + int label_byteCount = 0; + if (label != null) + { + label_byteCount = Encoding.UTF8.GetByteCount(label); + if (label_byteCount > Util.StackAllocationSizeLimit) + { + native_label = Util.Allocate(label_byteCount + 1); + } + else + { + byte* native_label_stackBytes = stackalloc byte[label_byteCount + 1]; + native_label = native_label_stackBytes; + } + int native_label_offset = Util.GetUtf8(label, native_label, label_byteCount); + native_label[native_label_offset] = 0; + } + else { native_label = null; } + byte* native_hint; + int hint_byteCount = 0; + if (hint != null) + { + hint_byteCount = Encoding.UTF8.GetByteCount(hint); + if (hint_byteCount > Util.StackAllocationSizeLimit) + { + native_hint = Util.Allocate(hint_byteCount + 1); + } + else + { + byte* native_hint_stackBytes = stackalloc byte[hint_byteCount + 1]; + native_hint = native_hint_stackBytes; + } + int native_hint_offset = Util.GetUtf8(hint, native_hint, hint_byteCount); + native_hint[native_hint_offset] = 0; + } + else { native_hint = null; } + byte* native_buf; + int buf_byteCount = 0; + if (buf != null) + { + buf_byteCount = Encoding.UTF8.GetByteCount(buf); + if (buf_byteCount > Util.StackAllocationSizeLimit) + { + native_buf = Util.Allocate(buf_byteCount + 1); + } + else + { + byte* native_buf_stackBytes = stackalloc byte[buf_byteCount + 1]; + native_buf = native_buf_stackBytes; + } + int native_buf_offset = Util.GetUtf8(buf, native_buf, buf_byteCount); + native_buf[native_buf_offset] = 0; + } + else { native_buf = null; } + ImGuiInputTextCallback callback = null; + void* user_data = null; + byte ret = ImGuiNative.igInputTextWithHint(native_label, native_hint, native_buf, buf_size, flags, callback, user_data); + if (label_byteCount > Util.StackAllocationSizeLimit) + { + Util.Free(native_label); + } + if (hint_byteCount > Util.StackAllocationSizeLimit) + { + Util.Free(native_hint); + } + if (buf_byteCount > Util.StackAllocationSizeLimit) + { + Util.Free(native_buf); + } + return ret != 0; + } + public static bool InputTextWithHint(string label, string hint, string buf, uint buf_size, ImGuiInputTextFlags flags, ImGuiInputTextCallback callback) + { + byte* native_label; + int label_byteCount = 0; + if (label != null) + { + label_byteCount = Encoding.UTF8.GetByteCount(label); + if (label_byteCount > Util.StackAllocationSizeLimit) + { + native_label = Util.Allocate(label_byteCount + 1); + } + else + { + byte* native_label_stackBytes = stackalloc byte[label_byteCount + 1]; + native_label = native_label_stackBytes; + } + int native_label_offset = Util.GetUtf8(label, native_label, label_byteCount); + native_label[native_label_offset] = 0; + } + else { native_label = null; } + byte* native_hint; + int hint_byteCount = 0; + if (hint != null) + { + hint_byteCount = Encoding.UTF8.GetByteCount(hint); + if (hint_byteCount > Util.StackAllocationSizeLimit) + { + native_hint = Util.Allocate(hint_byteCount + 1); + } + else + { + byte* native_hint_stackBytes = stackalloc byte[hint_byteCount + 1]; + native_hint = native_hint_stackBytes; + } + int native_hint_offset = Util.GetUtf8(hint, native_hint, hint_byteCount); + native_hint[native_hint_offset] = 0; + } + else { native_hint = null; } + byte* native_buf; + int buf_byteCount = 0; + if (buf != null) + { + buf_byteCount = Encoding.UTF8.GetByteCount(buf); + if (buf_byteCount > Util.StackAllocationSizeLimit) + { + native_buf = Util.Allocate(buf_byteCount + 1); + } + else + { + byte* native_buf_stackBytes = stackalloc byte[buf_byteCount + 1]; + native_buf = native_buf_stackBytes; + } + int native_buf_offset = Util.GetUtf8(buf, native_buf, buf_byteCount); + native_buf[native_buf_offset] = 0; + } + else { native_buf = null; } + void* user_data = null; + byte ret = ImGuiNative.igInputTextWithHint(native_label, native_hint, native_buf, buf_size, flags, callback, user_data); + if (label_byteCount > Util.StackAllocationSizeLimit) + { + Util.Free(native_label); + } + if (hint_byteCount > Util.StackAllocationSizeLimit) + { + Util.Free(native_hint); + } + if (buf_byteCount > Util.StackAllocationSizeLimit) + { + Util.Free(native_buf); + } + return ret != 0; + } + public static bool InputTextWithHint(string label, string hint, string buf, uint buf_size, ImGuiInputTextFlags flags, ImGuiInputTextCallback callback, IntPtr user_data) + { + byte* native_label; + int label_byteCount = 0; + if (label != null) + { + label_byteCount = Encoding.UTF8.GetByteCount(label); + if (label_byteCount > Util.StackAllocationSizeLimit) + { + native_label = Util.Allocate(label_byteCount + 1); + } + else + { + byte* native_label_stackBytes = stackalloc byte[label_byteCount + 1]; + native_label = native_label_stackBytes; + } + int native_label_offset = Util.GetUtf8(label, native_label, label_byteCount); + native_label[native_label_offset] = 0; + } + else { native_label = null; } + byte* native_hint; + int hint_byteCount = 0; + if (hint != null) + { + hint_byteCount = Encoding.UTF8.GetByteCount(hint); + if (hint_byteCount > Util.StackAllocationSizeLimit) + { + native_hint = Util.Allocate(hint_byteCount + 1); + } + else + { + byte* native_hint_stackBytes = stackalloc byte[hint_byteCount + 1]; + native_hint = native_hint_stackBytes; + } + int native_hint_offset = Util.GetUtf8(hint, native_hint, hint_byteCount); + native_hint[native_hint_offset] = 0; + } + else { native_hint = null; } + byte* native_buf; + int buf_byteCount = 0; + if (buf != null) + { + buf_byteCount = Encoding.UTF8.GetByteCount(buf); + if (buf_byteCount > Util.StackAllocationSizeLimit) + { + native_buf = Util.Allocate(buf_byteCount + 1); + } + else + { + byte* native_buf_stackBytes = stackalloc byte[buf_byteCount + 1]; + native_buf = native_buf_stackBytes; + } + int native_buf_offset = Util.GetUtf8(buf, native_buf, buf_byteCount); + native_buf[native_buf_offset] = 0; + } + else { native_buf = null; } + void* native_user_data = (void*)user_data.ToPointer(); + byte ret = ImGuiNative.igInputTextWithHint(native_label, native_hint, native_buf, buf_size, flags, callback, native_user_data); + if (label_byteCount > Util.StackAllocationSizeLimit) + { + Util.Free(native_label); + } + if (hint_byteCount > Util.StackAllocationSizeLimit) + { + Util.Free(native_hint); + } + if (buf_byteCount > Util.StackAllocationSizeLimit) + { + Util.Free(native_buf); + } + return ret != 0; + } public static bool InvisibleButton(string str_id, Vector2 size) { byte* native_str_id; @@ -8338,25 +8634,25 @@ namespace ImGuiNET } public static void LogToClipboard() { - int max_depth = -1; - ImGuiNative.igLogToClipboard(max_depth); + int auto_open_depth = -1; + ImGuiNative.igLogToClipboard(auto_open_depth); } - public static void LogToClipboard(int max_depth) + public static void LogToClipboard(int auto_open_depth) { - ImGuiNative.igLogToClipboard(max_depth); + ImGuiNative.igLogToClipboard(auto_open_depth); } public static void LogToFile() { - int max_depth = -1; + int auto_open_depth = -1; byte* native_filename = null; - ImGuiNative.igLogToFile(max_depth, native_filename); + ImGuiNative.igLogToFile(auto_open_depth, native_filename); } - public static void LogToFile(int max_depth) + public static void LogToFile(int auto_open_depth) { byte* native_filename = null; - ImGuiNative.igLogToFile(max_depth, native_filename); + ImGuiNative.igLogToFile(auto_open_depth, native_filename); } - public static void LogToFile(int max_depth, string filename) + public static void LogToFile(int auto_open_depth, string filename) { byte* native_filename; int filename_byteCount = 0; @@ -8376,7 +8672,7 @@ namespace ImGuiNET native_filename[native_filename_offset] = 0; } else { native_filename = null; } - ImGuiNative.igLogToFile(max_depth, native_filename); + ImGuiNative.igLogToFile(auto_open_depth, native_filename); if (filename_byteCount > Util.StackAllocationSizeLimit) { Util.Free(native_filename); @@ -8384,12 +8680,12 @@ namespace ImGuiNET } public static void LogToTTY() { - int max_depth = -1; - ImGuiNative.igLogToTTY(max_depth); + int auto_open_depth = -1; + ImGuiNative.igLogToTTY(auto_open_depth); } - public static void LogToTTY(int max_depth) + public static void LogToTTY(int auto_open_depth) { - ImGuiNative.igLogToTTY(max_depth); + ImGuiNative.igLogToTTY(auto_open_depth); } public static IntPtr MemAlloc(uint size) { @@ -10023,7 +10319,7 @@ namespace ImGuiNET { ImGuiNative.igSetCursorScreenPos(pos); } - public static bool SetDragDropPayload(string type, IntPtr data, uint size) + public static bool SetDragDropPayload(string type, IntPtr data, uint sz) { byte* native_type; int type_byteCount = 0; @@ -10045,14 +10341,14 @@ namespace ImGuiNET else { native_type = null; } void* native_data = (void*)data.ToPointer(); ImGuiCond cond = 0; - byte ret = ImGuiNative.igSetDragDropPayload(native_type, native_data, size, cond); + byte ret = ImGuiNative.igSetDragDropPayload(native_type, native_data, sz, cond); if (type_byteCount > Util.StackAllocationSizeLimit) { Util.Free(native_type); } return ret != 0; } - public static bool SetDragDropPayload(string type, IntPtr data, uint size, ImGuiCond cond) + public static bool SetDragDropPayload(string type, IntPtr data, uint sz, ImGuiCond cond) { byte* native_type; int type_byteCount = 0; @@ -10073,7 +10369,7 @@ namespace ImGuiNET } else { native_type = null; } void* native_data = (void*)data.ToPointer(); - byte ret = ImGuiNative.igSetDragDropPayload(native_type, native_data, size, cond); + byte ret = ImGuiNative.igSetDragDropPayload(native_type, native_data, sz, cond); if (type_byteCount > Util.StackAllocationSizeLimit) { Util.Free(native_type); diff --git a/src/ImGui.NET/Generated/ImGuiColorEditFlags.gen.cs b/src/ImGui.NET/Generated/ImGuiColorEditFlags.gen.cs index f87d6ea..a12d955 100644 --- a/src/ImGui.NET/Generated/ImGuiColorEditFlags.gen.cs +++ b/src/ImGui.NET/Generated/ImGuiColorEditFlags.gen.cs @@ -17,16 +17,19 @@ namespace ImGuiNET AlphaPreview = 1 << 17, AlphaPreviewHalf = 1 << 18, HDR = 1 << 19, - RGB = 1 << 20, - HSV = 1 << 21, - HEX = 1 << 22, + DisplayRGB = 1 << 20, + DisplayHSV = 1 << 21, + DisplayHex = 1 << 22, Uint8 = 1 << 23, Float = 1 << 24, PickerHueBar = 1 << 25, PickerHueWheel = 1 << 26, - _InputsMask = RGB|HSV|HEX, + InputRGB = 1 << 27, + InputHSV = 1 << 28, + _OptionsDefault = Uint8|DisplayRGB|InputRGB|PickerHueBar, + _DisplayMask = DisplayRGB|DisplayHSV|DisplayHex, _DataTypeMask = Uint8|Float, _PickerMask = PickerHueWheel|PickerHueBar, - _OptionsDefault = Uint8|RGB|PickerHueBar, + _InputMask = InputRGB|InputHSV, } } diff --git a/src/ImGui.NET/Generated/ImGuiDataType.gen.cs b/src/ImGui.NET/Generated/ImGuiDataType.gen.cs index 57eb378..3e1f232 100644 --- a/src/ImGui.NET/Generated/ImGuiDataType.gen.cs +++ b/src/ImGui.NET/Generated/ImGuiDataType.gen.cs @@ -2,12 +2,16 @@ namespace ImGuiNET { public enum ImGuiDataType { - S32 = 0, - U32 = 1, - S64 = 2, - U64 = 3, - Float = 4, - Double = 5, - COUNT = 6, + S8 = 0, + U8 = 1, + S16 = 2, + U16 = 3, + S32 = 4, + U32 = 5, + S64 = 6, + U64 = 7, + Float = 8, + Double = 9, + COUNT = 10, } } diff --git a/src/ImGui.NET/Generated/ImGuiIO.gen.cs b/src/ImGui.NET/Generated/ImGuiIO.gen.cs index 4f68b2c..c7fcb9e 100644 --- a/src/ImGui.NET/Generated/ImGuiIO.gen.cs +++ b/src/ImGui.NET/Generated/ImGuiIO.gen.cs @@ -51,7 +51,7 @@ namespace ImGuiNET public byte KeyAlt; public byte KeySuper; public fixed byte KeysDown[512]; - public fixed float NavInputs[21]; + public fixed float NavInputs[22]; public byte WantCaptureMouse; public byte WantCaptureKeyboard; public byte WantTextInput; @@ -87,8 +87,8 @@ namespace ImGuiNET public fixed float MouseDragMaxDistanceSqr[5]; public fixed float KeysDownDuration[512]; public fixed float KeysDownDurationPrev[512]; - public fixed float NavInputsDownDuration[21]; - public fixed float NavInputsDownDurationPrev[21]; + public fixed float NavInputsDownDuration[22]; + public fixed float NavInputsDownDurationPrev[22]; public ImVector InputQueueCharacters; } public unsafe partial struct ImGuiIOPtr @@ -143,7 +143,7 @@ namespace ImGuiNET public ref bool KeyAlt => ref Unsafe.AsRef(&NativePtr->KeyAlt); public ref bool KeySuper => ref Unsafe.AsRef(&NativePtr->KeySuper); public RangeAccessor KeysDown => new RangeAccessor(NativePtr->KeysDown, 512); - public RangeAccessor NavInputs => new RangeAccessor(NativePtr->NavInputs, 21); + public RangeAccessor NavInputs => new RangeAccessor(NativePtr->NavInputs, 22); public ref bool WantCaptureMouse => ref Unsafe.AsRef(&NativePtr->WantCaptureMouse); public ref bool WantCaptureKeyboard => ref Unsafe.AsRef(&NativePtr->WantCaptureKeyboard); public ref bool WantTextInput => ref Unsafe.AsRef(&NativePtr->WantTextInput); @@ -171,8 +171,8 @@ namespace ImGuiNET public RangeAccessor MouseDragMaxDistanceSqr => new RangeAccessor(NativePtr->MouseDragMaxDistanceSqr, 5); public RangeAccessor KeysDownDuration => new RangeAccessor(NativePtr->KeysDownDuration, 512); public RangeAccessor KeysDownDurationPrev => new RangeAccessor(NativePtr->KeysDownDurationPrev, 512); - public RangeAccessor NavInputsDownDuration => new RangeAccessor(NativePtr->NavInputsDownDuration, 21); - public RangeAccessor NavInputsDownDurationPrev => new RangeAccessor(NativePtr->NavInputsDownDurationPrev, 21); + public RangeAccessor NavInputsDownDuration => new RangeAccessor(NativePtr->NavInputsDownDuration, 22); + public RangeAccessor NavInputsDownDurationPrev => new RangeAccessor(NativePtr->NavInputsDownDurationPrev, 22); public ImVector InputQueueCharacters => new ImVector(NativePtr->InputQueueCharacters); public void AddInputCharacter(ushort c) { diff --git a/src/ImGui.NET/Generated/ImGuiNative.gen.cs b/src/ImGui.NET/Generated/ImGuiNative.gen.cs index 3e42d52..4451b79 100644 --- a/src/ImGui.NET/Generated/ImGuiNative.gen.cs +++ b/src/ImGui.NET/Generated/ImGuiNative.gen.cs @@ -169,6 +169,8 @@ namespace ImGuiNET [DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)] public static extern void igEndTooltip(); [DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)] + public static extern ImDrawList* igGetBackgroundDrawList(); + [DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)] public static extern byte* igGetClipboardText(); [DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)] public static extern uint igGetColorU32(ImGuiCol idx, float alpha_mul); @@ -215,6 +217,8 @@ namespace ImGuiNET [DllImport("cimgui", CallingConvention = CallingConvention.Cdecl, EntryPoint = "igGetFontTexUvWhitePixel_nonUDT2")] public static extern Vector2 igGetFontTexUvWhitePixel(); [DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)] + public static extern ImDrawList* igGetForegroundDrawList(); + [DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)] public static extern int igGetFrameCount(); [DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)] public static extern float igGetFrameHeight(); @@ -247,8 +251,6 @@ namespace ImGuiNET [DllImport("cimgui", CallingConvention = CallingConvention.Cdecl, EntryPoint = "igGetMousePosOnOpeningCurrentPopup_nonUDT2")] public static extern Vector2 igGetMousePosOnOpeningCurrentPopup(); [DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)] - public static extern ImDrawList* igGetOverlayDrawList(); - [DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)] public static extern float igGetScrollMaxX(); [DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)] public static extern float igGetScrollMaxY(); @@ -323,6 +325,8 @@ namespace ImGuiNET [DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)] public static extern byte igInputTextMultiline(byte* label, byte* buf, uint buf_size, Vector2 size, ImGuiInputTextFlags flags, ImGuiInputTextCallback callback, void* user_data); [DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)] + public static extern byte igInputTextWithHint(byte* label, byte* hint, byte* buf, uint buf_size, ImGuiInputTextFlags flags, ImGuiInputTextCallback callback, void* user_data); + [DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)] public static extern byte igInvisibleButton(byte* str_id, Vector2 size); [DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)] public static extern byte igIsAnyItemActive(); @@ -405,11 +409,11 @@ namespace ImGuiNET [DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)] public static extern void igLogText(byte* fmt); [DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)] - public static extern void igLogToClipboard(int max_depth); + public static extern void igLogToClipboard(int auto_open_depth); [DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)] - public static extern void igLogToFile(int max_depth, byte* filename); + public static extern void igLogToFile(int auto_open_depth, byte* filename); [DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)] - public static extern void igLogToTTY(int max_depth); + public static extern void igLogToTTY(int auto_open_depth); [DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)] public static extern void* igMemAlloc(uint size); [DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)] @@ -519,7 +523,7 @@ namespace ImGuiNET [DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)] public static extern void igSetCursorScreenPos(Vector2 pos); [DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)] - public static extern byte igSetDragDropPayload(byte* type, void* data, uint size, ImGuiCond cond); + public static extern byte igSetDragDropPayload(byte* type, void* data, uint sz, ImGuiCond cond); [DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)] public static extern void igSetItemAllowOverlap(); [DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)] @@ -885,6 +889,8 @@ namespace ImGuiNET [DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)] public static extern ushort* ImFontAtlas_GetGlyphRangesThai(ImFontAtlas* self); [DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)] + public static extern ushort* ImFontAtlas_GetGlyphRangesVietnamese(ImFontAtlas* self); + [DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)] public static extern byte ImFontAtlas_GetMouseCursorTexData(ImFontAtlas* self, ImGuiMouseCursor cursor, Vector2* out_offset, Vector2* out_size, Vector2* out_uv_border, Vector2* out_uv_fill); [DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)] public static extern void ImFontAtlas_GetTexDataAsAlpha8(ImFontAtlas* self, byte** out_pixels, int* out_width, int* out_height, int* out_bytes_per_pixel); diff --git a/src/ImGui.NET/Generated/ImGuiNavInput.gen.cs b/src/ImGui.NET/Generated/ImGuiNavInput.gen.cs index 0400d81..4cde996 100644 --- a/src/ImGui.NET/Generated/ImGuiNavInput.gen.cs +++ b/src/ImGui.NET/Generated/ImGuiNavInput.gen.cs @@ -19,11 +19,12 @@ namespace ImGuiNET TweakSlow = 14, TweakFast = 15, KeyMenu = 16, - KeyLeft = 17, - KeyRight = 18, - KeyUp = 19, - KeyDown = 20, - COUNT = 21, + KeyTab = 17, + KeyLeft = 18, + KeyRight = 19, + KeyUp = 20, + KeyDown = 21, + COUNT = 22, InternalStart = KeyMenu, } } diff --git a/src/ImGui.NET/ImGui.NET.csproj b/src/ImGui.NET/ImGui.NET.csproj index 14c897e..c79ef82 100644 --- a/src/ImGui.NET/ImGui.NET.csproj +++ b/src/ImGui.NET/ImGui.NET.csproj @@ -1,7 +1,7 @@  A .NET wrapper for the Dear ImGui library. - 1.68.0 + 1.69.0 Eric Mellino netstandard2.0 true