<PackageReference Include="System.Drawing.Common" Version="10.0.0-preview.7.25380.108" />

HGDIOBJ

using System; using System.CodeDom.Compiler; using System.Diagnostics; using System.Runtime.CompilerServices; namespace Windows.Win32.Graphics.Gdi { [DebuggerDisplay("{Value}")] [GeneratedCode("Microsoft.Windows.CsWin32", "0.3.151+58e949951d.RR")] internal readonly struct HGDIOBJ : IEquatable<HGDIOBJ> { internal unsafe readonly void* Value; internal static HGDIOBJ Null => default(HGDIOBJ); internal unsafe bool IsNull => Value == null; public unsafe static implicit operator HGDIOBJ(HDC value) { return (HGDIOBJ)value.Value; } public unsafe static explicit operator HFONT(HGDIOBJ value) { return (HFONT)value.Value; } public unsafe static explicit operator HBRUSH(HGDIOBJ value) { return (HBRUSH)value.Value; } public unsafe static explicit operator HBITMAP(HGDIOBJ value) { return (HBITMAP)value.Value; } internal unsafe HGDIOBJ(void* value) { Value = value; } internal unsafe HGDIOBJ(IntPtr value) { this = new HGDIOBJ((void*)(long)value); } public unsafe static implicit operator void*(HGDIOBJ value) { return value.Value; } public unsafe static explicit operator HGDIOBJ(void* value) { return new HGDIOBJ(value); } public unsafe static bool operator ==(HGDIOBJ left, HGDIOBJ right) { return left.Value == right.Value; } public static bool operator !=(HGDIOBJ left, HGDIOBJ right) { return !(left == right); } public unsafe bool Equals(HGDIOBJ other) { return Value == other.Value; } public override bool Equals(object obj) { if (obj is HGDIOBJ) { HGDIOBJ other = (HGDIOBJ)obj; return Equals(other); } return false; } public unsafe override int GetHashCode() { return (int)Value; } public unsafe override string ToString() { DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(2, 1); defaultInterpolatedStringHandler.AppendLiteral("0x"); defaultInterpolatedStringHandler.AppendFormatted((UIntPtr)Value, "x"); return defaultInterpolatedStringHandler.ToStringAndClear(); } public unsafe static implicit operator IntPtr(HGDIOBJ value) { return new IntPtr(value.Value); } public unsafe static explicit operator HGDIOBJ(IntPtr value) { return new HGDIOBJ(value.ToPointer()); } public unsafe static explicit operator HGDIOBJ(UIntPtr value) { return new HGDIOBJ(value.ToPointer()); } } }