// ------------------------------------------------------------------------------ // // 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 ImGuiComboPreviewData { /// /// To be documented. /// public ImRect PreviewRect; /// /// To be documented. /// public Vector2 BackupCursorPos; /// /// To be documented. /// public Vector2 BackupCursorMaxPos; /// /// To be documented. /// public Vector2 BackupCursorPosPrevLine; /// /// To be documented. /// public float BackupPrevLineTextBaseOffset; /// /// To be documented. /// public ImGuiLayoutType BackupLayout; /// /// To be documented. /// public unsafe ImGuiComboPreviewData(ImRect previewRect = default, Vector2 backupCursorPos = default, Vector2 backupCursorMaxPos = default, Vector2 backupCursorPosPrevLine = default, float backupPrevLineTextBaseOffset = default, ImGuiLayoutType backupLayout = default) { PreviewRect = previewRect; BackupCursorPos = backupCursorPos; BackupCursorMaxPos = backupCursorMaxPos; BackupCursorPosPrevLine = backupCursorPosPrevLine; BackupPrevLineTextBaseOffset = backupPrevLineTextBaseOffset; BackupLayout = backupLayout; } /// /// To be documented. /// public unsafe void Destroy() { fixed (ImGuiComboPreviewData* @this = &this) { ImGui.DestroyNative(@this); } } } /// /// To be documented. /// #if NET5_0_OR_GREATER [DebuggerDisplay("{DebuggerDisplay,nq}")] #endif public unsafe struct ImGuiComboPreviewDataPtr : IEquatable { public ImGuiComboPreviewDataPtr(ImGuiComboPreviewData* handle) { Handle = handle; } public ImGuiComboPreviewData* Handle; public bool IsNull => Handle == null; public static ImGuiComboPreviewDataPtr Null => new ImGuiComboPreviewDataPtr(null); public ImGuiComboPreviewData this[int index] { get => Handle[index]; set => Handle[index] = value; } public static implicit operator ImGuiComboPreviewDataPtr(ImGuiComboPreviewData* handle) => new ImGuiComboPreviewDataPtr(handle); public static implicit operator ImGuiComboPreviewData*(ImGuiComboPreviewDataPtr handle) => handle.Handle; public static bool operator ==(ImGuiComboPreviewDataPtr left, ImGuiComboPreviewDataPtr right) => left.Handle == right.Handle; public static bool operator !=(ImGuiComboPreviewDataPtr left, ImGuiComboPreviewDataPtr right) => left.Handle != right.Handle; public static bool operator ==(ImGuiComboPreviewDataPtr left, ImGuiComboPreviewData* right) => left.Handle == right; public static bool operator !=(ImGuiComboPreviewDataPtr left, ImGuiComboPreviewData* right) => left.Handle != right; public bool Equals(ImGuiComboPreviewDataPtr other) => Handle == other.Handle; /// public override bool Equals(object obj) => obj is ImGuiComboPreviewDataPtr handle && Equals(handle); /// public override int GetHashCode() => ((nuint)Handle).GetHashCode(); #if NET5_0_OR_GREATER private string DebuggerDisplay => string.Format("ImGuiComboPreviewDataPtr [0x{0}]", ((nuint)Handle).ToString("X")); #endif /// /// To be documented. /// public ref ImRect PreviewRect => ref Unsafe.AsRef(&Handle->PreviewRect); /// /// To be documented. /// public ref Vector2 BackupCursorPos => ref Unsafe.AsRef(&Handle->BackupCursorPos); /// /// To be documented. /// public ref Vector2 BackupCursorMaxPos => ref Unsafe.AsRef(&Handle->BackupCursorMaxPos); /// /// To be documented. /// public ref Vector2 BackupCursorPosPrevLine => ref Unsafe.AsRef(&Handle->BackupCursorPosPrevLine); /// /// To be documented. /// public ref float BackupPrevLineTextBaseOffset => ref Unsafe.AsRef(&Handle->BackupPrevLineTextBaseOffset); /// /// To be documented. /// public ref ImGuiLayoutType BackupLayout => ref Unsafe.AsRef(&Handle->BackupLayout); /// /// To be documented. /// public unsafe void Destroy() { ImGui.DestroyNative(Handle); } } }