You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
1.1 KiB
32 lines
1.1 KiB
using System; |
|
using System.Runtime.InteropServices; |
|
|
|
namespace ImGuiNET |
|
{ |
|
public struct ImGuiStoragePair |
|
{ |
|
public uint Key; |
|
public UnionValue Value; |
|
} |
|
|
|
public unsafe struct ImGuiStoragePairPtr |
|
{ |
|
public ImGuiStoragePair* NativePtr { get; } |
|
public ImGuiStoragePairPtr(ImGuiStoragePair* nativePtr) => NativePtr = nativePtr; |
|
public ImGuiStoragePairPtr(IntPtr nativePtr) => NativePtr = (ImGuiStoragePair*)nativePtr; |
|
public static implicit operator ImGuiStoragePairPtr(ImGuiStoragePair* nativePtr) => new ImGuiStoragePairPtr(nativePtr); |
|
public static implicit operator ImGuiStoragePair*(ImGuiStoragePairPtr wrappedPtr) => wrappedPtr.NativePtr; |
|
public static implicit operator ImGuiStoragePairPtr(IntPtr nativePtr) => new ImGuiStoragePairPtr(nativePtr); |
|
} |
|
|
|
[StructLayout(LayoutKind.Explicit)] |
|
public struct UnionValue |
|
{ |
|
[FieldOffset(0)] |
|
public int ValueI32; |
|
[FieldOffset(0)] |
|
public float ValueF32; |
|
[FieldOffset(0)] |
|
public IntPtr ValuePtr; |
|
} |
|
}
|
|
|