// ------------------------------------------------------------------------------ // // 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.Diagnostics; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using HexaGen.Runtime; using System.Numerics; namespace Dalamud.Bindings.ImGui { /// /// To be documented. /// [StructLayout(LayoutKind.Sequential)] public partial struct ImGuiSettingsHandler { /// /// To be documented. /// public unsafe byte* TypeName; /// /// To be documented. /// public uint TypeHash; /// /// To be documented. /// public unsafe void* ClearAllFn; /// /// To be documented. /// public unsafe void* ReadInitFn; /// /// To be documented. /// public unsafe void* ReadOpenFn; /// /// To be documented. /// public unsafe void* ReadLineFn; /// /// To be documented. /// public unsafe void* ApplyAllFn; /// /// To be documented. /// public unsafe void* WriteAllFn; /// /// To be documented. /// public unsafe void* UserData; /// /// To be documented. /// public unsafe ImGuiSettingsHandler(byte* typeName = default, uint typeHash = default, delegate* clearAllFn = default, delegate* readInitFn = default, delegate* readOpenFn = default, delegate* readLineFn = default, delegate* applyAllFn = default, delegate* writeAllFn = default, void* userData = default) { TypeName = typeName; TypeHash = typeHash; ClearAllFn = (void*)clearAllFn; ReadInitFn = (void*)readInitFn; ReadOpenFn = (void*)readOpenFn; ReadLineFn = (void*)readLineFn; ApplyAllFn = (void*)applyAllFn; WriteAllFn = (void*)writeAllFn; UserData = userData; } /// /// To be documented. /// public unsafe void Destroy() { fixed (ImGuiSettingsHandler* @this = &this) { ImGui.DestroyNative(@this); } } } /// /// To be documented. /// #if NET5_0_OR_GREATER [DebuggerDisplay("{DebuggerDisplay,nq}")] #endif public unsafe struct ImGuiSettingsHandlerPtr : IEquatable { public ImGuiSettingsHandlerPtr(ImGuiSettingsHandler* handle) { Handle = handle; } public ImGuiSettingsHandler* Handle; public bool IsNull => Handle == null; public static ImGuiSettingsHandlerPtr Null => new ImGuiSettingsHandlerPtr(null); public ImGuiSettingsHandler this[int index] { get => Handle[index]; set => Handle[index] = value; } public static implicit operator ImGuiSettingsHandlerPtr(ImGuiSettingsHandler* handle) => new ImGuiSettingsHandlerPtr(handle); public static implicit operator ImGuiSettingsHandler*(ImGuiSettingsHandlerPtr handle) => handle.Handle; public static bool operator ==(ImGuiSettingsHandlerPtr left, ImGuiSettingsHandlerPtr right) => left.Handle == right.Handle; public static bool operator !=(ImGuiSettingsHandlerPtr left, ImGuiSettingsHandlerPtr right) => left.Handle != right.Handle; public static bool operator ==(ImGuiSettingsHandlerPtr left, ImGuiSettingsHandler* right) => left.Handle == right; public static bool operator !=(ImGuiSettingsHandlerPtr left, ImGuiSettingsHandler* right) => left.Handle != right; public bool Equals(ImGuiSettingsHandlerPtr other) => Handle == other.Handle; /// public override bool Equals(object obj) => obj is ImGuiSettingsHandlerPtr handle && Equals(handle); /// public override int GetHashCode() => ((nuint)Handle).GetHashCode(); #if NET5_0_OR_GREATER private string DebuggerDisplay => string.Format("ImGuiSettingsHandlerPtr [0x{0}]", ((nuint)Handle).ToString("X")); #endif /// /// To be documented. /// public byte* TypeName { get => Handle->TypeName; set => Handle->TypeName = value; } /// /// To be documented. /// public ref uint TypeHash => ref Unsafe.AsRef(&Handle->TypeHash); /// /// To be documented. /// public void* ClearAllFn { get => Handle->ClearAllFn; set => Handle->ClearAllFn = value; } /// /// To be documented. /// public void* ReadInitFn { get => Handle->ReadInitFn; set => Handle->ReadInitFn = value; } /// /// To be documented. /// public void* ReadOpenFn { get => Handle->ReadOpenFn; set => Handle->ReadOpenFn = value; } /// /// To be documented. /// public void* ReadLineFn { get => Handle->ReadLineFn; set => Handle->ReadLineFn = value; } /// /// To be documented. /// public void* ApplyAllFn { get => Handle->ApplyAllFn; set => Handle->ApplyAllFn = value; } /// /// To be documented. /// public void* WriteAllFn { get => Handle->WriteAllFn; set => Handle->WriteAllFn = value; } /// /// To be documented. /// public void* UserData { get => Handle->UserData; set => Handle->UserData = value; } /// /// To be documented. /// public unsafe void Destroy() { ImGui.DestroyNative(Handle); } } }