// ------------------------------------------------------------------------------ // // This code was generated by a tool. // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // // ------------------------------------------------------------------------------ using System; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using HexaGen.Runtime; using System.Numerics; namespace Dalamud.Bindings.ImGui { public unsafe partial class ImGuiP { /// /// To be documented. /// public static bool ButtonEx(ReadOnlySpan label) { fixed (byte* plabel = label) { byte ret = ButtonExNative((byte*)plabel, (Vector2)(new Vector2(0,0)), (ImGuiButtonFlags)(0)); return ret != 0; } } /// /// To be documented. /// public static bool ButtonEx(ReadOnlySpan label, ImGuiButtonFlags flags) { fixed (byte* plabel = label) { byte ret = ButtonExNative((byte*)plabel, (Vector2)(new Vector2(0,0)), flags); return ret != 0; } } /// /// To be documented. /// public static bool ButtonEx(string label, Vector2 sizeArg, ImGuiButtonFlags flags) { byte* pStr0 = null; int pStrSize0 = 0; if (label != null) { pStrSize0 = Utils.GetByteCountUTF8(label); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(label, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = ButtonExNative(pStr0, sizeArg, flags); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } /// /// To be documented. /// public static bool ButtonEx(string label, Vector2 sizeArg) { byte* pStr0 = null; int pStrSize0 = 0; if (label != null) { pStrSize0 = Utils.GetByteCountUTF8(label); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(label, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = ButtonExNative(pStr0, sizeArg, (ImGuiButtonFlags)(0)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } /// /// To be documented. /// public static bool ButtonEx(string label) { byte* pStr0 = null; int pStrSize0 = 0; if (label != null) { pStrSize0 = Utils.GetByteCountUTF8(label); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(label, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = ButtonExNative(pStr0, (Vector2)(new Vector2(0,0)), (ImGuiButtonFlags)(0)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } /// /// To be documented. /// public static bool ButtonEx(string label, ImGuiButtonFlags flags) { byte* pStr0 = null; int pStrSize0 = 0; if (label != null) { pStrSize0 = Utils.GetByteCountUTF8(label); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(label, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = ButtonExNative(pStr0, (Vector2)(new Vector2(0,0)), flags); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } /// /// To be documented. /// [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static byte CloseButtonNative(uint id, Vector2 pos) { #if NET5_0_OR_GREATER return ((delegate* unmanaged[Cdecl])funcTable[1195])(id, pos); #else return (byte)((delegate* unmanaged[Cdecl])funcTable[1195])(id, pos); #endif } /// /// To be documented. /// public static bool CloseButton(uint id, Vector2 pos) { byte ret = CloseButtonNative(id, pos); return ret != 0; } /// /// To be documented. /// [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static byte CollapseButtonNative(uint id, Vector2 pos, ImGuiDockNode* dockNode) { #if NET5_0_OR_GREATER return ((delegate* unmanaged[Cdecl])funcTable[1196])(id, pos, dockNode); #else return (byte)((delegate* unmanaged[Cdecl])funcTable[1196])(id, pos, (nint)dockNode); #endif } /// /// To be documented. /// public static bool CollapseButton(uint id, Vector2 pos, ImGuiDockNodePtr dockNode) { byte ret = CollapseButtonNative(id, pos, dockNode); return ret != 0; } /// /// To be documented. /// public static bool CollapseButton(uint id, Vector2 pos, ref ImGuiDockNode dockNode) { fixed (ImGuiDockNode* pdockNode = &dockNode) { byte ret = CollapseButtonNative(id, pos, (ImGuiDockNode*)pdockNode); return ret != 0; } } /// /// To be documented. /// [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static byte ArrowButtonExNative(byte* strId, ImGuiDir dir, Vector2 sizeArg, ImGuiButtonFlags flags) { #if NET5_0_OR_GREATER return ((delegate* unmanaged[Cdecl])funcTable[1197])(strId, dir, sizeArg, flags); #else return (byte)((delegate* unmanaged[Cdecl])funcTable[1197])((nint)strId, dir, sizeArg, flags); #endif } /// /// To be documented. /// public static bool ArrowButtonEx(byte* strId, ImGuiDir dir, Vector2 sizeArg, ImGuiButtonFlags flags) { byte ret = ArrowButtonExNative(strId, dir, sizeArg, flags); return ret != 0; } /// /// To be documented. /// public static bool ArrowButtonEx(byte* strId, ImGuiDir dir, Vector2 sizeArg) { byte ret = ArrowButtonExNative(strId, dir, sizeArg, (ImGuiButtonFlags)(0)); return ret != 0; } /// /// To be documented. /// public static bool ArrowButtonEx(ref byte strId, ImGuiDir dir, Vector2 sizeArg, ImGuiButtonFlags flags) { fixed (byte* pstrId = &strId) { byte ret = ArrowButtonExNative((byte*)pstrId, dir, sizeArg, flags); return ret != 0; } } /// /// To be documented. /// public static bool ArrowButtonEx(ref byte strId, ImGuiDir dir, Vector2 sizeArg) { fixed (byte* pstrId = &strId) { byte ret = ArrowButtonExNative((byte*)pstrId, dir, sizeArg, (ImGuiButtonFlags)(0)); return ret != 0; } } /// /// To be documented. /// public static bool ArrowButtonEx(ReadOnlySpan strId, ImGuiDir dir, Vector2 sizeArg, ImGuiButtonFlags flags) { fixed (byte* pstrId = strId) { byte ret = ArrowButtonExNative((byte*)pstrId, dir, sizeArg, flags); return ret != 0; } } /// /// To be documented. /// public static bool ArrowButtonEx(ReadOnlySpan strId, ImGuiDir dir, Vector2 sizeArg) { fixed (byte* pstrId = strId) { byte ret = ArrowButtonExNative((byte*)pstrId, dir, sizeArg, (ImGuiButtonFlags)(0)); return ret != 0; } } /// /// To be documented. /// public static bool ArrowButtonEx(string strId, ImGuiDir dir, Vector2 sizeArg, ImGuiButtonFlags flags) { byte* pStr0 = null; int pStrSize0 = 0; if (strId != null) { pStrSize0 = Utils.GetByteCountUTF8(strId); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(strId, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = ArrowButtonExNative(pStr0, dir, sizeArg, flags); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } /// /// To be documented. /// public static bool ArrowButtonEx(string strId, ImGuiDir dir, Vector2 sizeArg) { byte* pStr0 = null; int pStrSize0 = 0; if (strId != null) { pStrSize0 = Utils.GetByteCountUTF8(strId); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(strId, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = ArrowButtonExNative(pStr0, dir, sizeArg, (ImGuiButtonFlags)(0)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } /// /// To be documented. /// [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static void ScrollbarNative(ImGuiAxis axis) { #if NET5_0_OR_GREATER ((delegate* unmanaged[Cdecl])funcTable[1198])(axis); #else ((delegate* unmanaged[Cdecl])funcTable[1198])(axis); #endif } /// /// To be documented. /// public static void Scrollbar(ImGuiAxis axis) { ScrollbarNative(axis); } /// /// To be documented. /// [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static byte ScrollbarExNative(ImRect bb, uint id, ImGuiAxis axis, long* pScrollV, long availV, long contentsV, ImDrawFlags flags) { #if NET5_0_OR_GREATER return ((delegate* unmanaged[Cdecl])funcTable[1199])(bb, id, axis, pScrollV, availV, contentsV, flags); #else return (byte)((delegate* unmanaged[Cdecl])funcTable[1199])(bb, id, axis, (nint)pScrollV, availV, contentsV, flags); #endif } /// /// To be documented. /// public static bool ScrollbarEx(ImRect bb, uint id, ImGuiAxis axis, long* pScrollV, long availV, long contentsV, ImDrawFlags flags) { byte ret = ScrollbarExNative(bb, id, axis, pScrollV, availV, contentsV, flags); return ret != 0; } /// /// To be documented. /// [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static byte ImageButtonExNative(uint id, ImTextureID textureId, Vector2 size, Vector2 uv0, Vector2 uv1, Vector2 padding, Vector4 bgCol, Vector4 tintCol) { #if NET5_0_OR_GREATER return ((delegate* unmanaged[Cdecl])funcTable[1200])(id, textureId, size, uv0, uv1, padding, bgCol, tintCol); #else return (byte)((delegate* unmanaged[Cdecl])funcTable[1200])(id, textureId, size, uv0, uv1, padding, bgCol, tintCol); #endif } /// /// To be documented. /// public static bool ImageButtonEx(uint id, ImTextureID textureId, Vector2 size, Vector2 uv0, Vector2 uv1, Vector2 padding, Vector4 bgCol, Vector4 tintCol) { byte ret = ImageButtonExNative(id, textureId, size, uv0, uv1, padding, bgCol, tintCol); return ret != 0; } /// /// To be documented. /// [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static void GetWindowScrollbarRectNative(ImRect* pOut, ImGuiWindow* window, ImGuiAxis axis) { #if NET5_0_OR_GREATER ((delegate* unmanaged[Cdecl])funcTable[1201])(pOut, window, axis); #else ((delegate* unmanaged[Cdecl])funcTable[1201])((nint)pOut, (nint)window, axis); #endif } /// /// To be documented. /// public static ImRect GetWindowScrollbarRect(ImGuiWindowPtr window, ImGuiAxis axis) { ImRect ret; GetWindowScrollbarRectNative(&ret, window, axis); return ret; } /// /// To be documented. /// public static void GetWindowScrollbarRect(ImRectPtr pOut, ImGuiWindowPtr window, ImGuiAxis axis) { GetWindowScrollbarRectNative(pOut, window, axis); } /// /// To be documented. /// public static void GetWindowScrollbarRect(ref ImRect pOut, ImGuiWindowPtr window, ImGuiAxis axis) { fixed (ImRect* ppOut = &pOut) { GetWindowScrollbarRectNative((ImRect*)ppOut, window, axis); } } /// /// To be documented. /// public static ImRect GetWindowScrollbarRect(ref ImGuiWindow window, ImGuiAxis axis) { fixed (ImGuiWindow* pwindow = &window) { ImRect ret; GetWindowScrollbarRectNative(&ret, (ImGuiWindow*)pwindow, axis); return ret; } } /// /// To be documented. /// public static void GetWindowScrollbarRect(ImRectPtr pOut, ref ImGuiWindow window, ImGuiAxis axis) { fixed (ImGuiWindow* pwindow = &window) { GetWindowScrollbarRectNative(pOut, (ImGuiWindow*)pwindow, axis); } } /// /// To be documented. /// public static void GetWindowScrollbarRect(ref ImRect pOut, ref ImGuiWindow window, ImGuiAxis axis) { fixed (ImRect* ppOut = &pOut) { fixed (ImGuiWindow* pwindow = &window) { GetWindowScrollbarRectNative((ImRect*)ppOut, (ImGuiWindow*)pwindow, axis); } } } /// /// To be documented. /// [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static uint GetWindowScrollbarIDNative(ImGuiWindow* window, ImGuiAxis axis) { #if NET5_0_OR_GREATER return ((delegate* unmanaged[Cdecl])funcTable[1202])(window, axis); #else return (uint)((delegate* unmanaged[Cdecl])funcTable[1202])((nint)window, axis); #endif } /// /// To be documented. /// public static uint GetWindowScrollbarID(ImGuiWindowPtr window, ImGuiAxis axis) { uint ret = GetWindowScrollbarIDNative(window, axis); return ret; } /// /// To be documented. /// public static uint GetWindowScrollbarID(ref ImGuiWindow window, ImGuiAxis axis) { fixed (ImGuiWindow* pwindow = &window) { uint ret = GetWindowScrollbarIDNative((ImGuiWindow*)pwindow, axis); return ret; } } /// /// To be documented. /// [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static uint GetWindowResizeCornerIDNative(ImGuiWindow* window, int n) { #if NET5_0_OR_GREATER return ((delegate* unmanaged[Cdecl])funcTable[1203])(window, n); #else return (uint)((delegate* unmanaged[Cdecl])funcTable[1203])((nint)window, n); #endif } /// /// To be documented. /// public static uint GetWindowResizeCornerID(ImGuiWindowPtr window, int n) { uint ret = GetWindowResizeCornerIDNative(window, n); return ret; } /// /// To be documented. /// public static uint GetWindowResizeCornerID(ref ImGuiWindow window, int n) { fixed (ImGuiWindow* pwindow = &window) { uint ret = GetWindowResizeCornerIDNative((ImGuiWindow*)pwindow, n); return ret; } } /// /// To be documented. /// [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static uint GetWindowResizeBorderIDNative(ImGuiWindow* window, ImGuiDir dir) { #if NET5_0_OR_GREATER return ((delegate* unmanaged[Cdecl])funcTable[1204])(window, dir); #else return (uint)((delegate* unmanaged[Cdecl])funcTable[1204])((nint)window, dir); #endif } /// /// To be documented. /// public static uint GetWindowResizeBorderID(ImGuiWindowPtr window, ImGuiDir dir) { uint ret = GetWindowResizeBorderIDNative(window, dir); return ret; } /// /// To be documented. /// public static uint GetWindowResizeBorderID(ref ImGuiWindow window, ImGuiDir dir) { fixed (ImGuiWindow* pwindow = &window) { uint ret = GetWindowResizeBorderIDNative((ImGuiWindow*)pwindow, dir); return ret; } } /// /// To be documented. /// [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static void SeparatorExNative(ImGuiSeparatorFlags flags) { #if NET5_0_OR_GREATER ((delegate* unmanaged[Cdecl])funcTable[1205])(flags); #else ((delegate* unmanaged[Cdecl])funcTable[1205])(flags); #endif } /// /// To be documented. /// public static void SeparatorEx(ImGuiSeparatorFlags flags) { SeparatorExNative(flags); } /// /// To be documented. /// [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static byte CheckboxFlagsNative(byte* label, long* flags, long flagsValue) { #if NET5_0_OR_GREATER return ((delegate* unmanaged[Cdecl])funcTable[1206])(label, flags, flagsValue); #else return (byte)((delegate* unmanaged[Cdecl])funcTable[1206])((nint)label, (nint)flags, flagsValue); #endif } /// /// To be documented. /// public static bool CheckboxFlags(byte* label, long* flags, long flagsValue) { byte ret = CheckboxFlagsNative(label, flags, flagsValue); return ret != 0; } /// /// To be documented. /// public static bool CheckboxFlags(ref byte label, long* flags, long flagsValue) { fixed (byte* plabel = &label) { byte ret = CheckboxFlagsNative((byte*)plabel, flags, flagsValue); return ret != 0; } } /// /// To be documented. /// public static bool CheckboxFlags(ReadOnlySpan label, long* flags, long flagsValue) { fixed (byte* plabel = label) { byte ret = CheckboxFlagsNative((byte*)plabel, flags, flagsValue); return ret != 0; } } /// /// To be documented. /// public static bool CheckboxFlags(string label, long* flags, long flagsValue) { byte* pStr0 = null; int pStrSize0 = 0; if (label != null) { pStrSize0 = Utils.GetByteCountUTF8(label); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(label, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = CheckboxFlagsNative(pStr0, flags, flagsValue); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } /// /// To be documented. /// [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static byte CheckboxFlagsNative(byte* label, ulong* flags, ulong flagsValue) { #if NET5_0_OR_GREATER return ((delegate* unmanaged[Cdecl])funcTable[1207])(label, flags, flagsValue); #else return (byte)((delegate* unmanaged[Cdecl])funcTable[1207])((nint)label, (nint)flags, flagsValue); #endif } /// /// To be documented. /// public static bool CheckboxFlags(byte* label, ulong* flags, ulong flagsValue) { byte ret = CheckboxFlagsNative(label, flags, flagsValue); return ret != 0; } /// /// To be documented. /// public static bool CheckboxFlags(ref byte label, ulong* flags, ulong flagsValue) { fixed (byte* plabel = &label) { byte ret = CheckboxFlagsNative((byte*)plabel, flags, flagsValue); return ret != 0; } } /// /// To be documented. /// public static bool CheckboxFlags(ReadOnlySpan label, ulong* flags, ulong flagsValue) { fixed (byte* plabel = label) { byte ret = CheckboxFlagsNative((byte*)plabel, flags, flagsValue); return ret != 0; } } /// /// To be documented. /// public static bool CheckboxFlags(string label, ulong* flags, ulong flagsValue) { byte* pStr0 = null; int pStrSize0 = 0; if (label != null) { pStrSize0 = Utils.GetByteCountUTF8(label); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(label, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = CheckboxFlagsNative(pStr0, flags, flagsValue); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } /// /// To be documented. /// [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static byte ButtonBehaviorNative(ImRect bb, uint id, bool* outHovered, bool* outHeld, ImGuiButtonFlags flags) { #if NET5_0_OR_GREATER return ((delegate* unmanaged[Cdecl])funcTable[1208])(bb, id, outHovered, outHeld, flags); #else return (byte)((delegate* unmanaged[Cdecl])funcTable[1208])(bb, id, (nint)outHovered, (nint)outHeld, flags); #endif } /// /// To be documented. /// public static bool ButtonBehavior(ImRect bb, uint id, bool* outHovered, bool* outHeld, ImGuiButtonFlags flags) { byte ret = ButtonBehaviorNative(bb, id, outHovered, outHeld, flags); return ret != 0; } /// /// To be documented. /// public static bool ButtonBehavior(ImRect bb, uint id, bool* outHovered, bool* outHeld) { byte ret = ButtonBehaviorNative(bb, id, outHovered, outHeld, (ImGuiButtonFlags)(0)); return ret != 0; } /// /// To be documented. /// public static bool ButtonBehavior(ImRect bb, uint id, ref bool outHovered, bool* outHeld, ImGuiButtonFlags flags) { fixed (bool* poutHovered = &outHovered) { byte ret = ButtonBehaviorNative(bb, id, (bool*)poutHovered, outHeld, flags); return ret != 0; } } /// /// To be documented. /// public static bool ButtonBehavior(ImRect bb, uint id, ref bool outHovered, bool* outHeld) { fixed (bool* poutHovered = &outHovered) { byte ret = ButtonBehaviorNative(bb, id, (bool*)poutHovered, outHeld, (ImGuiButtonFlags)(0)); return ret != 0; } } /// /// To be documented. /// public static bool ButtonBehavior(ImRect bb, uint id, bool* outHovered, ref bool outHeld, ImGuiButtonFlags flags) { fixed (bool* poutHeld = &outHeld) { byte ret = ButtonBehaviorNative(bb, id, outHovered, (bool*)poutHeld, flags); return ret != 0; } } /// /// To be documented. /// public static bool ButtonBehavior(ImRect bb, uint id, bool* outHovered, ref bool outHeld) { fixed (bool* poutHeld = &outHeld) { byte ret = ButtonBehaviorNative(bb, id, outHovered, (bool*)poutHeld, (ImGuiButtonFlags)(0)); return ret != 0; } } /// /// To be documented. /// public static bool ButtonBehavior(ImRect bb, uint id, ref bool outHovered, ref bool outHeld, ImGuiButtonFlags flags) { fixed (bool* poutHovered = &outHovered) { fixed (bool* poutHeld = &outHeld) { byte ret = ButtonBehaviorNative(bb, id, (bool*)poutHovered, (bool*)poutHeld, flags); return ret != 0; } } } /// /// To be documented. /// public static bool ButtonBehavior(ImRect bb, uint id, ref bool outHovered, ref bool outHeld) { fixed (bool* poutHovered = &outHovered) { fixed (bool* poutHeld = &outHeld) { byte ret = ButtonBehaviorNative(bb, id, (bool*)poutHovered, (bool*)poutHeld, (ImGuiButtonFlags)(0)); return ret != 0; } } } /// /// To be documented. /// [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static byte DragBehaviorNative(uint id, ImGuiDataType dataType, void* pV, float vSpeed, void* pMin, void* pMax, byte* format, ImGuiSliderFlags flags) { #if NET5_0_OR_GREATER return ((delegate* unmanaged[Cdecl])funcTable[1209])(id, dataType, pV, vSpeed, pMin, pMax, format, flags); #else return (byte)((delegate* unmanaged[Cdecl])funcTable[1209])(id, dataType, (nint)pV, vSpeed, (nint)pMin, (nint)pMax, (nint)format, flags); #endif } /// /// To be documented. /// public static bool DragBehavior(uint id, ImGuiDataType dataType, void* pV, float vSpeed, void* pMin, void* pMax, byte* format, ImGuiSliderFlags flags) { byte ret = DragBehaviorNative(id, dataType, pV, vSpeed, pMin, pMax, format, flags); return ret != 0; } /// /// To be documented. /// public static bool DragBehavior(uint id, ImGuiDataType dataType, void* pV, float vSpeed, void* pMin, void* pMax, ref byte format, ImGuiSliderFlags flags) { fixed (byte* pformat = &format) { byte ret = DragBehaviorNative(id, dataType, pV, vSpeed, pMin, pMax, (byte*)pformat, flags); return ret != 0; } } /// /// To be documented. /// public static bool DragBehavior(uint id, ImGuiDataType dataType, void* pV, float vSpeed, void* pMin, void* pMax, ReadOnlySpan format, ImGuiSliderFlags flags) { fixed (byte* pformat = format) { byte ret = DragBehaviorNative(id, dataType, pV, vSpeed, pMin, pMax, (byte*)pformat, flags); return ret != 0; } } /// /// To be documented. /// public static bool DragBehavior(uint id, ImGuiDataType dataType, void* pV, float vSpeed, void* pMin, void* pMax, string format, ImGuiSliderFlags flags) { byte* pStr0 = null; int pStrSize0 = 0; if (format != null) { pStrSize0 = Utils.GetByteCountUTF8(format); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(format, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = DragBehaviorNative(id, dataType, pV, vSpeed, pMin, pMax, pStr0, flags); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } /// /// To be documented. /// [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static byte SliderBehaviorNative(ImRect bb, uint id, ImGuiDataType dataType, void* pV, void* pMin, void* pMax, byte* format, ImGuiSliderFlags flags, ImRect* outGrabBb) { #if NET5_0_OR_GREATER return ((delegate* unmanaged[Cdecl])funcTable[1210])(bb, id, dataType, pV, pMin, pMax, format, flags, outGrabBb); #else return (byte)((delegate* unmanaged[Cdecl])funcTable[1210])(bb, id, dataType, (nint)pV, (nint)pMin, (nint)pMax, (nint)format, flags, (nint)outGrabBb); #endif } /// /// To be documented. /// public static bool SliderBehavior(ImRect bb, uint id, ImGuiDataType dataType, void* pV, void* pMin, void* pMax, byte* format, ImGuiSliderFlags flags, ImRectPtr outGrabBb) { byte ret = SliderBehaviorNative(bb, id, dataType, pV, pMin, pMax, format, flags, outGrabBb); return ret != 0; } /// /// To be documented. /// public static bool SliderBehavior(ImRect bb, uint id, ImGuiDataType dataType, void* pV, void* pMin, void* pMax, ref byte format, ImGuiSliderFlags flags, ImRectPtr outGrabBb) { fixed (byte* pformat = &format) { byte ret = SliderBehaviorNative(bb, id, dataType, pV, pMin, pMax, (byte*)pformat, flags, outGrabBb); return ret != 0; } } /// /// To be documented. /// public static bool SliderBehavior(ImRect bb, uint id, ImGuiDataType dataType, void* pV, void* pMin, void* pMax, ReadOnlySpan format, ImGuiSliderFlags flags, ImRectPtr outGrabBb) { fixed (byte* pformat = format) { byte ret = SliderBehaviorNative(bb, id, dataType, pV, pMin, pMax, (byte*)pformat, flags, outGrabBb); return ret != 0; } } /// /// To be documented. /// public static bool SliderBehavior(ImRect bb, uint id, ImGuiDataType dataType, void* pV, void* pMin, void* pMax, string format, ImGuiSliderFlags flags, ImRectPtr outGrabBb) { byte* pStr0 = null; int pStrSize0 = 0; if (format != null) { pStrSize0 = Utils.GetByteCountUTF8(format); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(format, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = SliderBehaviorNative(bb, id, dataType, pV, pMin, pMax, pStr0, flags, outGrabBb); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } /// /// To be documented. /// public static bool SliderBehavior(ImRect bb, uint id, ImGuiDataType dataType, void* pV, void* pMin, void* pMax, byte* format, ImGuiSliderFlags flags, ref ImRect outGrabBb) { fixed (ImRect* poutGrabBb = &outGrabBb) { byte ret = SliderBehaviorNative(bb, id, dataType, pV, pMin, pMax, format, flags, (ImRect*)poutGrabBb); return ret != 0; } } /// /// To be documented. /// public static bool SliderBehavior(ImRect bb, uint id, ImGuiDataType dataType, void* pV, void* pMin, void* pMax, ref byte format, ImGuiSliderFlags flags, ref ImRect outGrabBb) { fixed (byte* pformat = &format) { fixed (ImRect* poutGrabBb = &outGrabBb) { byte ret = SliderBehaviorNative(bb, id, dataType, pV, pMin, pMax, (byte*)pformat, flags, (ImRect*)poutGrabBb); return ret != 0; } } } /// /// To be documented. /// public static bool SliderBehavior(ImRect bb, uint id, ImGuiDataType dataType, void* pV, void* pMin, void* pMax, ReadOnlySpan format, ImGuiSliderFlags flags, ref ImRect outGrabBb) { fixed (byte* pformat = format) { fixed (ImRect* poutGrabBb = &outGrabBb) { byte ret = SliderBehaviorNative(bb, id, dataType, pV, pMin, pMax, (byte*)pformat, flags, (ImRect*)poutGrabBb); return ret != 0; } } } /// /// To be documented. /// public static bool SliderBehavior(ImRect bb, uint id, ImGuiDataType dataType, void* pV, void* pMin, void* pMax, string format, ImGuiSliderFlags flags, ref ImRect outGrabBb) { byte* pStr0 = null; int pStrSize0 = 0; if (format != null) { pStrSize0 = Utils.GetByteCountUTF8(format); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(format, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } fixed (ImRect* poutGrabBb = &outGrabBb) { byte ret = SliderBehaviorNative(bb, id, dataType, pV, pMin, pMax, pStr0, flags, (ImRect*)poutGrabBb); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static byte SplitterBehaviorNative(ImRect bb, uint id, ImGuiAxis axis, float* size1, float* size2, float minsize1, float minsize2, float hoverExtend, float hoverVisibilityDelay, uint bgCol) { #if NET5_0_OR_GREATER return ((delegate* unmanaged[Cdecl])funcTable[1211])(bb, id, axis, size1, size2, minsize1, minsize2, hoverExtend, hoverVisibilityDelay, bgCol); #else return (byte)((delegate* unmanaged[Cdecl])funcTable[1211])(bb, id, axis, (nint)size1, (nint)size2, minsize1, minsize2, hoverExtend, hoverVisibilityDelay, bgCol); #endif } /// /// To be documented. /// public static bool SplitterBehavior(ImRect bb, uint id, ImGuiAxis axis, float* size1, float* size2, float minsize1, float minsize2, float hoverExtend, float hoverVisibilityDelay, uint bgCol) { byte ret = SplitterBehaviorNative(bb, id, axis, size1, size2, minsize1, minsize2, hoverExtend, hoverVisibilityDelay, bgCol); return ret != 0; } /// /// To be documented. /// public static bool SplitterBehavior(ImRect bb, uint id, ImGuiAxis axis, float* size1, float* size2, float minsize1, float minsize2, float hoverExtend, float hoverVisibilityDelay) { byte ret = SplitterBehaviorNative(bb, id, axis, size1, size2, minsize1, minsize2, hoverExtend, hoverVisibilityDelay, (uint)(0)); return ret != 0; } /// /// To be documented. /// public static bool SplitterBehavior(ImRect bb, uint id, ImGuiAxis axis, float* size1, float* size2, float minsize1, float minsize2, float hoverExtend) { byte ret = SplitterBehaviorNative(bb, id, axis, size1, size2, minsize1, minsize2, hoverExtend, (float)(0.0f), (uint)(0)); return ret != 0; } /// /// To be documented. /// public static bool SplitterBehavior(ImRect bb, uint id, ImGuiAxis axis, float* size1, float* size2, float minsize1, float minsize2) { byte ret = SplitterBehaviorNative(bb, id, axis, size1, size2, minsize1, minsize2, (float)(0.0f), (float)(0.0f), (uint)(0)); return ret != 0; } /// /// To be documented. /// public static bool SplitterBehavior(ImRect bb, uint id, ImGuiAxis axis, float* size1, float* size2, float minsize1, float minsize2, float hoverExtend, uint bgCol) { byte ret = SplitterBehaviorNative(bb, id, axis, size1, size2, minsize1, minsize2, hoverExtend, (float)(0.0f), bgCol); return ret != 0; } /// /// To be documented. /// public static bool SplitterBehavior(ImRect bb, uint id, ImGuiAxis axis, float* size1, float* size2, float minsize1, float minsize2, uint bgCol) { byte ret = SplitterBehaviorNative(bb, id, axis, size1, size2, minsize1, minsize2, (float)(0.0f), (float)(0.0f), bgCol); return ret != 0; } /// /// To be documented. /// public static bool SplitterBehavior(ImRect bb, uint id, ImGuiAxis axis, ref float size1, float* size2, float minsize1, float minsize2, float hoverExtend, float hoverVisibilityDelay, uint bgCol) { fixed (float* psize1 = &size1) { byte ret = SplitterBehaviorNative(bb, id, axis, (float*)psize1, size2, minsize1, minsize2, hoverExtend, hoverVisibilityDelay, bgCol); return ret != 0; } } /// /// To be documented. /// public static bool SplitterBehavior(ImRect bb, uint id, ImGuiAxis axis, ref float size1, float* size2, float minsize1, float minsize2, float hoverExtend, float hoverVisibilityDelay) { fixed (float* psize1 = &size1) { byte ret = SplitterBehaviorNative(bb, id, axis, (float*)psize1, size2, minsize1, minsize2, hoverExtend, hoverVisibilityDelay, (uint)(0)); return ret != 0; } } /// /// To be documented. /// public static bool SplitterBehavior(ImRect bb, uint id, ImGuiAxis axis, ref float size1, float* size2, float minsize1, float minsize2, float hoverExtend) { fixed (float* psize1 = &size1) { byte ret = SplitterBehaviorNative(bb, id, axis, (float*)psize1, size2, minsize1, minsize2, hoverExtend, (float)(0.0f), (uint)(0)); return ret != 0; } } /// /// To be documented. /// public static bool SplitterBehavior(ImRect bb, uint id, ImGuiAxis axis, ref float size1, float* size2, float minsize1, float minsize2) { fixed (float* psize1 = &size1) { byte ret = SplitterBehaviorNative(bb, id, axis, (float*)psize1, size2, minsize1, minsize2, (float)(0.0f), (float)(0.0f), (uint)(0)); return ret != 0; } } /// /// To be documented. /// public static bool SplitterBehavior(ImRect bb, uint id, ImGuiAxis axis, ref float size1, float* size2, float minsize1, float minsize2, float hoverExtend, uint bgCol) { fixed (float* psize1 = &size1) { byte ret = SplitterBehaviorNative(bb, id, axis, (float*)psize1, size2, minsize1, minsize2, hoverExtend, (float)(0.0f), bgCol); return ret != 0; } } /// /// To be documented. /// public static bool SplitterBehavior(ImRect bb, uint id, ImGuiAxis axis, ref float size1, float* size2, float minsize1, float minsize2, uint bgCol) { fixed (float* psize1 = &size1) { byte ret = SplitterBehaviorNative(bb, id, axis, (float*)psize1, size2, minsize1, minsize2, (float)(0.0f), (float)(0.0f), bgCol); return ret != 0; } } /// /// To be documented. /// public static bool SplitterBehavior(ImRect bb, uint id, ImGuiAxis axis, float* size1, ref float size2, float minsize1, float minsize2, float hoverExtend, float hoverVisibilityDelay, uint bgCol) { fixed (float* psize2 = &size2) { byte ret = SplitterBehaviorNative(bb, id, axis, size1, (float*)psize2, minsize1, minsize2, hoverExtend, hoverVisibilityDelay, bgCol); return ret != 0; } } /// /// To be documented. /// public static bool SplitterBehavior(ImRect bb, uint id, ImGuiAxis axis, float* size1, ref float size2, float minsize1, float minsize2, float hoverExtend, float hoverVisibilityDelay) { fixed (float* psize2 = &size2) { byte ret = SplitterBehaviorNative(bb, id, axis, size1, (float*)psize2, minsize1, minsize2, hoverExtend, hoverVisibilityDelay, (uint)(0)); return ret != 0; } } /// /// To be documented. /// public static bool SplitterBehavior(ImRect bb, uint id, ImGuiAxis axis, float* size1, ref float size2, float minsize1, float minsize2, float hoverExtend) { fixed (float* psize2 = &size2) { byte ret = SplitterBehaviorNative(bb, id, axis, size1, (float*)psize2, minsize1, minsize2, hoverExtend, (float)(0.0f), (uint)(0)); return ret != 0; } } /// /// To be documented. /// public static bool SplitterBehavior(ImRect bb, uint id, ImGuiAxis axis, float* size1, ref float size2, float minsize1, float minsize2) { fixed (float* psize2 = &size2) { byte ret = SplitterBehaviorNative(bb, id, axis, size1, (float*)psize2, minsize1, minsize2, (float)(0.0f), (float)(0.0f), (uint)(0)); return ret != 0; } } /// /// To be documented. /// public static bool SplitterBehavior(ImRect bb, uint id, ImGuiAxis axis, float* size1, ref float size2, float minsize1, float minsize2, float hoverExtend, uint bgCol) { fixed (float* psize2 = &size2) { byte ret = SplitterBehaviorNative(bb, id, axis, size1, (float*)psize2, minsize1, minsize2, hoverExtend, (float)(0.0f), bgCol); return ret != 0; } } /// /// To be documented. /// public static bool SplitterBehavior(ImRect bb, uint id, ImGuiAxis axis, float* size1, ref float size2, float minsize1, float minsize2, uint bgCol) { fixed (float* psize2 = &size2) { byte ret = SplitterBehaviorNative(bb, id, axis, size1, (float*)psize2, minsize1, minsize2, (float)(0.0f), (float)(0.0f), bgCol); return ret != 0; } } /// /// To be documented. /// public static bool SplitterBehavior(ImRect bb, uint id, ImGuiAxis axis, ref float size1, ref float size2, float minsize1, float minsize2, float hoverExtend, float hoverVisibilityDelay, uint bgCol) { fixed (float* psize1 = &size1) { fixed (float* psize2 = &size2) { byte ret = SplitterBehaviorNative(bb, id, axis, (float*)psize1, (float*)psize2, minsize1, minsize2, hoverExtend, hoverVisibilityDelay, bgCol); return ret != 0; } } } /// /// To be documented. /// public static bool SplitterBehavior(ImRect bb, uint id, ImGuiAxis axis, ref float size1, ref float size2, float minsize1, float minsize2, float hoverExtend, float hoverVisibilityDelay) { fixed (float* psize1 = &size1) { fixed (float* psize2 = &size2) { byte ret = SplitterBehaviorNative(bb, id, axis, (float*)psize1, (float*)psize2, minsize1, minsize2, hoverExtend, hoverVisibilityDelay, (uint)(0)); return ret != 0; } } } /// /// To be documented. /// public static bool SplitterBehavior(ImRect bb, uint id, ImGuiAxis axis, ref float size1, ref float size2, float minsize1, float minsize2, float hoverExtend) { fixed (float* psize1 = &size1) { fixed (float* psize2 = &size2) { byte ret = SplitterBehaviorNative(bb, id, axis, (float*)psize1, (float*)psize2, minsize1, minsize2, hoverExtend, (float)(0.0f), (uint)(0)); return ret != 0; } } } /// /// To be documented. /// public static bool SplitterBehavior(ImRect bb, uint id, ImGuiAxis axis, ref float size1, ref float size2, float minsize1, float minsize2) { fixed (float* psize1 = &size1) { fixed (float* psize2 = &size2) { byte ret = SplitterBehaviorNative(bb, id, axis, (float*)psize1, (float*)psize2, minsize1, minsize2, (float)(0.0f), (float)(0.0f), (uint)(0)); return ret != 0; } } } /// /// To be documented. /// public static bool SplitterBehavior(ImRect bb, uint id, ImGuiAxis axis, ref float size1, ref float size2, float minsize1, float minsize2, float hoverExtend, uint bgCol) { fixed (float* psize1 = &size1) { fixed (float* psize2 = &size2) { byte ret = SplitterBehaviorNative(bb, id, axis, (float*)psize1, (float*)psize2, minsize1, minsize2, hoverExtend, (float)(0.0f), bgCol); return ret != 0; } } } /// /// To be documented. /// public static bool SplitterBehavior(ImRect bb, uint id, ImGuiAxis axis, ref float size1, ref float size2, float minsize1, float minsize2, uint bgCol) { fixed (float* psize1 = &size1) { fixed (float* psize2 = &size2) { byte ret = SplitterBehaviorNative(bb, id, axis, (float*)psize1, (float*)psize2, minsize1, minsize2, (float)(0.0f), (float)(0.0f), bgCol); return ret != 0; } } } /// /// To be documented. /// [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static byte TreeNodeBehaviorNative(uint id, ImGuiTreeNodeFlags flags, byte* label, byte* labelEnd) { #if NET5_0_OR_GREATER return ((delegate* unmanaged[Cdecl])funcTable[1212])(id, flags, label, labelEnd); #else return (byte)((delegate* unmanaged[Cdecl])funcTable[1212])(id, flags, (nint)label, (nint)labelEnd); #endif } /// /// To be documented. /// public static bool TreeNodeBehavior(uint id, ImGuiTreeNodeFlags flags, byte* label, byte* labelEnd) { byte ret = TreeNodeBehaviorNative(id, flags, label, labelEnd); return ret != 0; } /// /// To be documented. /// public static bool TreeNodeBehavior(uint id, ImGuiTreeNodeFlags flags, byte* label) { byte ret = TreeNodeBehaviorNative(id, flags, label, (byte*)(default)); return ret != 0; } /// /// To be documented. /// public static bool TreeNodeBehavior(uint id, ImGuiTreeNodeFlags flags, ref byte label, byte* labelEnd) { fixed (byte* plabel = &label) { byte ret = TreeNodeBehaviorNative(id, flags, (byte*)plabel, labelEnd); return ret != 0; } } /// /// To be documented. /// public static bool TreeNodeBehavior(uint id, ImGuiTreeNodeFlags flags, ref byte label) { fixed (byte* plabel = &label) { byte ret = TreeNodeBehaviorNative(id, flags, (byte*)plabel, (byte*)(default)); return ret != 0; } } /// /// To be documented. /// public static bool TreeNodeBehavior(uint id, ImGuiTreeNodeFlags flags, ReadOnlySpan label, byte* labelEnd) { fixed (byte* plabel = label) { byte ret = TreeNodeBehaviorNative(id, flags, (byte*)plabel, labelEnd); return ret != 0; } } /// /// To be documented. /// public static bool TreeNodeBehavior(uint id, ImGuiTreeNodeFlags flags, ReadOnlySpan label) { fixed (byte* plabel = label) { byte ret = TreeNodeBehaviorNative(id, flags, (byte*)plabel, (byte*)(default)); return ret != 0; } } /// /// To be documented. /// public static bool TreeNodeBehavior(uint id, ImGuiTreeNodeFlags flags, string label, byte* labelEnd) { byte* pStr0 = null; int pStrSize0 = 0; if (label != null) { pStrSize0 = Utils.GetByteCountUTF8(label); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(label, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = TreeNodeBehaviorNative(id, flags, pStr0, labelEnd); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } /// /// To be documented. /// public static bool TreeNodeBehavior(uint id, ImGuiTreeNodeFlags flags, string label) { byte* pStr0 = null; int pStrSize0 = 0; if (label != null) { pStrSize0 = Utils.GetByteCountUTF8(label); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(label, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = TreeNodeBehaviorNative(id, flags, pStr0, (byte*)(default)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } /// /// To be documented. /// public static bool TreeNodeBehavior(uint id, ImGuiTreeNodeFlags flags, byte* label, ref byte labelEnd) { fixed (byte* plabelEnd = &labelEnd) { byte ret = TreeNodeBehaviorNative(id, flags, label, (byte*)plabelEnd); return ret != 0; } } /// /// To be documented. /// public static bool TreeNodeBehavior(uint id, ImGuiTreeNodeFlags flags, byte* label, ReadOnlySpan labelEnd) { fixed (byte* plabelEnd = labelEnd) { byte ret = TreeNodeBehaviorNative(id, flags, label, (byte*)plabelEnd); return ret != 0; } } /// /// To be documented. /// public static bool TreeNodeBehavior(uint id, ImGuiTreeNodeFlags flags, byte* label, string labelEnd) { byte* pStr0 = null; int pStrSize0 = 0; if (labelEnd != null) { pStrSize0 = Utils.GetByteCountUTF8(labelEnd); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(labelEnd, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = TreeNodeBehaviorNative(id, flags, label, pStr0); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } /// /// To be documented. /// public static bool TreeNodeBehavior(uint id, ImGuiTreeNodeFlags flags, ref byte label, ref byte labelEnd) { fixed (byte* plabel = &label) { fixed (byte* plabelEnd = &labelEnd) { byte ret = TreeNodeBehaviorNative(id, flags, (byte*)plabel, (byte*)plabelEnd); return ret != 0; } } } /// /// To be documented. /// public static bool TreeNodeBehavior(uint id, ImGuiTreeNodeFlags flags, ReadOnlySpan label, ReadOnlySpan labelEnd) { fixed (byte* plabel = label) { fixed (byte* plabelEnd = labelEnd) { byte ret = TreeNodeBehaviorNative(id, flags, (byte*)plabel, (byte*)plabelEnd); return ret != 0; } } } /// /// To be documented. /// public static bool TreeNodeBehavior(uint id, ImGuiTreeNodeFlags flags, string label, string labelEnd) { byte* pStr0 = null; int pStrSize0 = 0; if (label != null) { pStrSize0 = Utils.GetByteCountUTF8(label); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(label, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte* pStr1 = null; int pStrSize1 = 0; if (labelEnd != null) { pStrSize1 = Utils.GetByteCountUTF8(labelEnd); if (pStrSize1 >= Utils.MaxStackallocSize) { pStr1 = Utils.Alloc(pStrSize1 + 1); } else { byte* pStrStack1 = stackalloc byte[pStrSize1 + 1]; pStr1 = pStrStack1; } int pStrOffset1 = Utils.EncodeStringUTF8(labelEnd, pStr1, pStrSize1); pStr1[pStrOffset1] = 0; } byte ret = TreeNodeBehaviorNative(id, flags, pStr0, pStr1); if (pStrSize1 >= Utils.MaxStackallocSize) { Utils.Free(pStr1); } if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } /// /// To be documented. /// public static bool TreeNodeBehavior(uint id, ImGuiTreeNodeFlags flags, ref byte label, ReadOnlySpan labelEnd) { fixed (byte* plabel = &label) { fixed (byte* plabelEnd = labelEnd) { byte ret = TreeNodeBehaviorNative(id, flags, (byte*)plabel, (byte*)plabelEnd); return ret != 0; } } } /// /// To be documented. /// public static bool TreeNodeBehavior(uint id, ImGuiTreeNodeFlags flags, ref byte label, string labelEnd) { fixed (byte* plabel = &label) { byte* pStr0 = null; int pStrSize0 = 0; if (labelEnd != null) { pStrSize0 = Utils.GetByteCountUTF8(labelEnd); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(labelEnd, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = TreeNodeBehaviorNative(id, flags, (byte*)plabel, pStr0); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool TreeNodeBehavior(uint id, ImGuiTreeNodeFlags flags, ReadOnlySpan label, ref byte labelEnd) { fixed (byte* plabel = label) { fixed (byte* plabelEnd = &labelEnd) { byte ret = TreeNodeBehaviorNative(id, flags, (byte*)plabel, (byte*)plabelEnd); return ret != 0; } } } /// /// To be documented. /// public static bool TreeNodeBehavior(uint id, ImGuiTreeNodeFlags flags, ReadOnlySpan label, string labelEnd) { fixed (byte* plabel = label) { byte* pStr0 = null; int pStrSize0 = 0; if (labelEnd != null) { pStrSize0 = Utils.GetByteCountUTF8(labelEnd); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(labelEnd, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = TreeNodeBehaviorNative(id, flags, (byte*)plabel, pStr0); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool TreeNodeBehavior(uint id, ImGuiTreeNodeFlags flags, string label, ref byte labelEnd) { byte* pStr0 = null; int pStrSize0 = 0; if (label != null) { pStrSize0 = Utils.GetByteCountUTF8(label); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(label, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } fixed (byte* plabelEnd = &labelEnd) { byte ret = TreeNodeBehaviorNative(id, flags, pStr0, (byte*)plabelEnd); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool TreeNodeBehavior(uint id, ImGuiTreeNodeFlags flags, string label, ReadOnlySpan labelEnd) { byte* pStr0 = null; int pStrSize0 = 0; if (label != null) { pStrSize0 = Utils.GetByteCountUTF8(label); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(label, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } fixed (byte* plabelEnd = labelEnd) { byte ret = TreeNodeBehaviorNative(id, flags, pStr0, (byte*)plabelEnd); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static byte TreeNodeBehaviorIsOpenNative(uint id, ImGuiTreeNodeFlags flags) { #if NET5_0_OR_GREATER return ((delegate* unmanaged[Cdecl])funcTable[1213])(id, flags); #else return (byte)((delegate* unmanaged[Cdecl])funcTable[1213])(id, flags); #endif } /// /// To be documented. /// public static bool TreeNodeBehaviorIsOpen(uint id, ImGuiTreeNodeFlags flags) { byte ret = TreeNodeBehaviorIsOpenNative(id, flags); return ret != 0; } /// /// To be documented. /// public static bool TreeNodeBehaviorIsOpen(uint id) { byte ret = TreeNodeBehaviorIsOpenNative(id, (ImGuiTreeNodeFlags)(0)); return ret != 0; } /// /// To be documented. /// [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static void TreePushOverrideIDNative(uint id) { #if NET5_0_OR_GREATER ((delegate* unmanaged[Cdecl])funcTable[1214])(id); #else ((delegate* unmanaged[Cdecl])funcTable[1214])(id); #endif } /// /// To be documented. /// public static void TreePushOverrideID(uint id) { TreePushOverrideIDNative(id); } /// /// To be documented. /// [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static ImGuiDataTypeInfo* DataTypeGetInfoNative(ImGuiDataType dataType) { #if NET5_0_OR_GREATER return ((delegate* unmanaged[Cdecl])funcTable[1215])(dataType); #else return (ImGuiDataTypeInfo*)((delegate* unmanaged[Cdecl])funcTable[1215])(dataType); #endif } /// /// To be documented. /// public static ImGuiDataTypeInfoPtr DataTypeGetInfo(ImGuiDataType dataType) { ImGuiDataTypeInfoPtr ret = DataTypeGetInfoNative(dataType); return ret; } /// /// To be documented. /// [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static void DataTypeApplyOpNative(ImGuiDataType dataType, int op, void* output, void* arg1, void* arg2) { #if NET5_0_OR_GREATER ((delegate* unmanaged[Cdecl])funcTable[1216])(dataType, op, output, arg1, arg2); #else ((delegate* unmanaged[Cdecl])funcTable[1216])(dataType, op, (nint)output, (nint)arg1, (nint)arg2); #endif } /// /// To be documented. /// public static void DataTypeApplyOp(ImGuiDataType dataType, int op, void* output, void* arg1, void* arg2) { DataTypeApplyOpNative(dataType, op, output, arg1, arg2); } /// /// To be documented. /// [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static byte DataTypeApplyFromTextNative(byte* buf, ImGuiDataType dataType, void* pData, byte* format) { #if NET5_0_OR_GREATER return ((delegate* unmanaged[Cdecl])funcTable[1217])(buf, dataType, pData, format); #else return (byte)((delegate* unmanaged[Cdecl])funcTable[1217])((nint)buf, dataType, (nint)pData, (nint)format); #endif } /// /// To be documented. /// public static bool DataTypeApplyFromText(byte* buf, ImGuiDataType dataType, void* pData, byte* format) { byte ret = DataTypeApplyFromTextNative(buf, dataType, pData, format); return ret != 0; } /// /// To be documented. /// public static bool DataTypeApplyFromText(ref byte buf, ImGuiDataType dataType, void* pData, byte* format) { fixed (byte* pbuf = &buf) { byte ret = DataTypeApplyFromTextNative((byte*)pbuf, dataType, pData, format); return ret != 0; } } /// /// To be documented. /// public static bool DataTypeApplyFromText(ReadOnlySpan buf, ImGuiDataType dataType, void* pData, byte* format) { fixed (byte* pbuf = buf) { byte ret = DataTypeApplyFromTextNative((byte*)pbuf, dataType, pData, format); return ret != 0; } } /// /// To be documented. /// public static bool DataTypeApplyFromText(string buf, ImGuiDataType dataType, void* pData, byte* format) { byte* pStr0 = null; int pStrSize0 = 0; if (buf != null) { pStrSize0 = Utils.GetByteCountUTF8(buf); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(buf, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = DataTypeApplyFromTextNative(pStr0, dataType, pData, format); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } /// /// To be documented. /// public static bool DataTypeApplyFromText(byte* buf, ImGuiDataType dataType, void* pData, ref byte format) { fixed (byte* pformat = &format) { byte ret = DataTypeApplyFromTextNative(buf, dataType, pData, (byte*)pformat); return ret != 0; } } /// /// To be documented. /// public static bool DataTypeApplyFromText(byte* buf, ImGuiDataType dataType, void* pData, ReadOnlySpan format) { fixed (byte* pformat = format) { byte ret = DataTypeApplyFromTextNative(buf, dataType, pData, (byte*)pformat); return ret != 0; } } /// /// To be documented. /// public static bool DataTypeApplyFromText(byte* buf, ImGuiDataType dataType, void* pData, string format) { byte* pStr0 = null; int pStrSize0 = 0; if (format != null) { pStrSize0 = Utils.GetByteCountUTF8(format); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(format, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = DataTypeApplyFromTextNative(buf, dataType, pData, pStr0); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } /// /// To be documented. /// public static bool DataTypeApplyFromText(ref byte buf, ImGuiDataType dataType, void* pData, ref byte format) { fixed (byte* pbuf = &buf) { fixed (byte* pformat = &format) { byte ret = DataTypeApplyFromTextNative((byte*)pbuf, dataType, pData, (byte*)pformat); return ret != 0; } } } /// /// To be documented. /// public static bool DataTypeApplyFromText(ReadOnlySpan buf, ImGuiDataType dataType, void* pData, ReadOnlySpan format) { fixed (byte* pbuf = buf) { fixed (byte* pformat = format) { byte ret = DataTypeApplyFromTextNative((byte*)pbuf, dataType, pData, (byte*)pformat); return ret != 0; } } } /// /// To be documented. /// public static bool DataTypeApplyFromText(string buf, ImGuiDataType dataType, void* pData, string format) { byte* pStr0 = null; int pStrSize0 = 0; if (buf != null) { pStrSize0 = Utils.GetByteCountUTF8(buf); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(buf, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte* pStr1 = null; int pStrSize1 = 0; if (format != null) { pStrSize1 = Utils.GetByteCountUTF8(format); if (pStrSize1 >= Utils.MaxStackallocSize) { pStr1 = Utils.Alloc(pStrSize1 + 1); } else { byte* pStrStack1 = stackalloc byte[pStrSize1 + 1]; pStr1 = pStrStack1; } int pStrOffset1 = Utils.EncodeStringUTF8(format, pStr1, pStrSize1); pStr1[pStrOffset1] = 0; } byte ret = DataTypeApplyFromTextNative(pStr0, dataType, pData, pStr1); if (pStrSize1 >= Utils.MaxStackallocSize) { Utils.Free(pStr1); } if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } /// /// To be documented. /// public static bool DataTypeApplyFromText(ref byte buf, ImGuiDataType dataType, void* pData, ReadOnlySpan format) { fixed (byte* pbuf = &buf) { fixed (byte* pformat = format) { byte ret = DataTypeApplyFromTextNative((byte*)pbuf, dataType, pData, (byte*)pformat); return ret != 0; } } } /// /// To be documented. /// public static bool DataTypeApplyFromText(ref byte buf, ImGuiDataType dataType, void* pData, string format) { fixed (byte* pbuf = &buf) { byte* pStr0 = null; int pStrSize0 = 0; if (format != null) { pStrSize0 = Utils.GetByteCountUTF8(format); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(format, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = DataTypeApplyFromTextNative((byte*)pbuf, dataType, pData, pStr0); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool DataTypeApplyFromText(ReadOnlySpan buf, ImGuiDataType dataType, void* pData, ref byte format) { fixed (byte* pbuf = buf) { fixed (byte* pformat = &format) { byte ret = DataTypeApplyFromTextNative((byte*)pbuf, dataType, pData, (byte*)pformat); return ret != 0; } } } /// /// To be documented. /// public static bool DataTypeApplyFromText(ReadOnlySpan buf, ImGuiDataType dataType, void* pData, string format) { fixed (byte* pbuf = buf) { byte* pStr0 = null; int pStrSize0 = 0; if (format != null) { pStrSize0 = Utils.GetByteCountUTF8(format); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(format, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = DataTypeApplyFromTextNative((byte*)pbuf, dataType, pData, pStr0); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool DataTypeApplyFromText(string buf, ImGuiDataType dataType, void* pData, ref byte format) { byte* pStr0 = null; int pStrSize0 = 0; if (buf != null) { pStrSize0 = Utils.GetByteCountUTF8(buf); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(buf, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } fixed (byte* pformat = &format) { byte ret = DataTypeApplyFromTextNative(pStr0, dataType, pData, (byte*)pformat); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool DataTypeApplyFromText(string buf, ImGuiDataType dataType, void* pData, ReadOnlySpan format) { byte* pStr0 = null; int pStrSize0 = 0; if (buf != null) { pStrSize0 = Utils.GetByteCountUTF8(buf); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(buf, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } fixed (byte* pformat = format) { byte ret = DataTypeApplyFromTextNative(pStr0, dataType, pData, (byte*)pformat); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static int DataTypeCompareNative(ImGuiDataType dataType, void* arg1, void* arg2) { #if NET5_0_OR_GREATER return ((delegate* unmanaged[Cdecl])funcTable[1218])(dataType, arg1, arg2); #else return (int)((delegate* unmanaged[Cdecl])funcTable[1218])(dataType, (nint)arg1, (nint)arg2); #endif } /// /// To be documented. /// public static int DataTypeCompare(ImGuiDataType dataType, void* arg1, void* arg2) { int ret = DataTypeCompareNative(dataType, arg1, arg2); return ret; } /// /// To be documented. /// [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static byte DataTypeClampNative(ImGuiDataType dataType, void* pData, void* pMin, void* pMax) { #if NET5_0_OR_GREATER return ((delegate* unmanaged[Cdecl])funcTable[1219])(dataType, pData, pMin, pMax); #else return (byte)((delegate* unmanaged[Cdecl])funcTable[1219])(dataType, (nint)pData, (nint)pMin, (nint)pMax); #endif } /// /// To be documented. /// public static bool DataTypeClamp(ImGuiDataType dataType, void* pData, void* pMin, void* pMax) { byte ret = DataTypeClampNative(dataType, pData, pMin, pMax); return ret != 0; } /// /// To be documented. /// [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static byte TempInputScalarNative(ImRect bb, uint id, byte* label, ImGuiDataType dataType, void* pData, byte* format, void* pClampMin, void* pClampMax) { #if NET5_0_OR_GREATER return ((delegate* unmanaged[Cdecl])funcTable[1220])(bb, id, label, dataType, pData, format, pClampMin, pClampMax); #else return (byte)((delegate* unmanaged[Cdecl])funcTable[1220])(bb, id, (nint)label, dataType, (nint)pData, (nint)format, (nint)pClampMin, (nint)pClampMax); #endif } /// /// To be documented. /// public static bool TempInputScalar(ImRect bb, uint id, byte* label, ImGuiDataType dataType, void* pData, byte* format, void* pClampMin, void* pClampMax) { byte ret = TempInputScalarNative(bb, id, label, dataType, pData, format, pClampMin, pClampMax); return ret != 0; } /// /// To be documented. /// public static bool TempInputScalar(ImRect bb, uint id, byte* label, ImGuiDataType dataType, void* pData, byte* format, void* pClampMin) { byte ret = TempInputScalarNative(bb, id, label, dataType, pData, format, pClampMin, (void*)(default)); return ret != 0; } /// /// To be documented. /// public static bool TempInputScalar(ImRect bb, uint id, byte* label, ImGuiDataType dataType, void* pData, byte* format) { byte ret = TempInputScalarNative(bb, id, label, dataType, pData, format, (void*)(default), (void*)(default)); return ret != 0; } /// /// To be documented. /// public static bool TempInputScalar(ImRect bb, uint id, ref byte label, ImGuiDataType dataType, void* pData, byte* format, void* pClampMin, void* pClampMax) { fixed (byte* plabel = &label) { byte ret = TempInputScalarNative(bb, id, (byte*)plabel, dataType, pData, format, pClampMin, pClampMax); return ret != 0; } } /// /// To be documented. /// public static bool TempInputScalar(ImRect bb, uint id, ref byte label, ImGuiDataType dataType, void* pData, byte* format, void* pClampMin) { fixed (byte* plabel = &label) { byte ret = TempInputScalarNative(bb, id, (byte*)plabel, dataType, pData, format, pClampMin, (void*)(default)); return ret != 0; } } /// /// To be documented. /// public static bool TempInputScalar(ImRect bb, uint id, ref byte label, ImGuiDataType dataType, void* pData, byte* format) { fixed (byte* plabel = &label) { byte ret = TempInputScalarNative(bb, id, (byte*)plabel, dataType, pData, format, (void*)(default), (void*)(default)); return ret != 0; } } /// /// To be documented. /// public static bool TempInputScalar(ImRect bb, uint id, ReadOnlySpan label, ImGuiDataType dataType, void* pData, byte* format, void* pClampMin, void* pClampMax) { fixed (byte* plabel = label) { byte ret = TempInputScalarNative(bb, id, (byte*)plabel, dataType, pData, format, pClampMin, pClampMax); return ret != 0; } } /// /// To be documented. /// public static bool TempInputScalar(ImRect bb, uint id, ReadOnlySpan label, ImGuiDataType dataType, void* pData, byte* format, void* pClampMin) { fixed (byte* plabel = label) { byte ret = TempInputScalarNative(bb, id, (byte*)plabel, dataType, pData, format, pClampMin, (void*)(default)); return ret != 0; } } /// /// To be documented. /// public static bool TempInputScalar(ImRect bb, uint id, ReadOnlySpan label, ImGuiDataType dataType, void* pData, byte* format) { fixed (byte* plabel = label) { byte ret = TempInputScalarNative(bb, id, (byte*)plabel, dataType, pData, format, (void*)(default), (void*)(default)); return ret != 0; } } /// /// To be documented. /// public static bool TempInputScalar(ImRect bb, uint id, string label, ImGuiDataType dataType, void* pData, byte* format, void* pClampMin, void* pClampMax) { byte* pStr0 = null; int pStrSize0 = 0; if (label != null) { pStrSize0 = Utils.GetByteCountUTF8(label); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(label, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = TempInputScalarNative(bb, id, pStr0, dataType, pData, format, pClampMin, pClampMax); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } /// /// To be documented. /// public static bool TempInputScalar(ImRect bb, uint id, string label, ImGuiDataType dataType, void* pData, byte* format, void* pClampMin) { byte* pStr0 = null; int pStrSize0 = 0; if (label != null) { pStrSize0 = Utils.GetByteCountUTF8(label); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(label, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = TempInputScalarNative(bb, id, pStr0, dataType, pData, format, pClampMin, (void*)(default)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } /// /// To be documented. /// public static bool TempInputScalar(ImRect bb, uint id, string label, ImGuiDataType dataType, void* pData, byte* format) { byte* pStr0 = null; int pStrSize0 = 0; if (label != null) { pStrSize0 = Utils.GetByteCountUTF8(label); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(label, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = TempInputScalarNative(bb, id, pStr0, dataType, pData, format, (void*)(default), (void*)(default)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } /// /// To be documented. /// public static bool TempInputScalar(ImRect bb, uint id, byte* label, ImGuiDataType dataType, void* pData, ref byte format, void* pClampMin, void* pClampMax) { fixed (byte* pformat = &format) { byte ret = TempInputScalarNative(bb, id, label, dataType, pData, (byte*)pformat, pClampMin, pClampMax); return ret != 0; } } /// /// To be documented. /// public static bool TempInputScalar(ImRect bb, uint id, byte* label, ImGuiDataType dataType, void* pData, ref byte format, void* pClampMin) { fixed (byte* pformat = &format) { byte ret = TempInputScalarNative(bb, id, label, dataType, pData, (byte*)pformat, pClampMin, (void*)(default)); return ret != 0; } } /// /// To be documented. /// public static bool TempInputScalar(ImRect bb, uint id, byte* label, ImGuiDataType dataType, void* pData, ref byte format) { fixed (byte* pformat = &format) { byte ret = TempInputScalarNative(bb, id, label, dataType, pData, (byte*)pformat, (void*)(default), (void*)(default)); return ret != 0; } } /// /// To be documented. /// public static bool TempInputScalar(ImRect bb, uint id, byte* label, ImGuiDataType dataType, void* pData, ReadOnlySpan format, void* pClampMin, void* pClampMax) { fixed (byte* pformat = format) { byte ret = TempInputScalarNative(bb, id, label, dataType, pData, (byte*)pformat, pClampMin, pClampMax); return ret != 0; } } /// /// To be documented. /// public static bool TempInputScalar(ImRect bb, uint id, byte* label, ImGuiDataType dataType, void* pData, ReadOnlySpan format, void* pClampMin) { fixed (byte* pformat = format) { byte ret = TempInputScalarNative(bb, id, label, dataType, pData, (byte*)pformat, pClampMin, (void*)(default)); return ret != 0; } } /// /// To be documented. /// public static bool TempInputScalar(ImRect bb, uint id, byte* label, ImGuiDataType dataType, void* pData, ReadOnlySpan format) { fixed (byte* pformat = format) { byte ret = TempInputScalarNative(bb, id, label, dataType, pData, (byte*)pformat, (void*)(default), (void*)(default)); return ret != 0; } } /// /// To be documented. /// public static bool TempInputScalar(ImRect bb, uint id, byte* label, ImGuiDataType dataType, void* pData, string format, void* pClampMin, void* pClampMax) { byte* pStr0 = null; int pStrSize0 = 0; if (format != null) { pStrSize0 = Utils.GetByteCountUTF8(format); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(format, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = TempInputScalarNative(bb, id, label, dataType, pData, pStr0, pClampMin, pClampMax); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } /// /// To be documented. /// public static bool TempInputScalar(ImRect bb, uint id, byte* label, ImGuiDataType dataType, void* pData, string format, void* pClampMin) { byte* pStr0 = null; int pStrSize0 = 0; if (format != null) { pStrSize0 = Utils.GetByteCountUTF8(format); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(format, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = TempInputScalarNative(bb, id, label, dataType, pData, pStr0, pClampMin, (void*)(default)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } /// /// To be documented. /// public static bool TempInputScalar(ImRect bb, uint id, byte* label, ImGuiDataType dataType, void* pData, string format) { byte* pStr0 = null; int pStrSize0 = 0; if (format != null) { pStrSize0 = Utils.GetByteCountUTF8(format); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(format, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = TempInputScalarNative(bb, id, label, dataType, pData, pStr0, (void*)(default), (void*)(default)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } /// /// To be documented. /// public static bool TempInputScalar(ImRect bb, uint id, ref byte label, ImGuiDataType dataType, void* pData, ref byte format, void* pClampMin, void* pClampMax) { fixed (byte* plabel = &label) { fixed (byte* pformat = &format) { byte ret = TempInputScalarNative(bb, id, (byte*)plabel, dataType, pData, (byte*)pformat, pClampMin, pClampMax); return ret != 0; } } } /// /// To be documented. /// public static bool TempInputScalar(ImRect bb, uint id, ref byte label, ImGuiDataType dataType, void* pData, ref byte format, void* pClampMin) { fixed (byte* plabel = &label) { fixed (byte* pformat = &format) { byte ret = TempInputScalarNative(bb, id, (byte*)plabel, dataType, pData, (byte*)pformat, pClampMin, (void*)(default)); return ret != 0; } } } /// /// To be documented. /// public static bool TempInputScalar(ImRect bb, uint id, ref byte label, ImGuiDataType dataType, void* pData, ref byte format) { fixed (byte* plabel = &label) { fixed (byte* pformat = &format) { byte ret = TempInputScalarNative(bb, id, (byte*)plabel, dataType, pData, (byte*)pformat, (void*)(default), (void*)(default)); return ret != 0; } } } /// /// To be documented. /// public static bool TempInputScalar(ImRect bb, uint id, ReadOnlySpan label, ImGuiDataType dataType, void* pData, ReadOnlySpan format, void* pClampMin, void* pClampMax) { fixed (byte* plabel = label) { fixed (byte* pformat = format) { byte ret = TempInputScalarNative(bb, id, (byte*)plabel, dataType, pData, (byte*)pformat, pClampMin, pClampMax); return ret != 0; } } } /// /// To be documented. /// public static bool TempInputScalar(ImRect bb, uint id, ReadOnlySpan label, ImGuiDataType dataType, void* pData, ReadOnlySpan format, void* pClampMin) { fixed (byte* plabel = label) { fixed (byte* pformat = format) { byte ret = TempInputScalarNative(bb, id, (byte*)plabel, dataType, pData, (byte*)pformat, pClampMin, (void*)(default)); return ret != 0; } } } /// /// To be documented. /// public static bool TempInputScalar(ImRect bb, uint id, ReadOnlySpan label, ImGuiDataType dataType, void* pData, ReadOnlySpan format) { fixed (byte* plabel = label) { fixed (byte* pformat = format) { byte ret = TempInputScalarNative(bb, id, (byte*)plabel, dataType, pData, (byte*)pformat, (void*)(default), (void*)(default)); return ret != 0; } } } /// /// To be documented. /// public static bool TempInputScalar(ImRect bb, uint id, string label, ImGuiDataType dataType, void* pData, string format, void* pClampMin, void* pClampMax) { byte* pStr0 = null; int pStrSize0 = 0; if (label != null) { pStrSize0 = Utils.GetByteCountUTF8(label); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(label, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte* pStr1 = null; int pStrSize1 = 0; if (format != null) { pStrSize1 = Utils.GetByteCountUTF8(format); if (pStrSize1 >= Utils.MaxStackallocSize) { pStr1 = Utils.Alloc(pStrSize1 + 1); } else { byte* pStrStack1 = stackalloc byte[pStrSize1 + 1]; pStr1 = pStrStack1; } int pStrOffset1 = Utils.EncodeStringUTF8(format, pStr1, pStrSize1); pStr1[pStrOffset1] = 0; } byte ret = TempInputScalarNative(bb, id, pStr0, dataType, pData, pStr1, pClampMin, pClampMax); if (pStrSize1 >= Utils.MaxStackallocSize) { Utils.Free(pStr1); } if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } /// /// To be documented. /// public static bool TempInputScalar(ImRect bb, uint id, string label, ImGuiDataType dataType, void* pData, string format, void* pClampMin) { byte* pStr0 = null; int pStrSize0 = 0; if (label != null) { pStrSize0 = Utils.GetByteCountUTF8(label); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(label, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte* pStr1 = null; int pStrSize1 = 0; if (format != null) { pStrSize1 = Utils.GetByteCountUTF8(format); if (pStrSize1 >= Utils.MaxStackallocSize) { pStr1 = Utils.Alloc(pStrSize1 + 1); } else { byte* pStrStack1 = stackalloc byte[pStrSize1 + 1]; pStr1 = pStrStack1; } int pStrOffset1 = Utils.EncodeStringUTF8(format, pStr1, pStrSize1); pStr1[pStrOffset1] = 0; } byte ret = TempInputScalarNative(bb, id, pStr0, dataType, pData, pStr1, pClampMin, (void*)(default)); if (pStrSize1 >= Utils.MaxStackallocSize) { Utils.Free(pStr1); } if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } /// /// To be documented. /// public static bool TempInputScalar(ImRect bb, uint id, string label, ImGuiDataType dataType, void* pData, string format) { byte* pStr0 = null; int pStrSize0 = 0; if (label != null) { pStrSize0 = Utils.GetByteCountUTF8(label); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(label, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte* pStr1 = null; int pStrSize1 = 0; if (format != null) { pStrSize1 = Utils.GetByteCountUTF8(format); if (pStrSize1 >= Utils.MaxStackallocSize) { pStr1 = Utils.Alloc(pStrSize1 + 1); } else { byte* pStrStack1 = stackalloc byte[pStrSize1 + 1]; pStr1 = pStrStack1; } int pStrOffset1 = Utils.EncodeStringUTF8(format, pStr1, pStrSize1); pStr1[pStrOffset1] = 0; } byte ret = TempInputScalarNative(bb, id, pStr0, dataType, pData, pStr1, (void*)(default), (void*)(default)); if (pStrSize1 >= Utils.MaxStackallocSize) { Utils.Free(pStr1); } if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } /// /// To be documented. /// public static bool TempInputScalar(ImRect bb, uint id, ref byte label, ImGuiDataType dataType, void* pData, ReadOnlySpan format, void* pClampMin, void* pClampMax) { fixed (byte* plabel = &label) { fixed (byte* pformat = format) { byte ret = TempInputScalarNative(bb, id, (byte*)plabel, dataType, pData, (byte*)pformat, pClampMin, pClampMax); return ret != 0; } } } /// /// To be documented. /// public static bool TempInputScalar(ImRect bb, uint id, ref byte label, ImGuiDataType dataType, void* pData, ReadOnlySpan format, void* pClampMin) { fixed (byte* plabel = &label) { fixed (byte* pformat = format) { byte ret = TempInputScalarNative(bb, id, (byte*)plabel, dataType, pData, (byte*)pformat, pClampMin, (void*)(default)); return ret != 0; } } } /// /// To be documented. /// public static bool TempInputScalar(ImRect bb, uint id, ref byte label, ImGuiDataType dataType, void* pData, ReadOnlySpan format) { fixed (byte* plabel = &label) { fixed (byte* pformat = format) { byte ret = TempInputScalarNative(bb, id, (byte*)plabel, dataType, pData, (byte*)pformat, (void*)(default), (void*)(default)); return ret != 0; } } } /// /// To be documented. /// public static bool TempInputScalar(ImRect bb, uint id, ref byte label, ImGuiDataType dataType, void* pData, string format, void* pClampMin, void* pClampMax) { fixed (byte* plabel = &label) { byte* pStr0 = null; int pStrSize0 = 0; if (format != null) { pStrSize0 = Utils.GetByteCountUTF8(format); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(format, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = TempInputScalarNative(bb, id, (byte*)plabel, dataType, pData, pStr0, pClampMin, pClampMax); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool TempInputScalar(ImRect bb, uint id, ref byte label, ImGuiDataType dataType, void* pData, string format, void* pClampMin) { fixed (byte* plabel = &label) { byte* pStr0 = null; int pStrSize0 = 0; if (format != null) { pStrSize0 = Utils.GetByteCountUTF8(format); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(format, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = TempInputScalarNative(bb, id, (byte*)plabel, dataType, pData, pStr0, pClampMin, (void*)(default)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool TempInputScalar(ImRect bb, uint id, ref byte label, ImGuiDataType dataType, void* pData, string format) { fixed (byte* plabel = &label) { byte* pStr0 = null; int pStrSize0 = 0; if (format != null) { pStrSize0 = Utils.GetByteCountUTF8(format); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(format, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = TempInputScalarNative(bb, id, (byte*)plabel, dataType, pData, pStr0, (void*)(default), (void*)(default)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool TempInputScalar(ImRect bb, uint id, ReadOnlySpan label, ImGuiDataType dataType, void* pData, ref byte format, void* pClampMin, void* pClampMax) { fixed (byte* plabel = label) { fixed (byte* pformat = &format) { byte ret = TempInputScalarNative(bb, id, (byte*)plabel, dataType, pData, (byte*)pformat, pClampMin, pClampMax); return ret != 0; } } } /// /// To be documented. /// public static bool TempInputScalar(ImRect bb, uint id, ReadOnlySpan label, ImGuiDataType dataType, void* pData, ref byte format, void* pClampMin) { fixed (byte* plabel = label) { fixed (byte* pformat = &format) { byte ret = TempInputScalarNative(bb, id, (byte*)plabel, dataType, pData, (byte*)pformat, pClampMin, (void*)(default)); return ret != 0; } } } /// /// To be documented. /// public static bool TempInputScalar(ImRect bb, uint id, ReadOnlySpan label, ImGuiDataType dataType, void* pData, ref byte format) { fixed (byte* plabel = label) { fixed (byte* pformat = &format) { byte ret = TempInputScalarNative(bb, id, (byte*)plabel, dataType, pData, (byte*)pformat, (void*)(default), (void*)(default)); return ret != 0; } } } /// /// To be documented. /// public static bool TempInputScalar(ImRect bb, uint id, ReadOnlySpan label, ImGuiDataType dataType, void* pData, string format, void* pClampMin, void* pClampMax) { fixed (byte* plabel = label) { byte* pStr0 = null; int pStrSize0 = 0; if (format != null) { pStrSize0 = Utils.GetByteCountUTF8(format); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(format, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = TempInputScalarNative(bb, id, (byte*)plabel, dataType, pData, pStr0, pClampMin, pClampMax); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool TempInputScalar(ImRect bb, uint id, ReadOnlySpan label, ImGuiDataType dataType, void* pData, string format, void* pClampMin) { fixed (byte* plabel = label) { byte* pStr0 = null; int pStrSize0 = 0; if (format != null) { pStrSize0 = Utils.GetByteCountUTF8(format); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(format, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = TempInputScalarNative(bb, id, (byte*)plabel, dataType, pData, pStr0, pClampMin, (void*)(default)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool TempInputScalar(ImRect bb, uint id, ReadOnlySpan label, ImGuiDataType dataType, void* pData, string format) { fixed (byte* plabel = label) { byte* pStr0 = null; int pStrSize0 = 0; if (format != null) { pStrSize0 = Utils.GetByteCountUTF8(format); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(format, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = TempInputScalarNative(bb, id, (byte*)plabel, dataType, pData, pStr0, (void*)(default), (void*)(default)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool TempInputScalar(ImRect bb, uint id, string label, ImGuiDataType dataType, void* pData, ref byte format, void* pClampMin, void* pClampMax) { byte* pStr0 = null; int pStrSize0 = 0; if (label != null) { pStrSize0 = Utils.GetByteCountUTF8(label); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(label, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } fixed (byte* pformat = &format) { byte ret = TempInputScalarNative(bb, id, pStr0, dataType, pData, (byte*)pformat, pClampMin, pClampMax); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool TempInputScalar(ImRect bb, uint id, string label, ImGuiDataType dataType, void* pData, ref byte format, void* pClampMin) { byte* pStr0 = null; int pStrSize0 = 0; if (label != null) { pStrSize0 = Utils.GetByteCountUTF8(label); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(label, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } fixed (byte* pformat = &format) { byte ret = TempInputScalarNative(bb, id, pStr0, dataType, pData, (byte*)pformat, pClampMin, (void*)(default)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool TempInputScalar(ImRect bb, uint id, string label, ImGuiDataType dataType, void* pData, ref byte format) { byte* pStr0 = null; int pStrSize0 = 0; if (label != null) { pStrSize0 = Utils.GetByteCountUTF8(label); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(label, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } fixed (byte* pformat = &format) { byte ret = TempInputScalarNative(bb, id, pStr0, dataType, pData, (byte*)pformat, (void*)(default), (void*)(default)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool TempInputScalar(ImRect bb, uint id, string label, ImGuiDataType dataType, void* pData, ReadOnlySpan format, void* pClampMin, void* pClampMax) { byte* pStr0 = null; int pStrSize0 = 0; if (label != null) { pStrSize0 = Utils.GetByteCountUTF8(label); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(label, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } fixed (byte* pformat = format) { byte ret = TempInputScalarNative(bb, id, pStr0, dataType, pData, (byte*)pformat, pClampMin, pClampMax); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool TempInputScalar(ImRect bb, uint id, string label, ImGuiDataType dataType, void* pData, ReadOnlySpan format, void* pClampMin) { byte* pStr0 = null; int pStrSize0 = 0; if (label != null) { pStrSize0 = Utils.GetByteCountUTF8(label); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(label, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } fixed (byte* pformat = format) { byte ret = TempInputScalarNative(bb, id, pStr0, dataType, pData, (byte*)pformat, pClampMin, (void*)(default)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool TempInputScalar(ImRect bb, uint id, string label, ImGuiDataType dataType, void* pData, ReadOnlySpan format) { byte* pStr0 = null; int pStrSize0 = 0; if (label != null) { pStrSize0 = Utils.GetByteCountUTF8(label); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(label, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } fixed (byte* pformat = format) { byte ret = TempInputScalarNative(bb, id, pStr0, dataType, pData, (byte*)pformat, (void*)(default), (void*)(default)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static byte TempInputIsActiveNative(uint id) { #if NET5_0_OR_GREATER return ((delegate* unmanaged[Cdecl])funcTable[1221])(id); #else return (byte)((delegate* unmanaged[Cdecl])funcTable[1221])(id); #endif } /// /// To be documented. /// public static bool TempInputIsActive(uint id) { byte ret = TempInputIsActiveNative(id); return ret != 0; } /// /// To be documented. /// [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static ImGuiInputTextState* GetInputTextStateNative(uint id) { #if NET5_0_OR_GREATER return ((delegate* unmanaged[Cdecl])funcTable[1222])(id); #else return (ImGuiInputTextState*)((delegate* unmanaged[Cdecl])funcTable[1222])(id); #endif } /// /// To be documented. /// public static ImGuiInputTextStatePtr GetInputTextState(uint id) { ImGuiInputTextStatePtr ret = GetInputTextStateNative(id); return ret; } /// /// To be documented. /// [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static void Custom_StbTextMakeUndoReplaceNative(ImGuiInputTextState* str, int where, int oldLength, int newLength) { #if NET5_0_OR_GREATER ((delegate* unmanaged[Cdecl])funcTable[1223])(str, where, oldLength, newLength); #else ((delegate* unmanaged[Cdecl])funcTable[1223])((nint)str, where, oldLength, newLength); #endif } /// /// To be documented. /// public static void Custom_StbTextMakeUndoReplace(ImGuiInputTextStatePtr str, int where, int oldLength, int newLength) { Custom_StbTextMakeUndoReplaceNative(str, where, oldLength, newLength); } /// /// To be documented. /// public static void Custom_StbTextMakeUndoReplace(ref ImGuiInputTextState str, int where, int oldLength, int newLength) { fixed (ImGuiInputTextState* pstr = &str) { Custom_StbTextMakeUndoReplaceNative((ImGuiInputTextState*)pstr, where, oldLength, newLength); } } /// /// To be documented. /// [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static void Custom_StbTextUndoNative(ImGuiInputTextState* str) { #if NET5_0_OR_GREATER ((delegate* unmanaged[Cdecl])funcTable[1224])(str); #else ((delegate* unmanaged[Cdecl])funcTable[1224])((nint)str); #endif } /// /// To be documented. /// public static void Custom_StbTextUndo(ImGuiInputTextStatePtr str) { Custom_StbTextUndoNative(str); } /// /// To be documented. /// public static void Custom_StbTextUndo(ref ImGuiInputTextState str) { fixed (ImGuiInputTextState* pstr = &str) { Custom_StbTextUndoNative((ImGuiInputTextState*)pstr); } } /// /// To be documented. /// [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static void ColorTooltipNative(byte* text, float* col, ImGuiColorEditFlags flags) { #if NET5_0_OR_GREATER ((delegate* unmanaged[Cdecl])funcTable[1225])(text, col, flags); #else ((delegate* unmanaged[Cdecl])funcTable[1225])((nint)text, (nint)col, flags); #endif } /// /// To be documented. /// public static void ColorTooltip(byte* text, float* col, ImGuiColorEditFlags flags) { ColorTooltipNative(text, col, flags); } /// /// To be documented. /// public static void ColorTooltip(ref byte text, float* col, ImGuiColorEditFlags flags) { fixed (byte* ptext = &text) { ColorTooltipNative((byte*)ptext, col, flags); } } /// /// To be documented. /// public static void ColorTooltip(ReadOnlySpan text, float* col, ImGuiColorEditFlags flags) { fixed (byte* ptext = text) { ColorTooltipNative((byte*)ptext, col, flags); } } /// /// To be documented. /// public static void ColorTooltip(string text, float* col, ImGuiColorEditFlags flags) { byte* pStr0 = null; int pStrSize0 = 0; if (text != null) { pStrSize0 = Utils.GetByteCountUTF8(text); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(text, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } ColorTooltipNative(pStr0, col, flags); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } } /// /// To be documented. /// public static void ColorTooltip(byte* text, ref float col, ImGuiColorEditFlags flags) { fixed (float* pcol = &col) { ColorTooltipNative(text, (float*)pcol, flags); } } /// /// To be documented. /// public static void ColorTooltip(ref byte text, ref float col, ImGuiColorEditFlags flags) { fixed (byte* ptext = &text) { fixed (float* pcol = &col) { ColorTooltipNative((byte*)ptext, (float*)pcol, flags); } } } /// /// To be documented. /// public static void ColorTooltip(ReadOnlySpan text, ref float col, ImGuiColorEditFlags flags) { fixed (byte* ptext = text) { fixed (float* pcol = &col) { ColorTooltipNative((byte*)ptext, (float*)pcol, flags); } } } /// /// To be documented. /// public static void ColorTooltip(string text, ref float col, ImGuiColorEditFlags flags) { byte* pStr0 = null; int pStrSize0 = 0; if (text != null) { pStrSize0 = Utils.GetByteCountUTF8(text); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(text, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } fixed (float* pcol = &col) { ColorTooltipNative(pStr0, (float*)pcol, flags); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } } } /// /// To be documented. /// [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static void ColorEditOptionsPopupNative(float* col, ImGuiColorEditFlags flags) { #if NET5_0_OR_GREATER ((delegate* unmanaged[Cdecl])funcTable[1226])(col, flags); #else ((delegate* unmanaged[Cdecl])funcTable[1226])((nint)col, flags); #endif } /// /// To be documented. /// public static void ColorEditOptionsPopup(float* col, ImGuiColorEditFlags flags) { ColorEditOptionsPopupNative(col, flags); } /// /// To be documented. /// public static void ColorEditOptionsPopup(ref float col, ImGuiColorEditFlags flags) { fixed (float* pcol = &col) { ColorEditOptionsPopupNative((float*)pcol, flags); } } /// /// To be documented. /// [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static void ColorPickerOptionsPopupNative(float* refCol, ImGuiColorEditFlags flags) { #if NET5_0_OR_GREATER ((delegate* unmanaged[Cdecl])funcTable[1227])(refCol, flags); #else ((delegate* unmanaged[Cdecl])funcTable[1227])((nint)refCol, flags); #endif } /// /// To be documented. /// public static void ColorPickerOptionsPopup(float* refCol, ImGuiColorEditFlags flags) { ColorPickerOptionsPopupNative(refCol, flags); } /// /// To be documented. /// public static void ColorPickerOptionsPopup(ref float refCol, ImGuiColorEditFlags flags) { fixed (float* prefCol = &refCol) { ColorPickerOptionsPopupNative((float*)prefCol, flags); } } /// /// To be documented. /// [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static int PlotExNative(ImGuiPlotType plotType, byte* label, delegate*, void*, int, int, byte*, float, float, Vector2, float> valuesGetter, void* data, int valuesCount, int valuesOffset, byte* overlayText, float scaleMin, float scaleMax, Vector2 frameSize) { #if NET5_0_OR_GREATER return ((delegate* unmanaged[Cdecl], void*, int, int, byte*, float, float, Vector2, float>, void*, int, int, byte*, float, float, Vector2, int>)funcTable[1228])(plotType, label, valuesGetter, data, valuesCount, valuesOffset, overlayText, scaleMin, scaleMax, frameSize); #else return (int)((delegate* unmanaged[Cdecl])funcTable[1228])(plotType, (nint)label, (nint)valuesGetter, (nint)data, valuesCount, valuesOffset, (nint)overlayText, scaleMin, scaleMax, frameSize); #endif } /// /// To be documented. /// public static int PlotEx(ImGuiPlotType plotType, byte* label, delegate*, void*, int, int, byte*, float, float, Vector2, float> valuesGetter, void* data, int valuesCount, int valuesOffset, byte* overlayText, float scaleMin, float scaleMax, Vector2 frameSize) { int ret = PlotExNative(plotType, label, valuesGetter, data, valuesCount, valuesOffset, overlayText, scaleMin, scaleMax, frameSize); return ret; } /// /// To be documented. /// public static int PlotEx(ImGuiPlotType plotType, ref byte label, delegate*, void*, int, int, byte*, float, float, Vector2, float> valuesGetter, void* data, int valuesCount, int valuesOffset, byte* overlayText, float scaleMin, float scaleMax, Vector2 frameSize) { fixed (byte* plabel = &label) { int ret = PlotExNative(plotType, (byte*)plabel, valuesGetter, data, valuesCount, valuesOffset, overlayText, scaleMin, scaleMax, frameSize); return ret; } } /// /// To be documented. /// public static int PlotEx(ImGuiPlotType plotType, ReadOnlySpan label, delegate*, void*, int, int, byte*, float, float, Vector2, float> valuesGetter, void* data, int valuesCount, int valuesOffset, byte* overlayText, float scaleMin, float scaleMax, Vector2 frameSize) { fixed (byte* plabel = label) { int ret = PlotExNative(plotType, (byte*)plabel, valuesGetter, data, valuesCount, valuesOffset, overlayText, scaleMin, scaleMax, frameSize); return ret; } } /// /// To be documented. /// public static int PlotEx(ImGuiPlotType plotType, string label, delegate*, void*, int, int, byte*, float, float, Vector2, float> valuesGetter, void* data, int valuesCount, int valuesOffset, byte* overlayText, float scaleMin, float scaleMax, Vector2 frameSize) { byte* pStr0 = null; int pStrSize0 = 0; if (label != null) { pStrSize0 = Utils.GetByteCountUTF8(label); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(label, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } int ret = PlotExNative(plotType, pStr0, valuesGetter, data, valuesCount, valuesOffset, overlayText, scaleMin, scaleMax, frameSize); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret; } /// /// To be documented. /// public static int PlotEx(ImGuiPlotType plotType, byte* label, delegate*, void*, int, int, byte*, float, float, Vector2, float> valuesGetter, void* data, int valuesCount, int valuesOffset, ref byte overlayText, float scaleMin, float scaleMax, Vector2 frameSize) { fixed (byte* poverlayText = &overlayText) { int ret = PlotExNative(plotType, label, valuesGetter, data, valuesCount, valuesOffset, (byte*)poverlayText, scaleMin, scaleMax, frameSize); return ret; } } /// /// To be documented. /// public static int PlotEx(ImGuiPlotType plotType, byte* label, delegate*, void*, int, int, byte*, float, float, Vector2, float> valuesGetter, void* data, int valuesCount, int valuesOffset, ReadOnlySpan overlayText, float scaleMin, float scaleMax, Vector2 frameSize) { fixed (byte* poverlayText = overlayText) { int ret = PlotExNative(plotType, label, valuesGetter, data, valuesCount, valuesOffset, (byte*)poverlayText, scaleMin, scaleMax, frameSize); return ret; } } /// /// To be documented. /// public static int PlotEx(ImGuiPlotType plotType, byte* label, delegate*, void*, int, int, byte*, float, float, Vector2, float> valuesGetter, void* data, int valuesCount, int valuesOffset, string overlayText, float scaleMin, float scaleMax, Vector2 frameSize) { byte* pStr0 = null; int pStrSize0 = 0; if (overlayText != null) { pStrSize0 = Utils.GetByteCountUTF8(overlayText); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(overlayText, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } int ret = PlotExNative(plotType, label, valuesGetter, data, valuesCount, valuesOffset, pStr0, scaleMin, scaleMax, frameSize); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret; } /// /// To be documented. /// public static int PlotEx(ImGuiPlotType plotType, ref byte label, delegate*, void*, int, int, byte*, float, float, Vector2, float> valuesGetter, void* data, int valuesCount, int valuesOffset, ref byte overlayText, float scaleMin, float scaleMax, Vector2 frameSize) { fixed (byte* plabel = &label) { fixed (byte* poverlayText = &overlayText) { int ret = PlotExNative(plotType, (byte*)plabel, valuesGetter, data, valuesCount, valuesOffset, (byte*)poverlayText, scaleMin, scaleMax, frameSize); return ret; } } } /// /// To be documented. /// public static int PlotEx(ImGuiPlotType plotType, ReadOnlySpan label, delegate*, void*, int, int, byte*, float, float, Vector2, float> valuesGetter, void* data, int valuesCount, int valuesOffset, ReadOnlySpan overlayText, float scaleMin, float scaleMax, Vector2 frameSize) { fixed (byte* plabel = label) { fixed (byte* poverlayText = overlayText) { int ret = PlotExNative(plotType, (byte*)plabel, valuesGetter, data, valuesCount, valuesOffset, (byte*)poverlayText, scaleMin, scaleMax, frameSize); return ret; } } } /// /// To be documented. /// public static int PlotEx(ImGuiPlotType plotType, string label, delegate*, void*, int, int, byte*, float, float, Vector2, float> valuesGetter, void* data, int valuesCount, int valuesOffset, string overlayText, float scaleMin, float scaleMax, Vector2 frameSize) { byte* pStr0 = null; int pStrSize0 = 0; if (label != null) { pStrSize0 = Utils.GetByteCountUTF8(label); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(label, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte* pStr1 = null; int pStrSize1 = 0; if (overlayText != null) { pStrSize1 = Utils.GetByteCountUTF8(overlayText); if (pStrSize1 >= Utils.MaxStackallocSize) { pStr1 = Utils.Alloc(pStrSize1 + 1); } else { byte* pStrStack1 = stackalloc byte[pStrSize1 + 1]; pStr1 = pStrStack1; } int pStrOffset1 = Utils.EncodeStringUTF8(overlayText, pStr1, pStrSize1); pStr1[pStrOffset1] = 0; } int ret = PlotExNative(plotType, pStr0, valuesGetter, data, valuesCount, valuesOffset, pStr1, scaleMin, scaleMax, frameSize); if (pStrSize1 >= Utils.MaxStackallocSize) { Utils.Free(pStr1); } if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret; } /// /// To be documented. /// public static int PlotEx(ImGuiPlotType plotType, ref byte label, delegate*, void*, int, int, byte*, float, float, Vector2, float> valuesGetter, void* data, int valuesCount, int valuesOffset, ReadOnlySpan overlayText, float scaleMin, float scaleMax, Vector2 frameSize) { fixed (byte* plabel = &label) { fixed (byte* poverlayText = overlayText) { int ret = PlotExNative(plotType, (byte*)plabel, valuesGetter, data, valuesCount, valuesOffset, (byte*)poverlayText, scaleMin, scaleMax, frameSize); return ret; } } } /// /// To be documented. /// public static int PlotEx(ImGuiPlotType plotType, ref byte label, delegate*, void*, int, int, byte*, float, float, Vector2, float> valuesGetter, void* data, int valuesCount, int valuesOffset, string overlayText, float scaleMin, float scaleMax, Vector2 frameSize) { fixed (byte* plabel = &label) { byte* pStr0 = null; int pStrSize0 = 0; if (overlayText != null) { pStrSize0 = Utils.GetByteCountUTF8(overlayText); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(overlayText, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } int ret = PlotExNative(plotType, (byte*)plabel, valuesGetter, data, valuesCount, valuesOffset, pStr0, scaleMin, scaleMax, frameSize); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret; } } /// /// To be documented. /// public static int PlotEx(ImGuiPlotType plotType, ReadOnlySpan label, delegate*, void*, int, int, byte*, float, float, Vector2, float> valuesGetter, void* data, int valuesCount, int valuesOffset, ref byte overlayText, float scaleMin, float scaleMax, Vector2 frameSize) { fixed (byte* plabel = label) { fixed (byte* poverlayText = &overlayText) { int ret = PlotExNative(plotType, (byte*)plabel, valuesGetter, data, valuesCount, valuesOffset, (byte*)poverlayText, scaleMin, scaleMax, frameSize); return ret; } } } /// /// To be documented. /// public static int PlotEx(ImGuiPlotType plotType, ReadOnlySpan label, delegate*, void*, int, int, byte*, float, float, Vector2, float> valuesGetter, void* data, int valuesCount, int valuesOffset, string overlayText, float scaleMin, float scaleMax, Vector2 frameSize) { fixed (byte* plabel = label) { byte* pStr0 = null; int pStrSize0 = 0; if (overlayText != null) { pStrSize0 = Utils.GetByteCountUTF8(overlayText); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(overlayText, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } int ret = PlotExNative(plotType, (byte*)plabel, valuesGetter, data, valuesCount, valuesOffset, pStr0, scaleMin, scaleMax, frameSize); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret; } } /// /// To be documented. /// public static int PlotEx(ImGuiPlotType plotType, string label, delegate*, void*, int, int, byte*, float, float, Vector2, float> valuesGetter, void* data, int valuesCount, int valuesOffset, ref byte overlayText, float scaleMin, float scaleMax, Vector2 frameSize) { byte* pStr0 = null; int pStrSize0 = 0; if (label != null) { pStrSize0 = Utils.GetByteCountUTF8(label); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(label, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } fixed (byte* poverlayText = &overlayText) { int ret = PlotExNative(plotType, pStr0, valuesGetter, data, valuesCount, valuesOffset, (byte*)poverlayText, scaleMin, scaleMax, frameSize); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret; } } /// /// To be documented. /// public static int PlotEx(ImGuiPlotType plotType, string label, delegate*, void*, int, int, byte*, float, float, Vector2, float> valuesGetter, void* data, int valuesCount, int valuesOffset, ReadOnlySpan overlayText, float scaleMin, float scaleMax, Vector2 frameSize) { byte* pStr0 = null; int pStrSize0 = 0; if (label != null) { pStrSize0 = Utils.GetByteCountUTF8(label); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(label, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } fixed (byte* poverlayText = overlayText) { int ret = PlotExNative(plotType, pStr0, valuesGetter, data, valuesCount, valuesOffset, (byte*)poverlayText, scaleMin, scaleMax, frameSize); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret; } } /// /// To be documented. /// [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static void ShadeVertsLinearColorGradientKeepAlphaNative(ImDrawList* drawList, int vertStartIdx, int vertEndIdx, Vector2 gradientp0, Vector2 gradientp1, uint col0, uint col1) { #if NET5_0_OR_GREATER ((delegate* unmanaged[Cdecl])funcTable[1229])(drawList, vertStartIdx, vertEndIdx, gradientp0, gradientp1, col0, col1); #else ((delegate* unmanaged[Cdecl])funcTable[1229])((nint)drawList, vertStartIdx, vertEndIdx, gradientp0, gradientp1, col0, col1); #endif } /// /// To be documented. /// public static void ShadeVertsLinearColorGradientKeepAlpha(ImDrawListPtr drawList, int vertStartIdx, int vertEndIdx, Vector2 gradientp0, Vector2 gradientp1, uint col0, uint col1) { ShadeVertsLinearColorGradientKeepAlphaNative(drawList, vertStartIdx, vertEndIdx, gradientp0, gradientp1, col0, col1); } /// /// To be documented. /// public static void ShadeVertsLinearColorGradientKeepAlpha(ref ImDrawList drawList, int vertStartIdx, int vertEndIdx, Vector2 gradientp0, Vector2 gradientp1, uint col0, uint col1) { fixed (ImDrawList* pdrawList = &drawList) { ShadeVertsLinearColorGradientKeepAlphaNative((ImDrawList*)pdrawList, vertStartIdx, vertEndIdx, gradientp0, gradientp1, col0, col1); } } /// /// To be documented. /// [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static void ShadeVertsLinearUVNative(ImDrawList* drawList, int vertStartIdx, int vertEndIdx, Vector2 a, Vector2 b, Vector2 uvA, Vector2 uvB, byte clamp) { #if NET5_0_OR_GREATER ((delegate* unmanaged[Cdecl])funcTable[1230])(drawList, vertStartIdx, vertEndIdx, a, b, uvA, uvB, clamp); #else ((delegate* unmanaged[Cdecl])funcTable[1230])((nint)drawList, vertStartIdx, vertEndIdx, a, b, uvA, uvB, clamp); #endif } /// /// To be documented. /// public static void ShadeVertsLinearUV(ImDrawListPtr drawList, int vertStartIdx, int vertEndIdx, Vector2 a, Vector2 b, Vector2 uvA, Vector2 uvB, bool clamp) { ShadeVertsLinearUVNative(drawList, vertStartIdx, vertEndIdx, a, b, uvA, uvB, clamp ? (byte)1 : (byte)0); } /// /// To be documented. /// public static void ShadeVertsLinearUV(ref ImDrawList drawList, int vertStartIdx, int vertEndIdx, Vector2 a, Vector2 b, Vector2 uvA, Vector2 uvB, bool clamp) { fixed (ImDrawList* pdrawList = &drawList) { ShadeVertsLinearUVNative((ImDrawList*)pdrawList, vertStartIdx, vertEndIdx, a, b, uvA, uvB, clamp ? (byte)1 : (byte)0); } } /// /// To be documented. /// [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static void GcCompactTransientMiscBuffersNative() { #if NET5_0_OR_GREATER ((delegate* unmanaged[Cdecl])funcTable[1231])(); #else ((delegate* unmanaged[Cdecl])funcTable[1231])(); #endif } /// /// To be documented. /// public static void GcCompactTransientMiscBuffers() { GcCompactTransientMiscBuffersNative(); } /// /// To be documented. /// [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static void GcCompactTransientWindowBuffersNative(ImGuiWindow* window) { #if NET5_0_OR_GREATER ((delegate* unmanaged[Cdecl])funcTable[1232])(window); #else ((delegate* unmanaged[Cdecl])funcTable[1232])((nint)window); #endif } /// /// To be documented. /// public static void GcCompactTransientWindowBuffers(ImGuiWindowPtr window) { GcCompactTransientWindowBuffersNative(window); } /// /// To be documented. /// public static void GcCompactTransientWindowBuffers(ref ImGuiWindow window) { fixed (ImGuiWindow* pwindow = &window) { GcCompactTransientWindowBuffersNative((ImGuiWindow*)pwindow); } } /// /// To be documented. /// [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static void GcAwakeTransientWindowBuffersNative(ImGuiWindow* window) { #if NET5_0_OR_GREATER ((delegate* unmanaged[Cdecl])funcTable[1233])(window); #else ((delegate* unmanaged[Cdecl])funcTable[1233])((nint)window); #endif } /// /// To be documented. /// public static void GcAwakeTransientWindowBuffers(ImGuiWindowPtr window) { GcAwakeTransientWindowBuffersNative(window); } /// /// To be documented. /// public static void GcAwakeTransientWindowBuffers(ref ImGuiWindow window) { fixed (ImGuiWindow* pwindow = &window) { GcAwakeTransientWindowBuffersNative((ImGuiWindow*)pwindow); } } /// /// To be documented. /// [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static void DebugLogNative(byte* fmt) { #if NET5_0_OR_GREATER ((delegate* unmanaged[Cdecl])funcTable[1234])(fmt); #else ((delegate* unmanaged[Cdecl])funcTable[1234])((nint)fmt); #endif } /// /// To be documented. /// public static void DebugLog(byte* fmt) { DebugLogNative(fmt); } /// /// To be documented. /// public static void DebugLog(ref byte fmt) { fixed (byte* pfmt = &fmt) { DebugLogNative((byte*)pfmt); } } /// /// To be documented. /// public static void DebugLog(ReadOnlySpan fmt) { fixed (byte* pfmt = fmt) { DebugLogNative((byte*)pfmt); } } /// /// To be documented. /// public static void DebugLog(string fmt) { byte* pStr0 = null; int pStrSize0 = 0; if (fmt != null) { pStrSize0 = Utils.GetByteCountUTF8(fmt); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(fmt, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } DebugLogNative(pStr0); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } } /// /// To be documented. /// [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static void DebugLogVNative(byte* fmt, nuint args) { #if NET5_0_OR_GREATER ((delegate* unmanaged[Cdecl])funcTable[1235])(fmt, args); #else ((delegate* unmanaged[Cdecl])funcTable[1235])((nint)fmt, args); #endif } /// /// To be documented. /// public static void DebugLogV(byte* fmt, nuint args) { DebugLogVNative(fmt, args); } /// /// To be documented. /// public static void DebugLogV(ref byte fmt, nuint args) { fixed (byte* pfmt = &fmt) { DebugLogVNative((byte*)pfmt, args); } } /// /// To be documented. /// public static void DebugLogV(ReadOnlySpan fmt, nuint args) { fixed (byte* pfmt = fmt) { DebugLogVNative((byte*)pfmt, args); } } /// /// To be documented. /// public static void DebugLogV(string fmt, nuint args) { byte* pStr0 = null; int pStrSize0 = 0; if (fmt != null) { pStrSize0 = Utils.GetByteCountUTF8(fmt); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(fmt, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } DebugLogVNative(pStr0, args); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } } /// /// To be documented. /// [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static void ErrorCheckEndFrameRecoverNative(ImGuiErrorLogCallback logCallback, void* userData) { #if NET5_0_OR_GREATER ((delegate* unmanaged[Cdecl], void*, void>)funcTable[1236])((delegate*)Utils.GetFunctionPointerForDelegate(logCallback), userData); #else ((delegate* unmanaged[Cdecl])funcTable[1236])((nint)Utils.GetFunctionPointerForDelegate(logCallback), (nint)userData); #endif } /// /// To be documented. /// public static void ErrorCheckEndFrameRecover(ImGuiErrorLogCallback logCallback, void* userData) { ErrorCheckEndFrameRecoverNative(logCallback, userData); } /// /// To be documented. /// public static void ErrorCheckEndFrameRecover(ImGuiErrorLogCallback logCallback) { ErrorCheckEndFrameRecoverNative(logCallback, (void*)(default)); } /// /// To be documented. /// [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static void ErrorCheckEndWindowRecoverNative(ImGuiErrorLogCallback logCallback, void* userData) { #if NET5_0_OR_GREATER ((delegate* unmanaged[Cdecl], void*, void>)funcTable[1237])((delegate*)Utils.GetFunctionPointerForDelegate(logCallback), userData); #else ((delegate* unmanaged[Cdecl])funcTable[1237])((nint)Utils.GetFunctionPointerForDelegate(logCallback), (nint)userData); #endif } /// /// To be documented. /// public static void ErrorCheckEndWindowRecover(ImGuiErrorLogCallback logCallback, void* userData) { ErrorCheckEndWindowRecoverNative(logCallback, userData); } /// /// To be documented. /// public static void ErrorCheckEndWindowRecover(ImGuiErrorLogCallback logCallback) { ErrorCheckEndWindowRecoverNative(logCallback, (void*)(default)); } /// /// To be documented. /// [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static void DebugDrawItemRectNative(uint col) { #if NET5_0_OR_GREATER ((delegate* unmanaged[Cdecl])funcTable[1238])(col); #else ((delegate* unmanaged[Cdecl])funcTable[1238])(col); #endif } /// /// To be documented. /// public static void DebugDrawItemRect(uint col) { DebugDrawItemRectNative(col); } /// /// To be documented. /// public static void DebugDrawItemRect() { DebugDrawItemRectNative((uint)(4278190335)); } /// /// To be documented. /// [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static void DebugStartItemPickerNative() { #if NET5_0_OR_GREATER ((delegate* unmanaged[Cdecl])funcTable[1239])(); #else ((delegate* unmanaged[Cdecl])funcTable[1239])(); #endif } /// /// To be documented. /// public static void DebugStartItemPicker() { DebugStartItemPickerNative(); } /// /// To be documented. /// [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static void ShowFontAtlasNative(ImFontAtlas* atlas) { #if NET5_0_OR_GREATER ((delegate* unmanaged[Cdecl])funcTable[1240])(atlas); #else ((delegate* unmanaged[Cdecl])funcTable[1240])((nint)atlas); #endif } /// /// To be documented. /// public static void ShowFontAtlas(ImFontAtlasPtr atlas) { ShowFontAtlasNative(atlas); } /// /// To be documented. /// public static void ShowFontAtlas(ref ImFontAtlas atlas) { fixed (ImFontAtlas* patlas = &atlas) { ShowFontAtlasNative((ImFontAtlas*)patlas); } } /// /// To be documented. /// [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static void DebugHookIdInfoNative(uint id, ImGuiDataType dataType, void* dataId, void* dataIdEnd) { #if NET5_0_OR_GREATER ((delegate* unmanaged[Cdecl])funcTable[1241])(id, dataType, dataId, dataIdEnd); #else ((delegate* unmanaged[Cdecl])funcTable[1241])(id, dataType, (nint)dataId, (nint)dataIdEnd); #endif } /// /// To be documented. /// public static void DebugHookIdInfo(uint id, ImGuiDataType dataType, void* dataId, void* dataIdEnd) { DebugHookIdInfoNative(id, dataType, dataId, dataIdEnd); } /// /// To be documented. /// [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static void DebugNodeColumnsNative(ImGuiOldColumns* columns) { #if NET5_0_OR_GREATER ((delegate* unmanaged[Cdecl])funcTable[1242])(columns); #else ((delegate* unmanaged[Cdecl])funcTable[1242])((nint)columns); #endif } /// /// To be documented. /// public static void DebugNodeColumns(ImGuiOldColumnsPtr columns) { DebugNodeColumnsNative(columns); } /// /// To be documented. /// public static void DebugNodeColumns(ref ImGuiOldColumns columns) { fixed (ImGuiOldColumns* pcolumns = &columns) { DebugNodeColumnsNative((ImGuiOldColumns*)pcolumns); } } /// /// To be documented. /// [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static void DebugNodeDockNodeNative(ImGuiDockNode* node, byte* label) { #if NET5_0_OR_GREATER ((delegate* unmanaged[Cdecl])funcTable[1243])(node, label); #else ((delegate* unmanaged[Cdecl])funcTable[1243])((nint)node, (nint)label); #endif } /// /// To be documented. /// public static void DebugNodeDockNode(ImGuiDockNodePtr node, byte* label) { DebugNodeDockNodeNative(node, label); } /// /// To be documented. /// public static void DebugNodeDockNode(ref ImGuiDockNode node, byte* label) { fixed (ImGuiDockNode* pnode = &node) { DebugNodeDockNodeNative((ImGuiDockNode*)pnode, label); } } /// /// To be documented. /// public static void DebugNodeDockNode(ImGuiDockNodePtr node, ref byte label) { fixed (byte* plabel = &label) { DebugNodeDockNodeNative(node, (byte*)plabel); } } /// /// To be documented. /// public static void DebugNodeDockNode(ImGuiDockNodePtr node, ReadOnlySpan label) { fixed (byte* plabel = label) { DebugNodeDockNodeNative(node, (byte*)plabel); } } /// /// To be documented. /// public static void DebugNodeDockNode(ImGuiDockNodePtr node, string label) { byte* pStr0 = null; int pStrSize0 = 0; if (label != null) { pStrSize0 = Utils.GetByteCountUTF8(label); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(label, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } DebugNodeDockNodeNative(node, pStr0); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } } /// /// To be documented. /// public static void DebugNodeDockNode(ref ImGuiDockNode node, ref byte label) { fixed (ImGuiDockNode* pnode = &node) { fixed (byte* plabel = &label) { DebugNodeDockNodeNative((ImGuiDockNode*)pnode, (byte*)plabel); } } } /// /// To be documented. /// public static void DebugNodeDockNode(ref ImGuiDockNode node, ReadOnlySpan label) { fixed (ImGuiDockNode* pnode = &node) { fixed (byte* plabel = label) { DebugNodeDockNodeNative((ImGuiDockNode*)pnode, (byte*)plabel); } } } /// /// To be documented. /// public static void DebugNodeDockNode(ref ImGuiDockNode node, string label) { fixed (ImGuiDockNode* pnode = &node) { byte* pStr0 = null; int pStrSize0 = 0; if (label != null) { pStrSize0 = Utils.GetByteCountUTF8(label); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(label, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } DebugNodeDockNodeNative((ImGuiDockNode*)pnode, pStr0); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } } } /// /// To be documented. /// [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static void DebugNodeDrawListNative(ImGuiWindow* window, ImGuiViewportP* viewport, ImDrawList* drawList, byte* label) { #if NET5_0_OR_GREATER ((delegate* unmanaged[Cdecl])funcTable[1244])(window, viewport, drawList, label); #else ((delegate* unmanaged[Cdecl])funcTable[1244])((nint)window, (nint)viewport, (nint)drawList, (nint)label); #endif } /// /// To be documented. /// public static void DebugNodeDrawList(ImGuiWindowPtr window, ImGuiViewportPPtr viewport, ImDrawListPtr drawList, byte* label) { DebugNodeDrawListNative(window, viewport, drawList, label); } /// /// To be documented. /// public static void DebugNodeDrawList(ref ImGuiWindow window, ImGuiViewportPPtr viewport, ImDrawListPtr drawList, byte* label) { fixed (ImGuiWindow* pwindow = &window) { DebugNodeDrawListNative((ImGuiWindow*)pwindow, viewport, drawList, label); } } /// /// To be documented. /// public static void DebugNodeDrawList(ImGuiWindowPtr window, ref ImGuiViewportP viewport, ImDrawListPtr drawList, byte* label) { fixed (ImGuiViewportP* pviewport = &viewport) { DebugNodeDrawListNative(window, (ImGuiViewportP*)pviewport, drawList, label); } } /// /// To be documented. /// public static void DebugNodeDrawList(ref ImGuiWindow window, ref ImGuiViewportP viewport, ImDrawListPtr drawList, byte* label) { fixed (ImGuiWindow* pwindow = &window) { fixed (ImGuiViewportP* pviewport = &viewport) { DebugNodeDrawListNative((ImGuiWindow*)pwindow, (ImGuiViewportP*)pviewport, drawList, label); } } } /// /// To be documented. /// public static void DebugNodeDrawList(ImGuiWindowPtr window, ImGuiViewportPPtr viewport, ref ImDrawList drawList, byte* label) { fixed (ImDrawList* pdrawList = &drawList) { DebugNodeDrawListNative(window, viewport, (ImDrawList*)pdrawList, label); } } /// /// To be documented. /// public static void DebugNodeDrawList(ref ImGuiWindow window, ImGuiViewportPPtr viewport, ref ImDrawList drawList, byte* label) { fixed (ImGuiWindow* pwindow = &window) { fixed (ImDrawList* pdrawList = &drawList) { DebugNodeDrawListNative((ImGuiWindow*)pwindow, viewport, (ImDrawList*)pdrawList, label); } } } /// /// To be documented. /// public static void DebugNodeDrawList(ImGuiWindowPtr window, ref ImGuiViewportP viewport, ref ImDrawList drawList, byte* label) { fixed (ImGuiViewportP* pviewport = &viewport) { fixed (ImDrawList* pdrawList = &drawList) { DebugNodeDrawListNative(window, (ImGuiViewportP*)pviewport, (ImDrawList*)pdrawList, label); } } } /// /// To be documented. /// public static void DebugNodeDrawList(ref ImGuiWindow window, ref ImGuiViewportP viewport, ref ImDrawList drawList, byte* label) { fixed (ImGuiWindow* pwindow = &window) { fixed (ImGuiViewportP* pviewport = &viewport) { fixed (ImDrawList* pdrawList = &drawList) { DebugNodeDrawListNative((ImGuiWindow*)pwindow, (ImGuiViewportP*)pviewport, (ImDrawList*)pdrawList, label); } } } } /// /// To be documented. /// public static void DebugNodeDrawList(ImGuiWindowPtr window, ImGuiViewportPPtr viewport, ImDrawListPtr drawList, ref byte label) { fixed (byte* plabel = &label) { DebugNodeDrawListNative(window, viewport, drawList, (byte*)plabel); } } /// /// To be documented. /// public static void DebugNodeDrawList(ImGuiWindowPtr window, ImGuiViewportPPtr viewport, ImDrawListPtr drawList, ReadOnlySpan label) { fixed (byte* plabel = label) { DebugNodeDrawListNative(window, viewport, drawList, (byte*)plabel); } } /// /// To be documented. /// public static void DebugNodeDrawList(ImGuiWindowPtr window, ImGuiViewportPPtr viewport, ImDrawListPtr drawList, string label) { byte* pStr0 = null; int pStrSize0 = 0; if (label != null) { pStrSize0 = Utils.GetByteCountUTF8(label); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(label, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } DebugNodeDrawListNative(window, viewport, drawList, pStr0); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } } /// /// To be documented. /// public static void DebugNodeDrawList(ref ImGuiWindow window, ImGuiViewportPPtr viewport, ImDrawListPtr drawList, ref byte label) { fixed (ImGuiWindow* pwindow = &window) { fixed (byte* plabel = &label) { DebugNodeDrawListNative((ImGuiWindow*)pwindow, viewport, drawList, (byte*)plabel); } } } /// /// To be documented. /// public static void DebugNodeDrawList(ref ImGuiWindow window, ImGuiViewportPPtr viewport, ImDrawListPtr drawList, ReadOnlySpan label) { fixed (ImGuiWindow* pwindow = &window) { fixed (byte* plabel = label) { DebugNodeDrawListNative((ImGuiWindow*)pwindow, viewport, drawList, (byte*)plabel); } } } /// /// To be documented. /// public static void DebugNodeDrawList(ref ImGuiWindow window, ImGuiViewportPPtr viewport, ImDrawListPtr drawList, string label) { fixed (ImGuiWindow* pwindow = &window) { byte* pStr0 = null; int pStrSize0 = 0; if (label != null) { pStrSize0 = Utils.GetByteCountUTF8(label); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(label, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } DebugNodeDrawListNative((ImGuiWindow*)pwindow, viewport, drawList, pStr0); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } } } /// /// To be documented. /// public static void DebugNodeDrawList(ImGuiWindowPtr window, ref ImGuiViewportP viewport, ImDrawListPtr drawList, ref byte label) { fixed (ImGuiViewportP* pviewport = &viewport) { fixed (byte* plabel = &label) { DebugNodeDrawListNative(window, (ImGuiViewportP*)pviewport, drawList, (byte*)plabel); } } } /// /// To be documented. /// public static void DebugNodeDrawList(ImGuiWindowPtr window, ref ImGuiViewportP viewport, ImDrawListPtr drawList, ReadOnlySpan label) { fixed (ImGuiViewportP* pviewport = &viewport) { fixed (byte* plabel = label) { DebugNodeDrawListNative(window, (ImGuiViewportP*)pviewport, drawList, (byte*)plabel); } } } } }