// ------------------------------------------------------------------------------ // // 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 ImFontGlyphHotData { /// /// To be documented. /// public float AdvanceX; /// /// To be documented. /// public float OccupiedWidth; public uint RawBits0; /// /// To be documented. /// public unsafe ImFontGlyphHotData(float advanceX = default, float occupiedWidth = default, uint kerningPairUseBisect = default, uint kerningPairOffset = default, uint kerningPairCount = default) { AdvanceX = advanceX; OccupiedWidth = occupiedWidth; KerningPairUseBisect = kerningPairUseBisect; KerningPairOffset = kerningPairOffset; KerningPairCount = kerningPairCount; } public uint KerningPairUseBisect { get => Bitfield.Get(RawBits0, 0, 1); set => Bitfield.Set(ref RawBits0, value, 0, 1); } public uint KerningPairOffset { get => Bitfield.Get(RawBits0, 1, 19); set => Bitfield.Set(ref RawBits0, value, 1, 19); } public uint KerningPairCount { get => Bitfield.Get(RawBits0, 20, 12); set => Bitfield.Set(ref RawBits0, value, 20, 12); } } /// /// To be documented. /// #if NET5_0_OR_GREATER [DebuggerDisplay("{DebuggerDisplay,nq}")] #endif public unsafe struct ImFontGlyphHotDataPtr : IEquatable { public ImFontGlyphHotDataPtr(ImFontGlyphHotData* handle) { Handle = handle; } public ImFontGlyphHotData* Handle; public bool IsNull => Handle == null; public static ImFontGlyphHotDataPtr Null => new ImFontGlyphHotDataPtr(null); public ImFontGlyphHotData this[int index] { get => Handle[index]; set => Handle[index] = value; } public static implicit operator ImFontGlyphHotDataPtr(ImFontGlyphHotData* handle) => new ImFontGlyphHotDataPtr(handle); public static implicit operator ImFontGlyphHotData*(ImFontGlyphHotDataPtr handle) => handle.Handle; public static bool operator ==(ImFontGlyphHotDataPtr left, ImFontGlyphHotDataPtr right) => left.Handle == right.Handle; public static bool operator !=(ImFontGlyphHotDataPtr left, ImFontGlyphHotDataPtr right) => left.Handle != right.Handle; public static bool operator ==(ImFontGlyphHotDataPtr left, ImFontGlyphHotData* right) => left.Handle == right; public static bool operator !=(ImFontGlyphHotDataPtr left, ImFontGlyphHotData* right) => left.Handle != right; public bool Equals(ImFontGlyphHotDataPtr other) => Handle == other.Handle; /// public override bool Equals(object obj) => obj is ImFontGlyphHotDataPtr handle && Equals(handle); /// public override int GetHashCode() => ((nuint)Handle).GetHashCode(); #if NET5_0_OR_GREATER private string DebuggerDisplay => string.Format("ImFontGlyphHotDataPtr [0x{0}]", ((nuint)Handle).ToString("X")); #endif /// /// To be documented. /// public ref float AdvanceX => ref Unsafe.AsRef(&Handle->AdvanceX); /// /// To be documented. /// public ref float OccupiedWidth => ref Unsafe.AsRef(&Handle->OccupiedWidth); /// /// To be documented. /// public uint KerningPairUseBisect { get => Handle->KerningPairUseBisect; set => Handle->KerningPairUseBisect = value; } /// /// To be documented. /// public uint KerningPairOffset { get => Handle->KerningPairOffset; set => Handle->KerningPairOffset = value; } /// /// To be documented. /// public uint KerningPairCount { get => Handle->KerningPairCount; set => Handle->KerningPairCount = value; } } }