// ------------------------------------------------------------------------------ // // 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 ImDrawDataBuilder { /// /// To be documented. /// public ImVector Layers_0; public ImVector Layers_1; /// /// To be documented. /// public unsafe ImDrawDataBuilder(ImVector* layers = default) { if (layers != default(ImVector*)) { Layers_0 = layers[0]; Layers_1 = layers[1]; } } /// /// To be documented. /// public unsafe ImDrawDataBuilder(Span> layers = default) { if (layers != default(Span>)) { Layers_0 = layers[0]; Layers_1 = layers[1]; } } /// /// To be documented. /// public unsafe Span> Layers { get { fixed (ImVector* p = &this.Layers_0) { return new Span>(p, 2); } } } } /// /// To be documented. /// #if NET5_0_OR_GREATER [DebuggerDisplay("{DebuggerDisplay,nq}")] #endif public unsafe struct ImDrawDataBuilderPtr : IEquatable { public ImDrawDataBuilderPtr(ImDrawDataBuilder* handle) { Handle = handle; } public ImDrawDataBuilder* Handle; public bool IsNull => Handle == null; public static ImDrawDataBuilderPtr Null => new ImDrawDataBuilderPtr(null); public ImDrawDataBuilder this[int index] { get => Handle[index]; set => Handle[index] = value; } public static implicit operator ImDrawDataBuilderPtr(ImDrawDataBuilder* handle) => new ImDrawDataBuilderPtr(handle); public static implicit operator ImDrawDataBuilder*(ImDrawDataBuilderPtr handle) => handle.Handle; public static bool operator ==(ImDrawDataBuilderPtr left, ImDrawDataBuilderPtr right) => left.Handle == right.Handle; public static bool operator !=(ImDrawDataBuilderPtr left, ImDrawDataBuilderPtr right) => left.Handle != right.Handle; public static bool operator ==(ImDrawDataBuilderPtr left, ImDrawDataBuilder* right) => left.Handle == right; public static bool operator !=(ImDrawDataBuilderPtr left, ImDrawDataBuilder* right) => left.Handle != right; public bool Equals(ImDrawDataBuilderPtr other) => Handle == other.Handle; /// public override bool Equals(object obj) => obj is ImDrawDataBuilderPtr handle && Equals(handle); /// public override int GetHashCode() => ((nuint)Handle).GetHashCode(); #if NET5_0_OR_GREATER private string DebuggerDisplay => string.Format("ImDrawDataBuilderPtr [0x{0}]", ((nuint)Handle).ToString("X")); #endif /// /// To be documented. /// public unsafe Span> Layers { get { return new Span>(&Handle->Layers_0, 2); } } } }