// ------------------------------------------------------------------------------ // // 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 { /// /// Access via ImGui::GetPlatformIO()
///
[StructLayout(LayoutKind.Sequential)] public partial struct ImGuiPlatformIO { /// /// To be documented. /// public unsafe void* PlatformCreateWindow; /// /// To be documented. /// public unsafe void* PlatformDestroyWindow; /// /// To be documented. /// public unsafe void* PlatformShowWindow; /// /// To be documented. /// public unsafe void* PlatformSetWindowPos; /// /// To be documented. /// public unsafe void* PlatformGetWindowPos; /// /// To be documented. /// public unsafe void* PlatformSetWindowSize; /// /// To be documented. /// public unsafe void* PlatformGetWindowSize; /// /// To be documented. /// public unsafe void* PlatformSetWindowFocus; /// /// To be documented. /// public unsafe void* PlatformGetWindowFocus; /// /// To be documented. /// public unsafe void* PlatformGetWindowMinimized; /// /// To be documented. /// public unsafe void* PlatformSetWindowTitle; /// /// To be documented. /// public unsafe void* PlatformSetWindowAlpha; /// /// To be documented. /// public unsafe void* PlatformUpdateWindow; /// /// To be documented. /// public unsafe void* PlatformRenderWindow; /// /// To be documented. /// public unsafe void* PlatformSwapBuffers; /// /// To be documented. /// public unsafe void* PlatformGetWindowDpiScale; /// /// To be documented. /// public unsafe void* PlatformOnChangedViewport; /// /// To be documented. /// public unsafe void* PlatformCreateVkSurface; /// /// To be documented. /// public unsafe void* RendererCreateWindow; /// /// To be documented. /// public unsafe void* RendererDestroyWindow; /// /// To be documented. /// public unsafe void* RendererSetWindowSize; /// /// To be documented. /// public unsafe void* RendererRenderWindow; /// /// To be documented. /// public unsafe void* RendererSwapBuffers; /// /// To be documented. /// public ImVector Monitors; /// /// To be documented. /// public ImVector Viewports; /// /// To be documented. /// public unsafe ImGuiPlatformIO(delegate* platformCreatewindow = default, delegate* platformDestroywindow = default, delegate* platformShowwindow = default, delegate* platformSetwindowpos = default, delegate* platformGetwindowpos = default, delegate* platformSetwindowsize = default, delegate* platformGetwindowsize = default, delegate* platformSetwindowfocus = default, delegate* platformGetwindowfocus = default, delegate* platformGetwindowminimized = default, delegate* platformSetwindowtitle = default, delegate* platformSetwindowalpha = default, delegate* platformUpdatewindow = default, delegate* platformRenderwindow = default, delegate* platformSwapbuffers = default, delegate* platformGetwindowdpiscale = default, delegate* platformOnchangedviewport = default, delegate* platformCreatevksurface = default, delegate* rendererCreatewindow = default, delegate* rendererDestroywindow = default, delegate* rendererSetwindowsize = default, delegate* rendererRenderwindow = default, delegate* rendererSwapbuffers = default, ImVector monitors = default, ImVector viewports = default) { PlatformCreateWindow = (void*)platformCreatewindow; PlatformDestroyWindow = (void*)platformDestroywindow; PlatformShowWindow = (void*)platformShowwindow; PlatformSetWindowPos = (void*)platformSetwindowpos; PlatformGetWindowPos = (void*)platformGetwindowpos; PlatformSetWindowSize = (void*)platformSetwindowsize; PlatformGetWindowSize = (void*)platformGetwindowsize; PlatformSetWindowFocus = (void*)platformSetwindowfocus; PlatformGetWindowFocus = (void*)platformGetwindowfocus; PlatformGetWindowMinimized = (void*)platformGetwindowminimized; PlatformSetWindowTitle = (void*)platformSetwindowtitle; PlatformSetWindowAlpha = (void*)platformSetwindowalpha; PlatformUpdateWindow = (void*)platformUpdatewindow; PlatformRenderWindow = (void*)platformRenderwindow; PlatformSwapBuffers = (void*)platformSwapbuffers; PlatformGetWindowDpiScale = (void*)platformGetwindowdpiscale; PlatformOnChangedViewport = (void*)platformOnchangedviewport; PlatformCreateVkSurface = (void*)platformCreatevksurface; RendererCreateWindow = (void*)rendererCreatewindow; RendererDestroyWindow = (void*)rendererDestroywindow; RendererSetWindowSize = (void*)rendererSetwindowsize; RendererRenderWindow = (void*)rendererRenderwindow; RendererSwapBuffers = (void*)rendererSwapbuffers; Monitors = monitors; Viewports = viewports; } /// /// To be documented. /// public unsafe void Destroy() { fixed (ImGuiPlatformIO* @this = &this) { ImGui.DestroyNative(@this); } } } /// /// To be documented. /// #if NET5_0_OR_GREATER [DebuggerDisplay("{DebuggerDisplay,nq}")] #endif public unsafe struct ImGuiPlatformIOPtr : IEquatable { public ImGuiPlatformIOPtr(ImGuiPlatformIO* handle) { Handle = handle; } public ImGuiPlatformIO* Handle; public bool IsNull => Handle == null; public static ImGuiPlatformIOPtr Null => new ImGuiPlatformIOPtr(null); public ImGuiPlatformIO this[int index] { get => Handle[index]; set => Handle[index] = value; } public static implicit operator ImGuiPlatformIOPtr(ImGuiPlatformIO* handle) => new ImGuiPlatformIOPtr(handle); public static implicit operator ImGuiPlatformIO*(ImGuiPlatformIOPtr handle) => handle.Handle; public static bool operator ==(ImGuiPlatformIOPtr left, ImGuiPlatformIOPtr right) => left.Handle == right.Handle; public static bool operator !=(ImGuiPlatformIOPtr left, ImGuiPlatformIOPtr right) => left.Handle != right.Handle; public static bool operator ==(ImGuiPlatformIOPtr left, ImGuiPlatformIO* right) => left.Handle == right; public static bool operator !=(ImGuiPlatformIOPtr left, ImGuiPlatformIO* right) => left.Handle != right; public bool Equals(ImGuiPlatformIOPtr other) => Handle == other.Handle; /// public override bool Equals(object obj) => obj is ImGuiPlatformIOPtr handle && Equals(handle); /// public override int GetHashCode() => ((nuint)Handle).GetHashCode(); #if NET5_0_OR_GREATER private string DebuggerDisplay => string.Format("ImGuiPlatformIOPtr [0x{0}]", ((nuint)Handle).ToString("X")); #endif /// /// To be documented. /// public void* PlatformCreateWindow { get => Handle->PlatformCreateWindow; set => Handle->PlatformCreateWindow = value; } /// /// To be documented. /// public void* PlatformDestroyWindow { get => Handle->PlatformDestroyWindow; set => Handle->PlatformDestroyWindow = value; } /// /// To be documented. /// public void* PlatformShowWindow { get => Handle->PlatformShowWindow; set => Handle->PlatformShowWindow = value; } /// /// To be documented. /// public void* PlatformSetWindowPos { get => Handle->PlatformSetWindowPos; set => Handle->PlatformSetWindowPos = value; } /// /// To be documented. /// public void* PlatformGetWindowPos { get => Handle->PlatformGetWindowPos; set => Handle->PlatformGetWindowPos = value; } /// /// To be documented. /// public void* PlatformSetWindowSize { get => Handle->PlatformSetWindowSize; set => Handle->PlatformSetWindowSize = value; } /// /// To be documented. /// public void* PlatformGetWindowSize { get => Handle->PlatformGetWindowSize; set => Handle->PlatformGetWindowSize = value; } /// /// To be documented. /// public void* PlatformSetWindowFocus { get => Handle->PlatformSetWindowFocus; set => Handle->PlatformSetWindowFocus = value; } /// /// To be documented. /// public void* PlatformGetWindowFocus { get => Handle->PlatformGetWindowFocus; set => Handle->PlatformGetWindowFocus = value; } /// /// To be documented. /// public void* PlatformGetWindowMinimized { get => Handle->PlatformGetWindowMinimized; set => Handle->PlatformGetWindowMinimized = value; } /// /// To be documented. /// public void* PlatformSetWindowTitle { get => Handle->PlatformSetWindowTitle; set => Handle->PlatformSetWindowTitle = value; } /// /// To be documented. /// public void* PlatformSetWindowAlpha { get => Handle->PlatformSetWindowAlpha; set => Handle->PlatformSetWindowAlpha = value; } /// /// To be documented. /// public void* PlatformUpdateWindow { get => Handle->PlatformUpdateWindow; set => Handle->PlatformUpdateWindow = value; } /// /// To be documented. /// public void* PlatformRenderWindow { get => Handle->PlatformRenderWindow; set => Handle->PlatformRenderWindow = value; } /// /// To be documented. /// public void* PlatformSwapBuffers { get => Handle->PlatformSwapBuffers; set => Handle->PlatformSwapBuffers = value; } /// /// To be documented. /// public void* PlatformGetWindowDpiScale { get => Handle->PlatformGetWindowDpiScale; set => Handle->PlatformGetWindowDpiScale = value; } /// /// To be documented. /// public void* PlatformOnChangedViewport { get => Handle->PlatformOnChangedViewport; set => Handle->PlatformOnChangedViewport = value; } /// /// To be documented. /// public void* PlatformCreateVkSurface { get => Handle->PlatformCreateVkSurface; set => Handle->PlatformCreateVkSurface = value; } /// /// To be documented. /// public void* RendererCreateWindow { get => Handle->RendererCreateWindow; set => Handle->RendererCreateWindow = value; } /// /// To be documented. /// public void* RendererDestroyWindow { get => Handle->RendererDestroyWindow; set => Handle->RendererDestroyWindow = value; } /// /// To be documented. /// public void* RendererSetWindowSize { get => Handle->RendererSetWindowSize; set => Handle->RendererSetWindowSize = value; } /// /// To be documented. /// public void* RendererRenderWindow { get => Handle->RendererRenderWindow; set => Handle->RendererRenderWindow = value; } /// /// To be documented. /// public void* RendererSwapBuffers { get => Handle->RendererSwapBuffers; set => Handle->RendererSwapBuffers = value; } /// /// To be documented. /// public ref ImVector Monitors => ref Unsafe.AsRef>(&Handle->Monitors); /// /// To be documented. /// public ref ImVector Viewports => ref Unsafe.AsRef>(&Handle->Viewports); /// /// To be documented. /// public unsafe void Destroy() { ImGui.DestroyNative(Handle); } } }