// ------------------------------------------------------------------------------ // // 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 MenuItemEx(string label, byte* icon, bool selected) { 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 = MenuItemExNative(pStr0, icon, (byte*)(default), selected ? (byte)1 : (byte)0, (byte)(1)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } /// /// To be documented. /// public static bool MenuItemEx(string label, byte* icon, bool selected, bool enabled) { 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 = MenuItemExNative(pStr0, icon, (byte*)(default), selected ? (byte)1 : (byte)0, enabled ? (byte)1 : (byte)0); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } /// /// To be documented. /// public static bool MenuItemEx(byte* label, ref byte icon, byte* shortcut, bool selected, bool enabled) { fixed (byte* picon = &icon) { byte ret = MenuItemExNative(label, (byte*)picon, shortcut, selected ? (byte)1 : (byte)0, enabled ? (byte)1 : (byte)0); return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(byte* label, ref byte icon, byte* shortcut, bool selected) { fixed (byte* picon = &icon) { byte ret = MenuItemExNative(label, (byte*)picon, shortcut, selected ? (byte)1 : (byte)0, (byte)(1)); return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(byte* label, ref byte icon, byte* shortcut) { fixed (byte* picon = &icon) { byte ret = MenuItemExNative(label, (byte*)picon, shortcut, (byte)(0), (byte)(1)); return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(byte* label, ref byte icon) { fixed (byte* picon = &icon) { byte ret = MenuItemExNative(label, (byte*)picon, (byte*)(default), (byte)(0), (byte)(1)); return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(byte* label, ref byte icon, bool selected) { fixed (byte* picon = &icon) { byte ret = MenuItemExNative(label, (byte*)picon, (byte*)(default), selected ? (byte)1 : (byte)0, (byte)(1)); return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(byte* label, ref byte icon, bool selected, bool enabled) { fixed (byte* picon = &icon) { byte ret = MenuItemExNative(label, (byte*)picon, (byte*)(default), selected ? (byte)1 : (byte)0, enabled ? (byte)1 : (byte)0); return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(byte* label, ReadOnlySpan icon, byte* shortcut, bool selected, bool enabled) { fixed (byte* picon = icon) { byte ret = MenuItemExNative(label, (byte*)picon, shortcut, selected ? (byte)1 : (byte)0, enabled ? (byte)1 : (byte)0); return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(byte* label, ReadOnlySpan icon, byte* shortcut, bool selected) { fixed (byte* picon = icon) { byte ret = MenuItemExNative(label, (byte*)picon, shortcut, selected ? (byte)1 : (byte)0, (byte)(1)); return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(byte* label, ReadOnlySpan icon, byte* shortcut) { fixed (byte* picon = icon) { byte ret = MenuItemExNative(label, (byte*)picon, shortcut, (byte)(0), (byte)(1)); return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(byte* label, ReadOnlySpan icon) { fixed (byte* picon = icon) { byte ret = MenuItemExNative(label, (byte*)picon, (byte*)(default), (byte)(0), (byte)(1)); return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(byte* label, ReadOnlySpan icon, bool selected) { fixed (byte* picon = icon) { byte ret = MenuItemExNative(label, (byte*)picon, (byte*)(default), selected ? (byte)1 : (byte)0, (byte)(1)); return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(byte* label, ReadOnlySpan icon, bool selected, bool enabled) { fixed (byte* picon = icon) { byte ret = MenuItemExNative(label, (byte*)picon, (byte*)(default), selected ? (byte)1 : (byte)0, enabled ? (byte)1 : (byte)0); return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(byte* label, string icon, byte* shortcut, bool selected, bool enabled) { byte* pStr0 = null; int pStrSize0 = 0; if (icon != null) { pStrSize0 = Utils.GetByteCountUTF8(icon); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(icon, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = MenuItemExNative(label, pStr0, shortcut, selected ? (byte)1 : (byte)0, enabled ? (byte)1 : (byte)0); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } /// /// To be documented. /// public static bool MenuItemEx(byte* label, string icon, byte* shortcut, bool selected) { byte* pStr0 = null; int pStrSize0 = 0; if (icon != null) { pStrSize0 = Utils.GetByteCountUTF8(icon); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(icon, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = MenuItemExNative(label, pStr0, shortcut, selected ? (byte)1 : (byte)0, (byte)(1)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } /// /// To be documented. /// public static bool MenuItemEx(byte* label, string icon, byte* shortcut) { byte* pStr0 = null; int pStrSize0 = 0; if (icon != null) { pStrSize0 = Utils.GetByteCountUTF8(icon); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(icon, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = MenuItemExNative(label, pStr0, shortcut, (byte)(0), (byte)(1)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } /// /// To be documented. /// public static bool MenuItemEx(byte* label, string icon) { byte* pStr0 = null; int pStrSize0 = 0; if (icon != null) { pStrSize0 = Utils.GetByteCountUTF8(icon); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(icon, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = MenuItemExNative(label, pStr0, (byte*)(default), (byte)(0), (byte)(1)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } /// /// To be documented. /// public static bool MenuItemEx(byte* label, string icon, bool selected) { byte* pStr0 = null; int pStrSize0 = 0; if (icon != null) { pStrSize0 = Utils.GetByteCountUTF8(icon); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(icon, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = MenuItemExNative(label, pStr0, (byte*)(default), selected ? (byte)1 : (byte)0, (byte)(1)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } /// /// To be documented. /// public static bool MenuItemEx(byte* label, string icon, bool selected, bool enabled) { byte* pStr0 = null; int pStrSize0 = 0; if (icon != null) { pStrSize0 = Utils.GetByteCountUTF8(icon); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(icon, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = MenuItemExNative(label, pStr0, (byte*)(default), selected ? (byte)1 : (byte)0, enabled ? (byte)1 : (byte)0); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } /// /// To be documented. /// public static bool MenuItemEx(ref byte label, ref byte icon, byte* shortcut, bool selected, bool enabled) { fixed (byte* plabel = &label) { fixed (byte* picon = &icon) { byte ret = MenuItemExNative((byte*)plabel, (byte*)picon, shortcut, selected ? (byte)1 : (byte)0, enabled ? (byte)1 : (byte)0); return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(ref byte label, ref byte icon, byte* shortcut, bool selected) { fixed (byte* plabel = &label) { fixed (byte* picon = &icon) { byte ret = MenuItemExNative((byte*)plabel, (byte*)picon, shortcut, selected ? (byte)1 : (byte)0, (byte)(1)); return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(ref byte label, ref byte icon, byte* shortcut) { fixed (byte* plabel = &label) { fixed (byte* picon = &icon) { byte ret = MenuItemExNative((byte*)plabel, (byte*)picon, shortcut, (byte)(0), (byte)(1)); return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(ref byte label, ref byte icon) { fixed (byte* plabel = &label) { fixed (byte* picon = &icon) { byte ret = MenuItemExNative((byte*)plabel, (byte*)picon, (byte*)(default), (byte)(0), (byte)(1)); return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(ref byte label, ref byte icon, bool selected) { fixed (byte* plabel = &label) { fixed (byte* picon = &icon) { byte ret = MenuItemExNative((byte*)plabel, (byte*)picon, (byte*)(default), selected ? (byte)1 : (byte)0, (byte)(1)); return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(ref byte label, ref byte icon, bool selected, bool enabled) { fixed (byte* plabel = &label) { fixed (byte* picon = &icon) { byte ret = MenuItemExNative((byte*)plabel, (byte*)picon, (byte*)(default), selected ? (byte)1 : (byte)0, enabled ? (byte)1 : (byte)0); return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(ReadOnlySpan label, ReadOnlySpan icon, byte* shortcut, bool selected, bool enabled) { fixed (byte* plabel = label) { fixed (byte* picon = icon) { byte ret = MenuItemExNative((byte*)plabel, (byte*)picon, shortcut, selected ? (byte)1 : (byte)0, enabled ? (byte)1 : (byte)0); return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(ReadOnlySpan label, ReadOnlySpan icon, byte* shortcut, bool selected) { fixed (byte* plabel = label) { fixed (byte* picon = icon) { byte ret = MenuItemExNative((byte*)plabel, (byte*)picon, shortcut, selected ? (byte)1 : (byte)0, (byte)(1)); return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(ReadOnlySpan label, ReadOnlySpan icon, byte* shortcut) { fixed (byte* plabel = label) { fixed (byte* picon = icon) { byte ret = MenuItemExNative((byte*)plabel, (byte*)picon, shortcut, (byte)(0), (byte)(1)); return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(ReadOnlySpan label, ReadOnlySpan icon) { fixed (byte* plabel = label) { fixed (byte* picon = icon) { byte ret = MenuItemExNative((byte*)plabel, (byte*)picon, (byte*)(default), (byte)(0), (byte)(1)); return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(ReadOnlySpan label, ReadOnlySpan icon, bool selected) { fixed (byte* plabel = label) { fixed (byte* picon = icon) { byte ret = MenuItemExNative((byte*)plabel, (byte*)picon, (byte*)(default), selected ? (byte)1 : (byte)0, (byte)(1)); return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(ReadOnlySpan label, ReadOnlySpan icon, bool selected, bool enabled) { fixed (byte* plabel = label) { fixed (byte* picon = icon) { byte ret = MenuItemExNative((byte*)plabel, (byte*)picon, (byte*)(default), selected ? (byte)1 : (byte)0, enabled ? (byte)1 : (byte)0); return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(string label, string icon, byte* shortcut, bool selected, bool enabled) { 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 (icon != null) { pStrSize1 = Utils.GetByteCountUTF8(icon); if (pStrSize1 >= Utils.MaxStackallocSize) { pStr1 = Utils.Alloc(pStrSize1 + 1); } else { byte* pStrStack1 = stackalloc byte[pStrSize1 + 1]; pStr1 = pStrStack1; } int pStrOffset1 = Utils.EncodeStringUTF8(icon, pStr1, pStrSize1); pStr1[pStrOffset1] = 0; } byte ret = MenuItemExNative(pStr0, pStr1, shortcut, selected ? (byte)1 : (byte)0, enabled ? (byte)1 : (byte)0); if (pStrSize1 >= Utils.MaxStackallocSize) { Utils.Free(pStr1); } if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } /// /// To be documented. /// public static bool MenuItemEx(string label, string icon, byte* shortcut, bool selected) { 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 (icon != null) { pStrSize1 = Utils.GetByteCountUTF8(icon); if (pStrSize1 >= Utils.MaxStackallocSize) { pStr1 = Utils.Alloc(pStrSize1 + 1); } else { byte* pStrStack1 = stackalloc byte[pStrSize1 + 1]; pStr1 = pStrStack1; } int pStrOffset1 = Utils.EncodeStringUTF8(icon, pStr1, pStrSize1); pStr1[pStrOffset1] = 0; } byte ret = MenuItemExNative(pStr0, pStr1, shortcut, selected ? (byte)1 : (byte)0, (byte)(1)); if (pStrSize1 >= Utils.MaxStackallocSize) { Utils.Free(pStr1); } if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } /// /// To be documented. /// public static bool MenuItemEx(string label, string icon, byte* shortcut) { 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 (icon != null) { pStrSize1 = Utils.GetByteCountUTF8(icon); if (pStrSize1 >= Utils.MaxStackallocSize) { pStr1 = Utils.Alloc(pStrSize1 + 1); } else { byte* pStrStack1 = stackalloc byte[pStrSize1 + 1]; pStr1 = pStrStack1; } int pStrOffset1 = Utils.EncodeStringUTF8(icon, pStr1, pStrSize1); pStr1[pStrOffset1] = 0; } byte ret = MenuItemExNative(pStr0, pStr1, shortcut, (byte)(0), (byte)(1)); if (pStrSize1 >= Utils.MaxStackallocSize) { Utils.Free(pStr1); } if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } /// /// To be documented. /// public static bool MenuItemEx(string label, string icon) { 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 (icon != null) { pStrSize1 = Utils.GetByteCountUTF8(icon); if (pStrSize1 >= Utils.MaxStackallocSize) { pStr1 = Utils.Alloc(pStrSize1 + 1); } else { byte* pStrStack1 = stackalloc byte[pStrSize1 + 1]; pStr1 = pStrStack1; } int pStrOffset1 = Utils.EncodeStringUTF8(icon, pStr1, pStrSize1); pStr1[pStrOffset1] = 0; } byte ret = MenuItemExNative(pStr0, pStr1, (byte*)(default), (byte)(0), (byte)(1)); if (pStrSize1 >= Utils.MaxStackallocSize) { Utils.Free(pStr1); } if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } /// /// To be documented. /// public static bool MenuItemEx(string label, string icon, bool selected) { 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 (icon != null) { pStrSize1 = Utils.GetByteCountUTF8(icon); if (pStrSize1 >= Utils.MaxStackallocSize) { pStr1 = Utils.Alloc(pStrSize1 + 1); } else { byte* pStrStack1 = stackalloc byte[pStrSize1 + 1]; pStr1 = pStrStack1; } int pStrOffset1 = Utils.EncodeStringUTF8(icon, pStr1, pStrSize1); pStr1[pStrOffset1] = 0; } byte ret = MenuItemExNative(pStr0, pStr1, (byte*)(default), selected ? (byte)1 : (byte)0, (byte)(1)); if (pStrSize1 >= Utils.MaxStackallocSize) { Utils.Free(pStr1); } if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } /// /// To be documented. /// public static bool MenuItemEx(string label, string icon, bool selected, bool enabled) { 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 (icon != null) { pStrSize1 = Utils.GetByteCountUTF8(icon); if (pStrSize1 >= Utils.MaxStackallocSize) { pStr1 = Utils.Alloc(pStrSize1 + 1); } else { byte* pStrStack1 = stackalloc byte[pStrSize1 + 1]; pStr1 = pStrStack1; } int pStrOffset1 = Utils.EncodeStringUTF8(icon, pStr1, pStrSize1); pStr1[pStrOffset1] = 0; } byte ret = MenuItemExNative(pStr0, pStr1, (byte*)(default), selected ? (byte)1 : (byte)0, enabled ? (byte)1 : (byte)0); if (pStrSize1 >= Utils.MaxStackallocSize) { Utils.Free(pStr1); } if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } /// /// To be documented. /// public static bool MenuItemEx(ref byte label, ReadOnlySpan icon, byte* shortcut, bool selected, bool enabled) { fixed (byte* plabel = &label) { fixed (byte* picon = icon) { byte ret = MenuItemExNative((byte*)plabel, (byte*)picon, shortcut, selected ? (byte)1 : (byte)0, enabled ? (byte)1 : (byte)0); return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(ref byte label, ReadOnlySpan icon, byte* shortcut, bool selected) { fixed (byte* plabel = &label) { fixed (byte* picon = icon) { byte ret = MenuItemExNative((byte*)plabel, (byte*)picon, shortcut, selected ? (byte)1 : (byte)0, (byte)(1)); return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(ref byte label, ReadOnlySpan icon, byte* shortcut) { fixed (byte* plabel = &label) { fixed (byte* picon = icon) { byte ret = MenuItemExNative((byte*)plabel, (byte*)picon, shortcut, (byte)(0), (byte)(1)); return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(ref byte label, ReadOnlySpan icon) { fixed (byte* plabel = &label) { fixed (byte* picon = icon) { byte ret = MenuItemExNative((byte*)plabel, (byte*)picon, (byte*)(default), (byte)(0), (byte)(1)); return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(ref byte label, ReadOnlySpan icon, bool selected) { fixed (byte* plabel = &label) { fixed (byte* picon = icon) { byte ret = MenuItemExNative((byte*)plabel, (byte*)picon, (byte*)(default), selected ? (byte)1 : (byte)0, (byte)(1)); return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(ref byte label, ReadOnlySpan icon, bool selected, bool enabled) { fixed (byte* plabel = &label) { fixed (byte* picon = icon) { byte ret = MenuItemExNative((byte*)plabel, (byte*)picon, (byte*)(default), selected ? (byte)1 : (byte)0, enabled ? (byte)1 : (byte)0); return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(ref byte label, string icon, byte* shortcut, bool selected, bool enabled) { fixed (byte* plabel = &label) { byte* pStr0 = null; int pStrSize0 = 0; if (icon != null) { pStrSize0 = Utils.GetByteCountUTF8(icon); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(icon, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = MenuItemExNative((byte*)plabel, pStr0, shortcut, selected ? (byte)1 : (byte)0, enabled ? (byte)1 : (byte)0); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(ref byte label, string icon, byte* shortcut, bool selected) { fixed (byte* plabel = &label) { byte* pStr0 = null; int pStrSize0 = 0; if (icon != null) { pStrSize0 = Utils.GetByteCountUTF8(icon); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(icon, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = MenuItemExNative((byte*)plabel, pStr0, shortcut, selected ? (byte)1 : (byte)0, (byte)(1)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(ref byte label, string icon, byte* shortcut) { fixed (byte* plabel = &label) { byte* pStr0 = null; int pStrSize0 = 0; if (icon != null) { pStrSize0 = Utils.GetByteCountUTF8(icon); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(icon, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = MenuItemExNative((byte*)plabel, pStr0, shortcut, (byte)(0), (byte)(1)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(ref byte label, string icon) { fixed (byte* plabel = &label) { byte* pStr0 = null; int pStrSize0 = 0; if (icon != null) { pStrSize0 = Utils.GetByteCountUTF8(icon); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(icon, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = MenuItemExNative((byte*)plabel, pStr0, (byte*)(default), (byte)(0), (byte)(1)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(ref byte label, string icon, bool selected) { fixed (byte* plabel = &label) { byte* pStr0 = null; int pStrSize0 = 0; if (icon != null) { pStrSize0 = Utils.GetByteCountUTF8(icon); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(icon, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = MenuItemExNative((byte*)plabel, pStr0, (byte*)(default), selected ? (byte)1 : (byte)0, (byte)(1)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(ref byte label, string icon, bool selected, bool enabled) { fixed (byte* plabel = &label) { byte* pStr0 = null; int pStrSize0 = 0; if (icon != null) { pStrSize0 = Utils.GetByteCountUTF8(icon); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(icon, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = MenuItemExNative((byte*)plabel, pStr0, (byte*)(default), selected ? (byte)1 : (byte)0, enabled ? (byte)1 : (byte)0); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(ReadOnlySpan label, ref byte icon, byte* shortcut, bool selected, bool enabled) { fixed (byte* plabel = label) { fixed (byte* picon = &icon) { byte ret = MenuItemExNative((byte*)plabel, (byte*)picon, shortcut, selected ? (byte)1 : (byte)0, enabled ? (byte)1 : (byte)0); return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(ReadOnlySpan label, ref byte icon, byte* shortcut, bool selected) { fixed (byte* plabel = label) { fixed (byte* picon = &icon) { byte ret = MenuItemExNative((byte*)plabel, (byte*)picon, shortcut, selected ? (byte)1 : (byte)0, (byte)(1)); return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(ReadOnlySpan label, ref byte icon, byte* shortcut) { fixed (byte* plabel = label) { fixed (byte* picon = &icon) { byte ret = MenuItemExNative((byte*)plabel, (byte*)picon, shortcut, (byte)(0), (byte)(1)); return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(ReadOnlySpan label, ref byte icon) { fixed (byte* plabel = label) { fixed (byte* picon = &icon) { byte ret = MenuItemExNative((byte*)plabel, (byte*)picon, (byte*)(default), (byte)(0), (byte)(1)); return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(ReadOnlySpan label, ref byte icon, bool selected) { fixed (byte* plabel = label) { fixed (byte* picon = &icon) { byte ret = MenuItemExNative((byte*)plabel, (byte*)picon, (byte*)(default), selected ? (byte)1 : (byte)0, (byte)(1)); return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(ReadOnlySpan label, ref byte icon, bool selected, bool enabled) { fixed (byte* plabel = label) { fixed (byte* picon = &icon) { byte ret = MenuItemExNative((byte*)plabel, (byte*)picon, (byte*)(default), selected ? (byte)1 : (byte)0, enabled ? (byte)1 : (byte)0); return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(ReadOnlySpan label, string icon, byte* shortcut, bool selected, bool enabled) { fixed (byte* plabel = label) { byte* pStr0 = null; int pStrSize0 = 0; if (icon != null) { pStrSize0 = Utils.GetByteCountUTF8(icon); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(icon, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = MenuItemExNative((byte*)plabel, pStr0, shortcut, selected ? (byte)1 : (byte)0, enabled ? (byte)1 : (byte)0); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(ReadOnlySpan label, string icon, byte* shortcut, bool selected) { fixed (byte* plabel = label) { byte* pStr0 = null; int pStrSize0 = 0; if (icon != null) { pStrSize0 = Utils.GetByteCountUTF8(icon); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(icon, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = MenuItemExNative((byte*)plabel, pStr0, shortcut, selected ? (byte)1 : (byte)0, (byte)(1)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(ReadOnlySpan label, string icon, byte* shortcut) { fixed (byte* plabel = label) { byte* pStr0 = null; int pStrSize0 = 0; if (icon != null) { pStrSize0 = Utils.GetByteCountUTF8(icon); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(icon, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = MenuItemExNative((byte*)plabel, pStr0, shortcut, (byte)(0), (byte)(1)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(ReadOnlySpan label, string icon) { fixed (byte* plabel = label) { byte* pStr0 = null; int pStrSize0 = 0; if (icon != null) { pStrSize0 = Utils.GetByteCountUTF8(icon); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(icon, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = MenuItemExNative((byte*)plabel, pStr0, (byte*)(default), (byte)(0), (byte)(1)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(ReadOnlySpan label, string icon, bool selected) { fixed (byte* plabel = label) { byte* pStr0 = null; int pStrSize0 = 0; if (icon != null) { pStrSize0 = Utils.GetByteCountUTF8(icon); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(icon, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = MenuItemExNative((byte*)plabel, pStr0, (byte*)(default), selected ? (byte)1 : (byte)0, (byte)(1)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(ReadOnlySpan label, string icon, bool selected, bool enabled) { fixed (byte* plabel = label) { byte* pStr0 = null; int pStrSize0 = 0; if (icon != null) { pStrSize0 = Utils.GetByteCountUTF8(icon); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(icon, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = MenuItemExNative((byte*)plabel, pStr0, (byte*)(default), selected ? (byte)1 : (byte)0, enabled ? (byte)1 : (byte)0); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(string label, ref byte icon, byte* shortcut, bool selected, bool enabled) { 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* picon = &icon) { byte ret = MenuItemExNative(pStr0, (byte*)picon, shortcut, selected ? (byte)1 : (byte)0, enabled ? (byte)1 : (byte)0); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(string label, ref byte icon, byte* shortcut, bool selected) { 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* picon = &icon) { byte ret = MenuItemExNative(pStr0, (byte*)picon, shortcut, selected ? (byte)1 : (byte)0, (byte)(1)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(string label, ref byte icon, byte* shortcut) { 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* picon = &icon) { byte ret = MenuItemExNative(pStr0, (byte*)picon, shortcut, (byte)(0), (byte)(1)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(string label, ref byte icon) { 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* picon = &icon) { byte ret = MenuItemExNative(pStr0, (byte*)picon, (byte*)(default), (byte)(0), (byte)(1)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(string label, ref byte icon, bool selected) { 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* picon = &icon) { byte ret = MenuItemExNative(pStr0, (byte*)picon, (byte*)(default), selected ? (byte)1 : (byte)0, (byte)(1)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(string label, ref byte icon, bool selected, bool enabled) { 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* picon = &icon) { byte ret = MenuItemExNative(pStr0, (byte*)picon, (byte*)(default), selected ? (byte)1 : (byte)0, enabled ? (byte)1 : (byte)0); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(string label, ReadOnlySpan icon, byte* shortcut, bool selected, bool enabled) { 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* picon = icon) { byte ret = MenuItemExNative(pStr0, (byte*)picon, shortcut, selected ? (byte)1 : (byte)0, enabled ? (byte)1 : (byte)0); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(string label, ReadOnlySpan icon, byte* shortcut, bool selected) { 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* picon = icon) { byte ret = MenuItemExNative(pStr0, (byte*)picon, shortcut, selected ? (byte)1 : (byte)0, (byte)(1)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(string label, ReadOnlySpan icon, byte* shortcut) { 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* picon = icon) { byte ret = MenuItemExNative(pStr0, (byte*)picon, shortcut, (byte)(0), (byte)(1)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(string label, ReadOnlySpan icon) { 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* picon = icon) { byte ret = MenuItemExNative(pStr0, (byte*)picon, (byte*)(default), (byte)(0), (byte)(1)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(string label, ReadOnlySpan icon, bool selected) { 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* picon = icon) { byte ret = MenuItemExNative(pStr0, (byte*)picon, (byte*)(default), selected ? (byte)1 : (byte)0, (byte)(1)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(string label, ReadOnlySpan icon, bool selected, bool enabled) { 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* picon = icon) { byte ret = MenuItemExNative(pStr0, (byte*)picon, (byte*)(default), selected ? (byte)1 : (byte)0, enabled ? (byte)1 : (byte)0); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(byte* label, byte* icon, ref byte shortcut, bool selected, bool enabled) { fixed (byte* pshortcut = &shortcut) { byte ret = MenuItemExNative(label, icon, (byte*)pshortcut, selected ? (byte)1 : (byte)0, enabled ? (byte)1 : (byte)0); return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(byte* label, byte* icon, ref byte shortcut, bool selected) { fixed (byte* pshortcut = &shortcut) { byte ret = MenuItemExNative(label, icon, (byte*)pshortcut, selected ? (byte)1 : (byte)0, (byte)(1)); return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(byte* label, byte* icon, ref byte shortcut) { fixed (byte* pshortcut = &shortcut) { byte ret = MenuItemExNative(label, icon, (byte*)pshortcut, (byte)(0), (byte)(1)); return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(byte* label, byte* icon, ReadOnlySpan shortcut, bool selected, bool enabled) { fixed (byte* pshortcut = shortcut) { byte ret = MenuItemExNative(label, icon, (byte*)pshortcut, selected ? (byte)1 : (byte)0, enabled ? (byte)1 : (byte)0); return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(byte* label, byte* icon, ReadOnlySpan shortcut, bool selected) { fixed (byte* pshortcut = shortcut) { byte ret = MenuItemExNative(label, icon, (byte*)pshortcut, selected ? (byte)1 : (byte)0, (byte)(1)); return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(byte* label, byte* icon, ReadOnlySpan shortcut) { fixed (byte* pshortcut = shortcut) { byte ret = MenuItemExNative(label, icon, (byte*)pshortcut, (byte)(0), (byte)(1)); return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(byte* label, byte* icon, string shortcut, bool selected, bool enabled) { byte* pStr0 = null; int pStrSize0 = 0; if (shortcut != null) { pStrSize0 = Utils.GetByteCountUTF8(shortcut); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(shortcut, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = MenuItemExNative(label, icon, pStr0, selected ? (byte)1 : (byte)0, enabled ? (byte)1 : (byte)0); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } /// /// To be documented. /// public static bool MenuItemEx(byte* label, byte* icon, string shortcut, bool selected) { byte* pStr0 = null; int pStrSize0 = 0; if (shortcut != null) { pStrSize0 = Utils.GetByteCountUTF8(shortcut); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(shortcut, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = MenuItemExNative(label, icon, pStr0, selected ? (byte)1 : (byte)0, (byte)(1)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } /// /// To be documented. /// public static bool MenuItemEx(byte* label, byte* icon, string shortcut) { byte* pStr0 = null; int pStrSize0 = 0; if (shortcut != null) { pStrSize0 = Utils.GetByteCountUTF8(shortcut); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(shortcut, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = MenuItemExNative(label, icon, pStr0, (byte)(0), (byte)(1)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } /// /// To be documented. /// public static bool MenuItemEx(ref byte label, byte* icon, ref byte shortcut, bool selected, bool enabled) { fixed (byte* plabel = &label) { fixed (byte* pshortcut = &shortcut) { byte ret = MenuItemExNative((byte*)plabel, icon, (byte*)pshortcut, selected ? (byte)1 : (byte)0, enabled ? (byte)1 : (byte)0); return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(ref byte label, byte* icon, ref byte shortcut, bool selected) { fixed (byte* plabel = &label) { fixed (byte* pshortcut = &shortcut) { byte ret = MenuItemExNative((byte*)plabel, icon, (byte*)pshortcut, selected ? (byte)1 : (byte)0, (byte)(1)); return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(ref byte label, byte* icon, ref byte shortcut) { fixed (byte* plabel = &label) { fixed (byte* pshortcut = &shortcut) { byte ret = MenuItemExNative((byte*)plabel, icon, (byte*)pshortcut, (byte)(0), (byte)(1)); return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(ReadOnlySpan label, byte* icon, ReadOnlySpan shortcut, bool selected, bool enabled) { fixed (byte* plabel = label) { fixed (byte* pshortcut = shortcut) { byte ret = MenuItemExNative((byte*)plabel, icon, (byte*)pshortcut, selected ? (byte)1 : (byte)0, enabled ? (byte)1 : (byte)0); return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(ReadOnlySpan label, byte* icon, ReadOnlySpan shortcut, bool selected) { fixed (byte* plabel = label) { fixed (byte* pshortcut = shortcut) { byte ret = MenuItemExNative((byte*)plabel, icon, (byte*)pshortcut, selected ? (byte)1 : (byte)0, (byte)(1)); return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(ReadOnlySpan label, byte* icon, ReadOnlySpan shortcut) { fixed (byte* plabel = label) { fixed (byte* pshortcut = shortcut) { byte ret = MenuItemExNative((byte*)plabel, icon, (byte*)pshortcut, (byte)(0), (byte)(1)); return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(string label, byte* icon, string shortcut, bool selected, bool enabled) { 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 (shortcut != null) { pStrSize1 = Utils.GetByteCountUTF8(shortcut); if (pStrSize1 >= Utils.MaxStackallocSize) { pStr1 = Utils.Alloc(pStrSize1 + 1); } else { byte* pStrStack1 = stackalloc byte[pStrSize1 + 1]; pStr1 = pStrStack1; } int pStrOffset1 = Utils.EncodeStringUTF8(shortcut, pStr1, pStrSize1); pStr1[pStrOffset1] = 0; } byte ret = MenuItemExNative(pStr0, icon, pStr1, selected ? (byte)1 : (byte)0, enabled ? (byte)1 : (byte)0); if (pStrSize1 >= Utils.MaxStackallocSize) { Utils.Free(pStr1); } if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } /// /// To be documented. /// public static bool MenuItemEx(string label, byte* icon, string shortcut, bool selected) { 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 (shortcut != null) { pStrSize1 = Utils.GetByteCountUTF8(shortcut); if (pStrSize1 >= Utils.MaxStackallocSize) { pStr1 = Utils.Alloc(pStrSize1 + 1); } else { byte* pStrStack1 = stackalloc byte[pStrSize1 + 1]; pStr1 = pStrStack1; } int pStrOffset1 = Utils.EncodeStringUTF8(shortcut, pStr1, pStrSize1); pStr1[pStrOffset1] = 0; } byte ret = MenuItemExNative(pStr0, icon, pStr1, selected ? (byte)1 : (byte)0, (byte)(1)); if (pStrSize1 >= Utils.MaxStackallocSize) { Utils.Free(pStr1); } if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } /// /// To be documented. /// public static bool MenuItemEx(string label, byte* icon, string shortcut) { 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 (shortcut != null) { pStrSize1 = Utils.GetByteCountUTF8(shortcut); if (pStrSize1 >= Utils.MaxStackallocSize) { pStr1 = Utils.Alloc(pStrSize1 + 1); } else { byte* pStrStack1 = stackalloc byte[pStrSize1 + 1]; pStr1 = pStrStack1; } int pStrOffset1 = Utils.EncodeStringUTF8(shortcut, pStr1, pStrSize1); pStr1[pStrOffset1] = 0; } byte ret = MenuItemExNative(pStr0, icon, pStr1, (byte)(0), (byte)(1)); if (pStrSize1 >= Utils.MaxStackallocSize) { Utils.Free(pStr1); } if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } /// /// To be documented. /// public static bool MenuItemEx(ref byte label, byte* icon, ReadOnlySpan shortcut, bool selected, bool enabled) { fixed (byte* plabel = &label) { fixed (byte* pshortcut = shortcut) { byte ret = MenuItemExNative((byte*)plabel, icon, (byte*)pshortcut, selected ? (byte)1 : (byte)0, enabled ? (byte)1 : (byte)0); return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(ref byte label, byte* icon, ReadOnlySpan shortcut, bool selected) { fixed (byte* plabel = &label) { fixed (byte* pshortcut = shortcut) { byte ret = MenuItemExNative((byte*)plabel, icon, (byte*)pshortcut, selected ? (byte)1 : (byte)0, (byte)(1)); return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(ref byte label, byte* icon, ReadOnlySpan shortcut) { fixed (byte* plabel = &label) { fixed (byte* pshortcut = shortcut) { byte ret = MenuItemExNative((byte*)plabel, icon, (byte*)pshortcut, (byte)(0), (byte)(1)); return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(ref byte label, byte* icon, string shortcut, bool selected, bool enabled) { fixed (byte* plabel = &label) { byte* pStr0 = null; int pStrSize0 = 0; if (shortcut != null) { pStrSize0 = Utils.GetByteCountUTF8(shortcut); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(shortcut, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = MenuItemExNative((byte*)plabel, icon, pStr0, selected ? (byte)1 : (byte)0, enabled ? (byte)1 : (byte)0); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(ref byte label, byte* icon, string shortcut, bool selected) { fixed (byte* plabel = &label) { byte* pStr0 = null; int pStrSize0 = 0; if (shortcut != null) { pStrSize0 = Utils.GetByteCountUTF8(shortcut); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(shortcut, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = MenuItemExNative((byte*)plabel, icon, pStr0, selected ? (byte)1 : (byte)0, (byte)(1)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(ref byte label, byte* icon, string shortcut) { fixed (byte* plabel = &label) { byte* pStr0 = null; int pStrSize0 = 0; if (shortcut != null) { pStrSize0 = Utils.GetByteCountUTF8(shortcut); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(shortcut, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = MenuItemExNative((byte*)plabel, icon, pStr0, (byte)(0), (byte)(1)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(ReadOnlySpan label, byte* icon, ref byte shortcut, bool selected, bool enabled) { fixed (byte* plabel = label) { fixed (byte* pshortcut = &shortcut) { byte ret = MenuItemExNative((byte*)plabel, icon, (byte*)pshortcut, selected ? (byte)1 : (byte)0, enabled ? (byte)1 : (byte)0); return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(ReadOnlySpan label, byte* icon, ref byte shortcut, bool selected) { fixed (byte* plabel = label) { fixed (byte* pshortcut = &shortcut) { byte ret = MenuItemExNative((byte*)plabel, icon, (byte*)pshortcut, selected ? (byte)1 : (byte)0, (byte)(1)); return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(ReadOnlySpan label, byte* icon, ref byte shortcut) { fixed (byte* plabel = label) { fixed (byte* pshortcut = &shortcut) { byte ret = MenuItemExNative((byte*)plabel, icon, (byte*)pshortcut, (byte)(0), (byte)(1)); return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(ReadOnlySpan label, byte* icon, string shortcut, bool selected, bool enabled) { fixed (byte* plabel = label) { byte* pStr0 = null; int pStrSize0 = 0; if (shortcut != null) { pStrSize0 = Utils.GetByteCountUTF8(shortcut); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(shortcut, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = MenuItemExNative((byte*)plabel, icon, pStr0, selected ? (byte)1 : (byte)0, enabled ? (byte)1 : (byte)0); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(ReadOnlySpan label, byte* icon, string shortcut, bool selected) { fixed (byte* plabel = label) { byte* pStr0 = null; int pStrSize0 = 0; if (shortcut != null) { pStrSize0 = Utils.GetByteCountUTF8(shortcut); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(shortcut, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = MenuItemExNative((byte*)plabel, icon, pStr0, selected ? (byte)1 : (byte)0, (byte)(1)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(ReadOnlySpan label, byte* icon, string shortcut) { fixed (byte* plabel = label) { byte* pStr0 = null; int pStrSize0 = 0; if (shortcut != null) { pStrSize0 = Utils.GetByteCountUTF8(shortcut); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(shortcut, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = MenuItemExNative((byte*)plabel, icon, pStr0, (byte)(0), (byte)(1)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(string label, byte* icon, ref byte shortcut, bool selected, bool enabled) { 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* pshortcut = &shortcut) { byte ret = MenuItemExNative(pStr0, icon, (byte*)pshortcut, selected ? (byte)1 : (byte)0, enabled ? (byte)1 : (byte)0); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(string label, byte* icon, ref byte shortcut, bool selected) { 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* pshortcut = &shortcut) { byte ret = MenuItemExNative(pStr0, icon, (byte*)pshortcut, selected ? (byte)1 : (byte)0, (byte)(1)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(string label, byte* icon, ref byte shortcut) { 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* pshortcut = &shortcut) { byte ret = MenuItemExNative(pStr0, icon, (byte*)pshortcut, (byte)(0), (byte)(1)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(string label, byte* icon, ReadOnlySpan shortcut, bool selected, bool enabled) { 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* pshortcut = shortcut) { byte ret = MenuItemExNative(pStr0, icon, (byte*)pshortcut, selected ? (byte)1 : (byte)0, enabled ? (byte)1 : (byte)0); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(string label, byte* icon, ReadOnlySpan shortcut, bool selected) { 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* pshortcut = shortcut) { byte ret = MenuItemExNative(pStr0, icon, (byte*)pshortcut, selected ? (byte)1 : (byte)0, (byte)(1)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(string label, byte* icon, ReadOnlySpan shortcut) { 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* pshortcut = shortcut) { byte ret = MenuItemExNative(pStr0, icon, (byte*)pshortcut, (byte)(0), (byte)(1)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(byte* label, ref byte icon, ref byte shortcut, bool selected, bool enabled) { fixed (byte* picon = &icon) { fixed (byte* pshortcut = &shortcut) { byte ret = MenuItemExNative(label, (byte*)picon, (byte*)pshortcut, selected ? (byte)1 : (byte)0, enabled ? (byte)1 : (byte)0); return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(byte* label, ref byte icon, ref byte shortcut, bool selected) { fixed (byte* picon = &icon) { fixed (byte* pshortcut = &shortcut) { byte ret = MenuItemExNative(label, (byte*)picon, (byte*)pshortcut, selected ? (byte)1 : (byte)0, (byte)(1)); return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(byte* label, ref byte icon, ref byte shortcut) { fixed (byte* picon = &icon) { fixed (byte* pshortcut = &shortcut) { byte ret = MenuItemExNative(label, (byte*)picon, (byte*)pshortcut, (byte)(0), (byte)(1)); return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(byte* label, ReadOnlySpan icon, ReadOnlySpan shortcut, bool selected, bool enabled) { fixed (byte* picon = icon) { fixed (byte* pshortcut = shortcut) { byte ret = MenuItemExNative(label, (byte*)picon, (byte*)pshortcut, selected ? (byte)1 : (byte)0, enabled ? (byte)1 : (byte)0); return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(byte* label, ReadOnlySpan icon, ReadOnlySpan shortcut, bool selected) { fixed (byte* picon = icon) { fixed (byte* pshortcut = shortcut) { byte ret = MenuItemExNative(label, (byte*)picon, (byte*)pshortcut, selected ? (byte)1 : (byte)0, (byte)(1)); return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(byte* label, ReadOnlySpan icon, ReadOnlySpan shortcut) { fixed (byte* picon = icon) { fixed (byte* pshortcut = shortcut) { byte ret = MenuItemExNative(label, (byte*)picon, (byte*)pshortcut, (byte)(0), (byte)(1)); return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(byte* label, string icon, string shortcut, bool selected, bool enabled) { byte* pStr0 = null; int pStrSize0 = 0; if (icon != null) { pStrSize0 = Utils.GetByteCountUTF8(icon); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(icon, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte* pStr1 = null; int pStrSize1 = 0; if (shortcut != null) { pStrSize1 = Utils.GetByteCountUTF8(shortcut); if (pStrSize1 >= Utils.MaxStackallocSize) { pStr1 = Utils.Alloc(pStrSize1 + 1); } else { byte* pStrStack1 = stackalloc byte[pStrSize1 + 1]; pStr1 = pStrStack1; } int pStrOffset1 = Utils.EncodeStringUTF8(shortcut, pStr1, pStrSize1); pStr1[pStrOffset1] = 0; } byte ret = MenuItemExNative(label, pStr0, pStr1, selected ? (byte)1 : (byte)0, enabled ? (byte)1 : (byte)0); if (pStrSize1 >= Utils.MaxStackallocSize) { Utils.Free(pStr1); } if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } /// /// To be documented. /// public static bool MenuItemEx(byte* label, string icon, string shortcut, bool selected) { byte* pStr0 = null; int pStrSize0 = 0; if (icon != null) { pStrSize0 = Utils.GetByteCountUTF8(icon); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(icon, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte* pStr1 = null; int pStrSize1 = 0; if (shortcut != null) { pStrSize1 = Utils.GetByteCountUTF8(shortcut); if (pStrSize1 >= Utils.MaxStackallocSize) { pStr1 = Utils.Alloc(pStrSize1 + 1); } else { byte* pStrStack1 = stackalloc byte[pStrSize1 + 1]; pStr1 = pStrStack1; } int pStrOffset1 = Utils.EncodeStringUTF8(shortcut, pStr1, pStrSize1); pStr1[pStrOffset1] = 0; } byte ret = MenuItemExNative(label, pStr0, pStr1, selected ? (byte)1 : (byte)0, (byte)(1)); if (pStrSize1 >= Utils.MaxStackallocSize) { Utils.Free(pStr1); } if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } /// /// To be documented. /// public static bool MenuItemEx(byte* label, string icon, string shortcut) { byte* pStr0 = null; int pStrSize0 = 0; if (icon != null) { pStrSize0 = Utils.GetByteCountUTF8(icon); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(icon, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte* pStr1 = null; int pStrSize1 = 0; if (shortcut != null) { pStrSize1 = Utils.GetByteCountUTF8(shortcut); if (pStrSize1 >= Utils.MaxStackallocSize) { pStr1 = Utils.Alloc(pStrSize1 + 1); } else { byte* pStrStack1 = stackalloc byte[pStrSize1 + 1]; pStr1 = pStrStack1; } int pStrOffset1 = Utils.EncodeStringUTF8(shortcut, pStr1, pStrSize1); pStr1[pStrOffset1] = 0; } byte ret = MenuItemExNative(label, pStr0, pStr1, (byte)(0), (byte)(1)); if (pStrSize1 >= Utils.MaxStackallocSize) { Utils.Free(pStr1); } if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } /// /// To be documented. /// public static bool MenuItemEx(byte* label, ref byte icon, ReadOnlySpan shortcut, bool selected, bool enabled) { fixed (byte* picon = &icon) { fixed (byte* pshortcut = shortcut) { byte ret = MenuItemExNative(label, (byte*)picon, (byte*)pshortcut, selected ? (byte)1 : (byte)0, enabled ? (byte)1 : (byte)0); return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(byte* label, ref byte icon, ReadOnlySpan shortcut, bool selected) { fixed (byte* picon = &icon) { fixed (byte* pshortcut = shortcut) { byte ret = MenuItemExNative(label, (byte*)picon, (byte*)pshortcut, selected ? (byte)1 : (byte)0, (byte)(1)); return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(byte* label, ref byte icon, ReadOnlySpan shortcut) { fixed (byte* picon = &icon) { fixed (byte* pshortcut = shortcut) { byte ret = MenuItemExNative(label, (byte*)picon, (byte*)pshortcut, (byte)(0), (byte)(1)); return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(byte* label, ref byte icon, string shortcut, bool selected, bool enabled) { fixed (byte* picon = &icon) { byte* pStr0 = null; int pStrSize0 = 0; if (shortcut != null) { pStrSize0 = Utils.GetByteCountUTF8(shortcut); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(shortcut, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = MenuItemExNative(label, (byte*)picon, pStr0, selected ? (byte)1 : (byte)0, enabled ? (byte)1 : (byte)0); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(byte* label, ref byte icon, string shortcut, bool selected) { fixed (byte* picon = &icon) { byte* pStr0 = null; int pStrSize0 = 0; if (shortcut != null) { pStrSize0 = Utils.GetByteCountUTF8(shortcut); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(shortcut, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = MenuItemExNative(label, (byte*)picon, pStr0, selected ? (byte)1 : (byte)0, (byte)(1)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(byte* label, ref byte icon, string shortcut) { fixed (byte* picon = &icon) { byte* pStr0 = null; int pStrSize0 = 0; if (shortcut != null) { pStrSize0 = Utils.GetByteCountUTF8(shortcut); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(shortcut, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = MenuItemExNative(label, (byte*)picon, pStr0, (byte)(0), (byte)(1)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(byte* label, ReadOnlySpan icon, ref byte shortcut, bool selected, bool enabled) { fixed (byte* picon = icon) { fixed (byte* pshortcut = &shortcut) { byte ret = MenuItemExNative(label, (byte*)picon, (byte*)pshortcut, selected ? (byte)1 : (byte)0, enabled ? (byte)1 : (byte)0); return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(byte* label, ReadOnlySpan icon, ref byte shortcut, bool selected) { fixed (byte* picon = icon) { fixed (byte* pshortcut = &shortcut) { byte ret = MenuItemExNative(label, (byte*)picon, (byte*)pshortcut, selected ? (byte)1 : (byte)0, (byte)(1)); return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(byte* label, ReadOnlySpan icon, ref byte shortcut) { fixed (byte* picon = icon) { fixed (byte* pshortcut = &shortcut) { byte ret = MenuItemExNative(label, (byte*)picon, (byte*)pshortcut, (byte)(0), (byte)(1)); return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(byte* label, ReadOnlySpan icon, string shortcut, bool selected, bool enabled) { fixed (byte* picon = icon) { byte* pStr0 = null; int pStrSize0 = 0; if (shortcut != null) { pStrSize0 = Utils.GetByteCountUTF8(shortcut); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(shortcut, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = MenuItemExNative(label, (byte*)picon, pStr0, selected ? (byte)1 : (byte)0, enabled ? (byte)1 : (byte)0); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(byte* label, ReadOnlySpan icon, string shortcut, bool selected) { fixed (byte* picon = icon) { byte* pStr0 = null; int pStrSize0 = 0; if (shortcut != null) { pStrSize0 = Utils.GetByteCountUTF8(shortcut); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(shortcut, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = MenuItemExNative(label, (byte*)picon, pStr0, selected ? (byte)1 : (byte)0, (byte)(1)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(byte* label, ReadOnlySpan icon, string shortcut) { fixed (byte* picon = icon) { byte* pStr0 = null; int pStrSize0 = 0; if (shortcut != null) { pStrSize0 = Utils.GetByteCountUTF8(shortcut); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(shortcut, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = MenuItemExNative(label, (byte*)picon, pStr0, (byte)(0), (byte)(1)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(byte* label, string icon, ref byte shortcut, bool selected, bool enabled) { byte* pStr0 = null; int pStrSize0 = 0; if (icon != null) { pStrSize0 = Utils.GetByteCountUTF8(icon); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(icon, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } fixed (byte* pshortcut = &shortcut) { byte ret = MenuItemExNative(label, pStr0, (byte*)pshortcut, selected ? (byte)1 : (byte)0, enabled ? (byte)1 : (byte)0); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(byte* label, string icon, ref byte shortcut, bool selected) { byte* pStr0 = null; int pStrSize0 = 0; if (icon != null) { pStrSize0 = Utils.GetByteCountUTF8(icon); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(icon, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } fixed (byte* pshortcut = &shortcut) { byte ret = MenuItemExNative(label, pStr0, (byte*)pshortcut, selected ? (byte)1 : (byte)0, (byte)(1)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(byte* label, string icon, ref byte shortcut) { byte* pStr0 = null; int pStrSize0 = 0; if (icon != null) { pStrSize0 = Utils.GetByteCountUTF8(icon); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(icon, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } fixed (byte* pshortcut = &shortcut) { byte ret = MenuItemExNative(label, pStr0, (byte*)pshortcut, (byte)(0), (byte)(1)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(byte* label, string icon, ReadOnlySpan shortcut, bool selected, bool enabled) { byte* pStr0 = null; int pStrSize0 = 0; if (icon != null) { pStrSize0 = Utils.GetByteCountUTF8(icon); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(icon, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } fixed (byte* pshortcut = shortcut) { byte ret = MenuItemExNative(label, pStr0, (byte*)pshortcut, selected ? (byte)1 : (byte)0, enabled ? (byte)1 : (byte)0); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(byte* label, string icon, ReadOnlySpan shortcut, bool selected) { byte* pStr0 = null; int pStrSize0 = 0; if (icon != null) { pStrSize0 = Utils.GetByteCountUTF8(icon); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(icon, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } fixed (byte* pshortcut = shortcut) { byte ret = MenuItemExNative(label, pStr0, (byte*)pshortcut, selected ? (byte)1 : (byte)0, (byte)(1)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(byte* label, string icon, ReadOnlySpan shortcut) { byte* pStr0 = null; int pStrSize0 = 0; if (icon != null) { pStrSize0 = Utils.GetByteCountUTF8(icon); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(icon, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } fixed (byte* pshortcut = shortcut) { byte ret = MenuItemExNative(label, pStr0, (byte*)pshortcut, (byte)(0), (byte)(1)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(ref byte label, ref byte icon, ref byte shortcut, bool selected, bool enabled) { fixed (byte* plabel = &label) { fixed (byte* picon = &icon) { fixed (byte* pshortcut = &shortcut) { byte ret = MenuItemExNative((byte*)plabel, (byte*)picon, (byte*)pshortcut, selected ? (byte)1 : (byte)0, enabled ? (byte)1 : (byte)0); return ret != 0; } } } } /// /// To be documented. /// public static bool MenuItemEx(ref byte label, ref byte icon, ref byte shortcut, bool selected) { fixed (byte* plabel = &label) { fixed (byte* picon = &icon) { fixed (byte* pshortcut = &shortcut) { byte ret = MenuItemExNative((byte*)plabel, (byte*)picon, (byte*)pshortcut, selected ? (byte)1 : (byte)0, (byte)(1)); return ret != 0; } } } } /// /// To be documented. /// public static bool MenuItemEx(ref byte label, ref byte icon, ref byte shortcut) { fixed (byte* plabel = &label) { fixed (byte* picon = &icon) { fixed (byte* pshortcut = &shortcut) { byte ret = MenuItemExNative((byte*)plabel, (byte*)picon, (byte*)pshortcut, (byte)(0), (byte)(1)); return ret != 0; } } } } /// /// To be documented. /// public static bool MenuItemEx(ReadOnlySpan label, ReadOnlySpan icon, ReadOnlySpan shortcut, bool selected, bool enabled) { fixed (byte* plabel = label) { fixed (byte* picon = icon) { fixed (byte* pshortcut = shortcut) { byte ret = MenuItemExNative((byte*)plabel, (byte*)picon, (byte*)pshortcut, selected ? (byte)1 : (byte)0, enabled ? (byte)1 : (byte)0); return ret != 0; } } } } /// /// To be documented. /// public static bool MenuItemEx(ReadOnlySpan label, ReadOnlySpan icon, ReadOnlySpan shortcut, bool selected) { fixed (byte* plabel = label) { fixed (byte* picon = icon) { fixed (byte* pshortcut = shortcut) { byte ret = MenuItemExNative((byte*)plabel, (byte*)picon, (byte*)pshortcut, selected ? (byte)1 : (byte)0, (byte)(1)); return ret != 0; } } } } /// /// To be documented. /// public static bool MenuItemEx(ReadOnlySpan label, ReadOnlySpan icon, ReadOnlySpan shortcut) { fixed (byte* plabel = label) { fixed (byte* picon = icon) { fixed (byte* pshortcut = shortcut) { byte ret = MenuItemExNative((byte*)plabel, (byte*)picon, (byte*)pshortcut, (byte)(0), (byte)(1)); return ret != 0; } } } } /// /// To be documented. /// public static bool MenuItemEx(string label, string icon, string shortcut, bool selected, bool enabled) { 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 (icon != null) { pStrSize1 = Utils.GetByteCountUTF8(icon); if (pStrSize1 >= Utils.MaxStackallocSize) { pStr1 = Utils.Alloc(pStrSize1 + 1); } else { byte* pStrStack1 = stackalloc byte[pStrSize1 + 1]; pStr1 = pStrStack1; } int pStrOffset1 = Utils.EncodeStringUTF8(icon, pStr1, pStrSize1); pStr1[pStrOffset1] = 0; } byte* pStr2 = null; int pStrSize2 = 0; if (shortcut != null) { pStrSize2 = Utils.GetByteCountUTF8(shortcut); if (pStrSize2 >= Utils.MaxStackallocSize) { pStr2 = Utils.Alloc(pStrSize2 + 1); } else { byte* pStrStack2 = stackalloc byte[pStrSize2 + 1]; pStr2 = pStrStack2; } int pStrOffset2 = Utils.EncodeStringUTF8(shortcut, pStr2, pStrSize2); pStr2[pStrOffset2] = 0; } byte ret = MenuItemExNative(pStr0, pStr1, pStr2, selected ? (byte)1 : (byte)0, enabled ? (byte)1 : (byte)0); if (pStrSize2 >= Utils.MaxStackallocSize) { Utils.Free(pStr2); } if (pStrSize1 >= Utils.MaxStackallocSize) { Utils.Free(pStr1); } if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } /// /// To be documented. /// public static bool MenuItemEx(string label, string icon, string shortcut, bool selected) { 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 (icon != null) { pStrSize1 = Utils.GetByteCountUTF8(icon); if (pStrSize1 >= Utils.MaxStackallocSize) { pStr1 = Utils.Alloc(pStrSize1 + 1); } else { byte* pStrStack1 = stackalloc byte[pStrSize1 + 1]; pStr1 = pStrStack1; } int pStrOffset1 = Utils.EncodeStringUTF8(icon, pStr1, pStrSize1); pStr1[pStrOffset1] = 0; } byte* pStr2 = null; int pStrSize2 = 0; if (shortcut != null) { pStrSize2 = Utils.GetByteCountUTF8(shortcut); if (pStrSize2 >= Utils.MaxStackallocSize) { pStr2 = Utils.Alloc(pStrSize2 + 1); } else { byte* pStrStack2 = stackalloc byte[pStrSize2 + 1]; pStr2 = pStrStack2; } int pStrOffset2 = Utils.EncodeStringUTF8(shortcut, pStr2, pStrSize2); pStr2[pStrOffset2] = 0; } byte ret = MenuItemExNative(pStr0, pStr1, pStr2, selected ? (byte)1 : (byte)0, (byte)(1)); if (pStrSize2 >= Utils.MaxStackallocSize) { Utils.Free(pStr2); } if (pStrSize1 >= Utils.MaxStackallocSize) { Utils.Free(pStr1); } if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } /// /// To be documented. /// public static bool MenuItemEx(string label, string icon, string shortcut) { 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 (icon != null) { pStrSize1 = Utils.GetByteCountUTF8(icon); if (pStrSize1 >= Utils.MaxStackallocSize) { pStr1 = Utils.Alloc(pStrSize1 + 1); } else { byte* pStrStack1 = stackalloc byte[pStrSize1 + 1]; pStr1 = pStrStack1; } int pStrOffset1 = Utils.EncodeStringUTF8(icon, pStr1, pStrSize1); pStr1[pStrOffset1] = 0; } byte* pStr2 = null; int pStrSize2 = 0; if (shortcut != null) { pStrSize2 = Utils.GetByteCountUTF8(shortcut); if (pStrSize2 >= Utils.MaxStackallocSize) { pStr2 = Utils.Alloc(pStrSize2 + 1); } else { byte* pStrStack2 = stackalloc byte[pStrSize2 + 1]; pStr2 = pStrStack2; } int pStrOffset2 = Utils.EncodeStringUTF8(shortcut, pStr2, pStrSize2); pStr2[pStrOffset2] = 0; } byte ret = MenuItemExNative(pStr0, pStr1, pStr2, (byte)(0), (byte)(1)); if (pStrSize2 >= Utils.MaxStackallocSize) { Utils.Free(pStr2); } if (pStrSize1 >= Utils.MaxStackallocSize) { Utils.Free(pStr1); } if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } /// /// To be documented. /// public static bool MenuItemEx(ref byte label, ref byte icon, ReadOnlySpan shortcut, bool selected, bool enabled) { fixed (byte* plabel = &label) { fixed (byte* picon = &icon) { fixed (byte* pshortcut = shortcut) { byte ret = MenuItemExNative((byte*)plabel, (byte*)picon, (byte*)pshortcut, selected ? (byte)1 : (byte)0, enabled ? (byte)1 : (byte)0); return ret != 0; } } } } /// /// To be documented. /// public static bool MenuItemEx(ref byte label, ref byte icon, ReadOnlySpan shortcut, bool selected) { fixed (byte* plabel = &label) { fixed (byte* picon = &icon) { fixed (byte* pshortcut = shortcut) { byte ret = MenuItemExNative((byte*)plabel, (byte*)picon, (byte*)pshortcut, selected ? (byte)1 : (byte)0, (byte)(1)); return ret != 0; } } } } /// /// To be documented. /// public static bool MenuItemEx(ref byte label, ref byte icon, ReadOnlySpan shortcut) { fixed (byte* plabel = &label) { fixed (byte* picon = &icon) { fixed (byte* pshortcut = shortcut) { byte ret = MenuItemExNative((byte*)plabel, (byte*)picon, (byte*)pshortcut, (byte)(0), (byte)(1)); return ret != 0; } } } } /// /// To be documented. /// public static bool MenuItemEx(ref byte label, ref byte icon, string shortcut, bool selected, bool enabled) { fixed (byte* plabel = &label) { fixed (byte* picon = &icon) { byte* pStr0 = null; int pStrSize0 = 0; if (shortcut != null) { pStrSize0 = Utils.GetByteCountUTF8(shortcut); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(shortcut, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = MenuItemExNative((byte*)plabel, (byte*)picon, pStr0, selected ? (byte)1 : (byte)0, enabled ? (byte)1 : (byte)0); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(ref byte label, ref byte icon, string shortcut, bool selected) { fixed (byte* plabel = &label) { fixed (byte* picon = &icon) { byte* pStr0 = null; int pStrSize0 = 0; if (shortcut != null) { pStrSize0 = Utils.GetByteCountUTF8(shortcut); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(shortcut, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = MenuItemExNative((byte*)plabel, (byte*)picon, pStr0, selected ? (byte)1 : (byte)0, (byte)(1)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(ref byte label, ref byte icon, string shortcut) { fixed (byte* plabel = &label) { fixed (byte* picon = &icon) { byte* pStr0 = null; int pStrSize0 = 0; if (shortcut != null) { pStrSize0 = Utils.GetByteCountUTF8(shortcut); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(shortcut, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = MenuItemExNative((byte*)plabel, (byte*)picon, pStr0, (byte)(0), (byte)(1)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(ref byte label, ReadOnlySpan icon, ref byte shortcut, bool selected, bool enabled) { fixed (byte* plabel = &label) { fixed (byte* picon = icon) { fixed (byte* pshortcut = &shortcut) { byte ret = MenuItemExNative((byte*)plabel, (byte*)picon, (byte*)pshortcut, selected ? (byte)1 : (byte)0, enabled ? (byte)1 : (byte)0); return ret != 0; } } } } /// /// To be documented. /// public static bool MenuItemEx(ref byte label, ReadOnlySpan icon, ref byte shortcut, bool selected) { fixed (byte* plabel = &label) { fixed (byte* picon = icon) { fixed (byte* pshortcut = &shortcut) { byte ret = MenuItemExNative((byte*)plabel, (byte*)picon, (byte*)pshortcut, selected ? (byte)1 : (byte)0, (byte)(1)); return ret != 0; } } } } /// /// To be documented. /// public static bool MenuItemEx(ref byte label, ReadOnlySpan icon, ref byte shortcut) { fixed (byte* plabel = &label) { fixed (byte* picon = icon) { fixed (byte* pshortcut = &shortcut) { byte ret = MenuItemExNative((byte*)plabel, (byte*)picon, (byte*)pshortcut, (byte)(0), (byte)(1)); return ret != 0; } } } } /// /// To be documented. /// public static bool MenuItemEx(ref byte label, ReadOnlySpan icon, ReadOnlySpan shortcut, bool selected, bool enabled) { fixed (byte* plabel = &label) { fixed (byte* picon = icon) { fixed (byte* pshortcut = shortcut) { byte ret = MenuItemExNative((byte*)plabel, (byte*)picon, (byte*)pshortcut, selected ? (byte)1 : (byte)0, enabled ? (byte)1 : (byte)0); return ret != 0; } } } } /// /// To be documented. /// public static bool MenuItemEx(ref byte label, ReadOnlySpan icon, ReadOnlySpan shortcut, bool selected) { fixed (byte* plabel = &label) { fixed (byte* picon = icon) { fixed (byte* pshortcut = shortcut) { byte ret = MenuItemExNative((byte*)plabel, (byte*)picon, (byte*)pshortcut, selected ? (byte)1 : (byte)0, (byte)(1)); return ret != 0; } } } } /// /// To be documented. /// public static bool MenuItemEx(ref byte label, ReadOnlySpan icon, ReadOnlySpan shortcut) { fixed (byte* plabel = &label) { fixed (byte* picon = icon) { fixed (byte* pshortcut = shortcut) { byte ret = MenuItemExNative((byte*)plabel, (byte*)picon, (byte*)pshortcut, (byte)(0), (byte)(1)); return ret != 0; } } } } /// /// To be documented. /// public static bool MenuItemEx(ref byte label, ReadOnlySpan icon, string shortcut, bool selected, bool enabled) { fixed (byte* plabel = &label) { fixed (byte* picon = icon) { byte* pStr0 = null; int pStrSize0 = 0; if (shortcut != null) { pStrSize0 = Utils.GetByteCountUTF8(shortcut); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(shortcut, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = MenuItemExNative((byte*)plabel, (byte*)picon, pStr0, selected ? (byte)1 : (byte)0, enabled ? (byte)1 : (byte)0); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(ref byte label, ReadOnlySpan icon, string shortcut, bool selected) { fixed (byte* plabel = &label) { fixed (byte* picon = icon) { byte* pStr0 = null; int pStrSize0 = 0; if (shortcut != null) { pStrSize0 = Utils.GetByteCountUTF8(shortcut); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(shortcut, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = MenuItemExNative((byte*)plabel, (byte*)picon, pStr0, selected ? (byte)1 : (byte)0, (byte)(1)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(ref byte label, ReadOnlySpan icon, string shortcut) { fixed (byte* plabel = &label) { fixed (byte* picon = icon) { byte* pStr0 = null; int pStrSize0 = 0; if (shortcut != null) { pStrSize0 = Utils.GetByteCountUTF8(shortcut); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(shortcut, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = MenuItemExNative((byte*)plabel, (byte*)picon, pStr0, (byte)(0), (byte)(1)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(ref byte label, string icon, ref byte shortcut, bool selected, bool enabled) { fixed (byte* plabel = &label) { byte* pStr0 = null; int pStrSize0 = 0; if (icon != null) { pStrSize0 = Utils.GetByteCountUTF8(icon); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(icon, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } fixed (byte* pshortcut = &shortcut) { byte ret = MenuItemExNative((byte*)plabel, pStr0, (byte*)pshortcut, selected ? (byte)1 : (byte)0, enabled ? (byte)1 : (byte)0); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(ref byte label, string icon, ref byte shortcut, bool selected) { fixed (byte* plabel = &label) { byte* pStr0 = null; int pStrSize0 = 0; if (icon != null) { pStrSize0 = Utils.GetByteCountUTF8(icon); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(icon, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } fixed (byte* pshortcut = &shortcut) { byte ret = MenuItemExNative((byte*)plabel, pStr0, (byte*)pshortcut, selected ? (byte)1 : (byte)0, (byte)(1)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(ref byte label, string icon, ref byte shortcut) { fixed (byte* plabel = &label) { byte* pStr0 = null; int pStrSize0 = 0; if (icon != null) { pStrSize0 = Utils.GetByteCountUTF8(icon); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(icon, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } fixed (byte* pshortcut = &shortcut) { byte ret = MenuItemExNative((byte*)plabel, pStr0, (byte*)pshortcut, (byte)(0), (byte)(1)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(ref byte label, string icon, ReadOnlySpan shortcut, bool selected, bool enabled) { fixed (byte* plabel = &label) { byte* pStr0 = null; int pStrSize0 = 0; if (icon != null) { pStrSize0 = Utils.GetByteCountUTF8(icon); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(icon, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } fixed (byte* pshortcut = shortcut) { byte ret = MenuItemExNative((byte*)plabel, pStr0, (byte*)pshortcut, selected ? (byte)1 : (byte)0, enabled ? (byte)1 : (byte)0); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(ref byte label, string icon, ReadOnlySpan shortcut, bool selected) { fixed (byte* plabel = &label) { byte* pStr0 = null; int pStrSize0 = 0; if (icon != null) { pStrSize0 = Utils.GetByteCountUTF8(icon); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(icon, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } fixed (byte* pshortcut = shortcut) { byte ret = MenuItemExNative((byte*)plabel, pStr0, (byte*)pshortcut, selected ? (byte)1 : (byte)0, (byte)(1)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(ref byte label, string icon, ReadOnlySpan shortcut) { fixed (byte* plabel = &label) { byte* pStr0 = null; int pStrSize0 = 0; if (icon != null) { pStrSize0 = Utils.GetByteCountUTF8(icon); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(icon, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } fixed (byte* pshortcut = shortcut) { byte ret = MenuItemExNative((byte*)plabel, pStr0, (byte*)pshortcut, (byte)(0), (byte)(1)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(ref byte label, string icon, string shortcut, bool selected, bool enabled) { fixed (byte* plabel = &label) { byte* pStr0 = null; int pStrSize0 = 0; if (icon != null) { pStrSize0 = Utils.GetByteCountUTF8(icon); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(icon, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte* pStr1 = null; int pStrSize1 = 0; if (shortcut != null) { pStrSize1 = Utils.GetByteCountUTF8(shortcut); if (pStrSize1 >= Utils.MaxStackallocSize) { pStr1 = Utils.Alloc(pStrSize1 + 1); } else { byte* pStrStack1 = stackalloc byte[pStrSize1 + 1]; pStr1 = pStrStack1; } int pStrOffset1 = Utils.EncodeStringUTF8(shortcut, pStr1, pStrSize1); pStr1[pStrOffset1] = 0; } byte ret = MenuItemExNative((byte*)plabel, pStr0, pStr1, selected ? (byte)1 : (byte)0, enabled ? (byte)1 : (byte)0); if (pStrSize1 >= Utils.MaxStackallocSize) { Utils.Free(pStr1); } if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(ref byte label, string icon, string shortcut, bool selected) { fixed (byte* plabel = &label) { byte* pStr0 = null; int pStrSize0 = 0; if (icon != null) { pStrSize0 = Utils.GetByteCountUTF8(icon); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(icon, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte* pStr1 = null; int pStrSize1 = 0; if (shortcut != null) { pStrSize1 = Utils.GetByteCountUTF8(shortcut); if (pStrSize1 >= Utils.MaxStackallocSize) { pStr1 = Utils.Alloc(pStrSize1 + 1); } else { byte* pStrStack1 = stackalloc byte[pStrSize1 + 1]; pStr1 = pStrStack1; } int pStrOffset1 = Utils.EncodeStringUTF8(shortcut, pStr1, pStrSize1); pStr1[pStrOffset1] = 0; } byte ret = MenuItemExNative((byte*)plabel, pStr0, pStr1, selected ? (byte)1 : (byte)0, (byte)(1)); if (pStrSize1 >= Utils.MaxStackallocSize) { Utils.Free(pStr1); } if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(ref byte label, string icon, string shortcut) { fixed (byte* plabel = &label) { byte* pStr0 = null; int pStrSize0 = 0; if (icon != null) { pStrSize0 = Utils.GetByteCountUTF8(icon); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(icon, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte* pStr1 = null; int pStrSize1 = 0; if (shortcut != null) { pStrSize1 = Utils.GetByteCountUTF8(shortcut); if (pStrSize1 >= Utils.MaxStackallocSize) { pStr1 = Utils.Alloc(pStrSize1 + 1); } else { byte* pStrStack1 = stackalloc byte[pStrSize1 + 1]; pStr1 = pStrStack1; } int pStrOffset1 = Utils.EncodeStringUTF8(shortcut, pStr1, pStrSize1); pStr1[pStrOffset1] = 0; } byte ret = MenuItemExNative((byte*)plabel, pStr0, pStr1, (byte)(0), (byte)(1)); if (pStrSize1 >= Utils.MaxStackallocSize) { Utils.Free(pStr1); } if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } /// /// To be documented. /// public static bool MenuItemEx(ReadOnlySpan label, ref byte icon, ref byte shortcut, bool selected, bool enabled) { fixed (byte* plabel = label) { fixed (byte* picon = &icon) { fixed (byte* pshortcut = &shortcut) { byte ret = MenuItemExNative((byte*)plabel, (byte*)picon, (byte*)pshortcut, selected ? (byte)1 : (byte)0, enabled ? (byte)1 : (byte)0); return ret != 0; } } } } /// /// To be documented. /// public static bool MenuItemEx(ReadOnlySpan label, ref byte icon, ref byte shortcut, bool selected) { fixed (byte* plabel = label) { fixed (byte* picon = &icon) { fixed (byte* pshortcut = &shortcut) { byte ret = MenuItemExNative((byte*)plabel, (byte*)picon, (byte*)pshortcut, selected ? (byte)1 : (byte)0, (byte)(1)); return ret != 0; } } } } /// /// To be documented. /// public static bool MenuItemEx(ReadOnlySpan label, ref byte icon, ref byte shortcut) { fixed (byte* plabel = label) { fixed (byte* picon = &icon) { fixed (byte* pshortcut = &shortcut) { byte ret = MenuItemExNative((byte*)plabel, (byte*)picon, (byte*)pshortcut, (byte)(0), (byte)(1)); return ret != 0; } } } } /// /// To be documented. /// public static bool MenuItemEx(ReadOnlySpan label, ref byte icon, ReadOnlySpan shortcut, bool selected, bool enabled) { fixed (byte* plabel = label) { fixed (byte* picon = &icon) { fixed (byte* pshortcut = shortcut) { byte ret = MenuItemExNative((byte*)plabel, (byte*)picon, (byte*)pshortcut, selected ? (byte)1 : (byte)0, enabled ? (byte)1 : (byte)0); return ret != 0; } } } } /// /// To be documented. /// public static bool MenuItemEx(ReadOnlySpan label, ref byte icon, ReadOnlySpan shortcut, bool selected) { fixed (byte* plabel = label) { fixed (byte* picon = &icon) { fixed (byte* pshortcut = shortcut) { byte ret = MenuItemExNative((byte*)plabel, (byte*)picon, (byte*)pshortcut, selected ? (byte)1 : (byte)0, (byte)(1)); return ret != 0; } } } } /// /// To be documented. /// public static bool MenuItemEx(ReadOnlySpan label, ref byte icon, ReadOnlySpan shortcut) { fixed (byte* plabel = label) { fixed (byte* picon = &icon) { fixed (byte* pshortcut = shortcut) { byte ret = MenuItemExNative((byte*)plabel, (byte*)picon, (byte*)pshortcut, (byte)(0), (byte)(1)); return ret != 0; } } } } /// /// To be documented. /// public static bool MenuItemEx(ReadOnlySpan label, ref byte icon, string shortcut, bool selected, bool enabled) { fixed (byte* plabel = label) { fixed (byte* picon = &icon) { byte* pStr0 = null; int pStrSize0 = 0; if (shortcut != null) { pStrSize0 = Utils.GetByteCountUTF8(shortcut); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(shortcut, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = MenuItemExNative((byte*)plabel, (byte*)picon, pStr0, selected ? (byte)1 : (byte)0, enabled ? (byte)1 : (byte)0); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(ReadOnlySpan label, ref byte icon, string shortcut, bool selected) { fixed (byte* plabel = label) { fixed (byte* picon = &icon) { byte* pStr0 = null; int pStrSize0 = 0; if (shortcut != null) { pStrSize0 = Utils.GetByteCountUTF8(shortcut); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(shortcut, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = MenuItemExNative((byte*)plabel, (byte*)picon, pStr0, selected ? (byte)1 : (byte)0, (byte)(1)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(ReadOnlySpan label, ref byte icon, string shortcut) { fixed (byte* plabel = label) { fixed (byte* picon = &icon) { byte* pStr0 = null; int pStrSize0 = 0; if (shortcut != null) { pStrSize0 = Utils.GetByteCountUTF8(shortcut); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(shortcut, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = MenuItemExNative((byte*)plabel, (byte*)picon, pStr0, (byte)(0), (byte)(1)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(ReadOnlySpan label, ReadOnlySpan icon, ref byte shortcut, bool selected, bool enabled) { fixed (byte* plabel = label) { fixed (byte* picon = icon) { fixed (byte* pshortcut = &shortcut) { byte ret = MenuItemExNative((byte*)plabel, (byte*)picon, (byte*)pshortcut, selected ? (byte)1 : (byte)0, enabled ? (byte)1 : (byte)0); return ret != 0; } } } } /// /// To be documented. /// public static bool MenuItemEx(ReadOnlySpan label, ReadOnlySpan icon, ref byte shortcut, bool selected) { fixed (byte* plabel = label) { fixed (byte* picon = icon) { fixed (byte* pshortcut = &shortcut) { byte ret = MenuItemExNative((byte*)plabel, (byte*)picon, (byte*)pshortcut, selected ? (byte)1 : (byte)0, (byte)(1)); return ret != 0; } } } } /// /// To be documented. /// public static bool MenuItemEx(ReadOnlySpan label, ReadOnlySpan icon, ref byte shortcut) { fixed (byte* plabel = label) { fixed (byte* picon = icon) { fixed (byte* pshortcut = &shortcut) { byte ret = MenuItemExNative((byte*)plabel, (byte*)picon, (byte*)pshortcut, (byte)(0), (byte)(1)); return ret != 0; } } } } /// /// To be documented. /// public static bool MenuItemEx(ReadOnlySpan label, ReadOnlySpan icon, string shortcut, bool selected, bool enabled) { fixed (byte* plabel = label) { fixed (byte* picon = icon) { byte* pStr0 = null; int pStrSize0 = 0; if (shortcut != null) { pStrSize0 = Utils.GetByteCountUTF8(shortcut); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(shortcut, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = MenuItemExNative((byte*)plabel, (byte*)picon, pStr0, selected ? (byte)1 : (byte)0, enabled ? (byte)1 : (byte)0); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(ReadOnlySpan label, ReadOnlySpan icon, string shortcut, bool selected) { fixed (byte* plabel = label) { fixed (byte* picon = icon) { byte* pStr0 = null; int pStrSize0 = 0; if (shortcut != null) { pStrSize0 = Utils.GetByteCountUTF8(shortcut); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(shortcut, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = MenuItemExNative((byte*)plabel, (byte*)picon, pStr0, selected ? (byte)1 : (byte)0, (byte)(1)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(ReadOnlySpan label, ReadOnlySpan icon, string shortcut) { fixed (byte* plabel = label) { fixed (byte* picon = icon) { byte* pStr0 = null; int pStrSize0 = 0; if (shortcut != null) { pStrSize0 = Utils.GetByteCountUTF8(shortcut); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(shortcut, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } byte ret = MenuItemExNative((byte*)plabel, (byte*)picon, pStr0, (byte)(0), (byte)(1)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(ReadOnlySpan label, string icon, ref byte shortcut, bool selected, bool enabled) { fixed (byte* plabel = label) { byte* pStr0 = null; int pStrSize0 = 0; if (icon != null) { pStrSize0 = Utils.GetByteCountUTF8(icon); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(icon, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } fixed (byte* pshortcut = &shortcut) { byte ret = MenuItemExNative((byte*)plabel, pStr0, (byte*)pshortcut, selected ? (byte)1 : (byte)0, enabled ? (byte)1 : (byte)0); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(ReadOnlySpan label, string icon, ref byte shortcut, bool selected) { fixed (byte* plabel = label) { byte* pStr0 = null; int pStrSize0 = 0; if (icon != null) { pStrSize0 = Utils.GetByteCountUTF8(icon); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(icon, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } fixed (byte* pshortcut = &shortcut) { byte ret = MenuItemExNative((byte*)plabel, pStr0, (byte*)pshortcut, selected ? (byte)1 : (byte)0, (byte)(1)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } } /// /// To be documented. /// public static bool MenuItemEx(ReadOnlySpan label, string icon, ref byte shortcut) { fixed (byte* plabel = label) { byte* pStr0 = null; int pStrSize0 = 0; if (icon != null) { pStrSize0 = Utils.GetByteCountUTF8(icon); if (pStrSize0 >= Utils.MaxStackallocSize) { pStr0 = Utils.Alloc(pStrSize0 + 1); } else { byte* pStrStack0 = stackalloc byte[pStrSize0 + 1]; pStr0 = pStrStack0; } int pStrOffset0 = Utils.EncodeStringUTF8(icon, pStr0, pStrSize0); pStr0[pStrOffset0] = 0; } fixed (byte* pshortcut = &shortcut) { byte ret = MenuItemExNative((byte*)plabel, pStr0, (byte*)pshortcut, (byte)(0), (byte)(1)); if (pStrSize0 >= Utils.MaxStackallocSize) { Utils.Free(pStr0); } return ret != 0; } } } } }