69 lines
3.5 KiB
C#
69 lines
3.5 KiB
C#
using System;
|
|
using System.Numerics;
|
|
using System.Runtime.CompilerServices;
|
|
using System.Text;
|
|
|
|
namespace ImGuiNET
|
|
{
|
|
public unsafe partial struct ImGuiViewport
|
|
{
|
|
public uint ID;
|
|
public ImGuiViewportFlags Flags;
|
|
public Vector2 Pos;
|
|
public Vector2 Size;
|
|
public Vector2 WorkPos;
|
|
public Vector2 WorkSize;
|
|
public float DpiScale;
|
|
public uint ParentViewportId;
|
|
public ImDrawData* DrawData;
|
|
public void* RendererUserData;
|
|
public void* PlatformUserData;
|
|
public void* PlatformHandle;
|
|
public void* PlatformHandleRaw;
|
|
public byte PlatformRequestMove;
|
|
public byte PlatformRequestResize;
|
|
public byte PlatformRequestClose;
|
|
}
|
|
public unsafe partial struct ImGuiViewportPtr
|
|
{
|
|
public ImGuiViewport* NativePtr { get; }
|
|
public ImGuiViewportPtr(ImGuiViewport* nativePtr) => NativePtr = nativePtr;
|
|
public ImGuiViewportPtr(IntPtr nativePtr) => NativePtr = (ImGuiViewport*)nativePtr;
|
|
public static implicit operator ImGuiViewportPtr(ImGuiViewport* nativePtr) => new ImGuiViewportPtr(nativePtr);
|
|
public static implicit operator ImGuiViewport* (ImGuiViewportPtr wrappedPtr) => wrappedPtr.NativePtr;
|
|
public static implicit operator ImGuiViewportPtr(IntPtr nativePtr) => new ImGuiViewportPtr(nativePtr);
|
|
public ref uint ID => ref Unsafe.AsRef<uint>(&NativePtr->ID);
|
|
public ref ImGuiViewportFlags Flags => ref Unsafe.AsRef<ImGuiViewportFlags>(&NativePtr->Flags);
|
|
public ref Vector2 Pos => ref Unsafe.AsRef<Vector2>(&NativePtr->Pos);
|
|
public ref Vector2 Size => ref Unsafe.AsRef<Vector2>(&NativePtr->Size);
|
|
public ref Vector2 WorkPos => ref Unsafe.AsRef<Vector2>(&NativePtr->WorkPos);
|
|
public ref Vector2 WorkSize => ref Unsafe.AsRef<Vector2>(&NativePtr->WorkSize);
|
|
public ref float DpiScale => ref Unsafe.AsRef<float>(&NativePtr->DpiScale);
|
|
public ref uint ParentViewportId => ref Unsafe.AsRef<uint>(&NativePtr->ParentViewportId);
|
|
public ImDrawDataPtr DrawData => new ImDrawDataPtr(NativePtr->DrawData);
|
|
public IntPtr RendererUserData { get => (IntPtr)NativePtr->RendererUserData; set => NativePtr->RendererUserData = (void*)value; }
|
|
public IntPtr PlatformUserData { get => (IntPtr)NativePtr->PlatformUserData; set => NativePtr->PlatformUserData = (void*)value; }
|
|
public IntPtr PlatformHandle { get => (IntPtr)NativePtr->PlatformHandle; set => NativePtr->PlatformHandle = (void*)value; }
|
|
public IntPtr PlatformHandleRaw { get => (IntPtr)NativePtr->PlatformHandleRaw; set => NativePtr->PlatformHandleRaw = (void*)value; }
|
|
public ref bool PlatformRequestMove => ref Unsafe.AsRef<bool>(&NativePtr->PlatformRequestMove);
|
|
public ref bool PlatformRequestResize => ref Unsafe.AsRef<bool>(&NativePtr->PlatformRequestResize);
|
|
public ref bool PlatformRequestClose => ref Unsafe.AsRef<bool>(&NativePtr->PlatformRequestClose);
|
|
public void Destroy()
|
|
{
|
|
ImGuiNative.ImGuiViewport_destroy((ImGuiViewport*)(NativePtr));
|
|
}
|
|
public Vector2 GetCenter()
|
|
{
|
|
Vector2 __retval;
|
|
ImGuiNative.ImGuiViewport_GetCenter(&__retval, (ImGuiViewport*)(NativePtr));
|
|
return __retval;
|
|
}
|
|
public Vector2 GetWorkCenter()
|
|
{
|
|
Vector2 __retval;
|
|
ImGuiNative.ImGuiViewport_GetWorkCenter(&__retval, (ImGuiViewport*)(NativePtr));
|
|
return __retval;
|
|
}
|
|
}
|
|
}
|