Merge branch 'master' into add-VtxOffset-handling

internals
Eric Mellino 2 years ago committed by GitHub
commit aecc84895f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 33
      .github/workflows/build.yml
  2. 11
      README.md
  3. BIN
      deps/cimgui/linux-x64/cimgui.so
  4. BIN
      deps/cimgui/osx-universal/cimgui.dylib
  5. BIN
      deps/cimgui/osx-x64/cimgui.dylib
  6. BIN
      deps/cimgui/win-x64/cimgui.dll
  7. BIN
      deps/cimgui/win-x86/cimgui.dll
  8. 44
      download-native-deps.ps1
  9. 37
      download-native-deps.sh
  10. 2
      src/CodeGenerator/CodeGenerator.csproj
  11. 2
      src/CodeGenerator/TypeInfo.cs
  12. 5847
      src/CodeGenerator/definitions/cimgui/definitions.json
  13. 2498
      src/CodeGenerator/definitions/cimgui/structs_and_enums.json
  14. 4
      src/ImGui.NET.SampleProgram.XNA/ImGui.NET.SampleProgram.XNA.csproj
  15. 12
      src/ImGui.NET.SampleProgram.XNA/ImGuiRenderer.cs
  16. 4
      src/ImGui.NET.SampleProgram/ImGui.NET.SampleProgram.csproj
  17. 5
      src/ImGui.NET.SampleProgram/ImGuiController.cs
  18. 7
      src/ImGui.NET.SampleProgram/MemoryEditor.cs
  19. 7
      src/ImGui.NET.SampleProgram/Program.cs
  20. 5
      src/ImGui.NET/Generated/ImDrawCmd.gen.cs
  21. 4
      src/ImGui.NET/Generated/ImDrawList.gen.cs
  22. 6
      src/ImGui.NET/Generated/ImFont.gen.cs
  23. 2
      src/ImGui.NET/Generated/ImFontAtlas.gen.cs
  24. 383
      src/ImGui.NET/Generated/ImGui.gen.cs
  25. 2
      src/ImGui.NET/Generated/ImGuiColorEditFlags.gen.cs
  26. 2
      src/ImGui.NET/Generated/ImGuiFocusedFlags.gen.cs
  27. 12
      src/ImGui.NET/Generated/ImGuiHoveredFlags.gen.cs
  28. 775
      src/ImGui.NET/Generated/ImGuiIO.gen.cs
  29. 2
      src/ImGui.NET/Generated/ImGuiInputTextFlags.gen.cs
  30. 163
      src/ImGui.NET/Generated/ImGuiKey.gen.cs
  31. 28
      src/ImGui.NET/Generated/ImGuiKeyData.gen.cs
  32. 10
      src/ImGui.NET/Generated/ImGuiListClipper.gen.cs
  33. 220
      src/ImGui.NET/Generated/ImGuiNative.gen.cs
  34. 12
      src/ImGui.NET/Generated/ImGuiNavInput.gen.cs
  35. 2
      src/ImGui.NET/Generated/ImGuiPlatformIO.gen.cs
  36. 30
      src/ImGui.NET/Generated/ImGuiPlatformImeData.gen.cs
  37. 2
      src/ImGui.NET/Generated/ImGuiStyle.gen.cs
  38. 49
      src/ImGui.NET/Generated/ImGuiStyleVar.gen.cs
  39. 48
      src/ImGui.NET/Generated/ImGuiTableColumnFlags.gen.cs
  40. 2
      src/ImGui.NET/Generated/ImGuiWindowClass.gen.cs
  41. 4
      src/ImGui.NET/ImDrawList.Manual.cs
  42. 8
      src/ImGui.NET/ImGui.NET.csproj
  43. 5
      src/ImGui.NET/build/net40/ImGui.NET.targets
  44. 2
      src/ImGuizmo.NET/ImGuizmo.NET.csproj
  45. 4
      src/ImNodes.NET/Generated/ImNodes.gen.cs
  46. 2
      src/ImNodes.NET/ImNodes.NET.csproj
  47. 2
      src/ImPlot.NET/ImPlot.NET.csproj

@ -0,0 +1,33 @@
name: CI
on:
create: # when tags are created
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
Build_Windows:
runs-on: windows-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Install .NET
uses: actions/setup-dotnet@v1
with:
dotnet-version: 6.0.x
- name: Restore dependencies
run: dotnet restore src
- name: Build Project
run: dotnet build -c Release --no-restore src
- name: Build Packages
run: dotnet pack src/ImGui.NET -c Release --no-restore --no-build
- name: List Packages
run: ls -l bin\Release\ImGui.NET\
- name: Publish to nuget.org
if: startsWith(github.ref, 'refs/tags/')
run: dotnet nuget push bin\Release\ImGui.NET\*.nupkg -s https://api.nuget.org/v3/index.json --api-key ${{secrets.NUGET_KEY}}

@ -16,7 +16,16 @@ ImGui.NET can be built in Visual Studio or on the command line. The .NET Core SD
# Usage
ImGui.NET currently provides a raw wrapper around the ImGui native API, and also provides a very thin safe, managed API for convenience. It is currently very much like using the native library, which is very simple, flexible, and robust. The easiest way to figure out how to use the library is to read the documentation of imgui itself, mostly in the imgui.cpp, and imgui.h files, as well as the exported functions in cimgui.h. Looking at the sample program code will also give some indication about basic usage.
ImGui.NET currently provides a raw wrapper around the ImGui native API, and also provides a very thin safe, managed API for convenience. It is currently very much like using the native library, which is very simple, flexible, and robust. The easiest way to figure out how to use the library is to read the documentation of imgui itself, mostly in the imgui.cpp, and imgui.h files, as well as the exported functions in cimgui.h. Looking at the [sample program code](https://github.com/mellinoe/ImGui.NET/tree/master/src) will also give some indication about basic usage.
# Debugging native code
ImGui.NET is a wrapper over native code. By default, this native code is packaged and released in an optimized form, making debugging difficult. To obtain a debuggable version of the native code, follow these steps:
1. Clone the [ImGui.NET-nativebuild](https://github.com/mellinoe/ImGui.NET-nativebuild) repo, at the tag matching the version of ImGui.NET you are using.
2. In the ImGui.NET-nativebuild repo, run `build.cmd debug` or `build.sh debug` (depending on your platform).
3. Copy the produced binaries (cimgui.dll, libcimgui.so, or libcimgui.dylib) into your application.
4. Run the program under a native debugger, or enable mixed-mode debugging in Visual Studio.
# See Also

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

@ -1,7 +1,13 @@
param (
[Parameter(Mandatory=$false)][string]$repository,
[Parameter(Mandatory=$true)][string]$tag
)
if( -not $repository )
{
$repository="https://github.com/mellinoe/imgui.net-nativebuild"
}
Write-Host Downloading native binaries from GitHub Releases...
if (Test-Path $PSScriptRoot\deps\cimgui\)
@ -9,7 +15,7 @@ if (Test-Path $PSScriptRoot\deps\cimgui\)
Remove-Item $PSScriptRoot\deps\cimgui\ -Force -Recurse | Out-Null
}
New-Item -ItemType Directory -Force -Path $PSScriptRoot\deps\cimgui\linux-x64 | Out-Null
New-Item -ItemType Directory -Force -Path $PSScriptRoot\deps\cimgui\osx-x64 | Out-Null
New-Item -ItemType Directory -Force -Path $PSScriptRoot\deps\cimgui\osx-universal | Out-Null
New-Item -ItemType Directory -Force -Path $PSScriptRoot\deps\cimgui\win-x86 | Out-Null
New-Item -ItemType Directory -Force -Path $PSScriptRoot\deps\cimgui\win-x64 | Out-Null
@ -17,7 +23,7 @@ New-Item -ItemType Directory -Force -Path $PSScriptRoot\deps\cimgui\win-x64 | Ou
$client = New-Object System.Net.WebClient
$client.DownloadFile(
"https://github.com/mellinoe/imgui.net-nativebuild/releases/download/$tag/cimgui.win-x86.dll",
"$repository/releases/download/$tag/cimgui.win-x86.dll",
"$PSScriptRoot/deps/cimgui/win-x86/cimgui.dll")
if( -not $? )
{
@ -29,7 +35,7 @@ if( -not $? )
Write-Host "- cimgui.dll (x86)"
$client.DownloadFile(
"https://github.com/mellinoe/imgui.net-nativebuild/releases/download/$tag/cimgui.win-x64.dll",
"$repository/releases/download/$tag/cimgui.win-x64.dll",
"$PSScriptRoot/deps/cimgui/win-x64/$configuration/cimgui.dll")
if( -not $? )
{
@ -41,7 +47,7 @@ if( -not $? )
Write-Host "- cimgui.dll (x64)"
$client.DownloadFile(
"https://github.com/mellinoe/imgui.net-nativebuild/releases/download/$tag/cimgui.so",
"$repository/releases/download/$tag/cimgui.so",
"$PSScriptRoot/deps/cimgui/linux-x64/cimgui.so")
if( -not $? )
{
@ -53,8 +59,8 @@ if( -not $? )
Write-Host - cimgui.so
$client.DownloadFile(
"https://github.com/mellinoe/imgui.net-nativebuild/releases/download/$tag/cimgui.dylib",
"$PSScriptRoot/deps/cimgui/osx-x64/cimgui.dylib")
"$repository/releases/download/$tag/cimgui.dylib",
"$PSScriptRoot/deps/cimgui/osx-universal/cimgui.dylib")
if( -not $? )
{
$msg = $Error[0].Exception.Message
@ -62,4 +68,28 @@ if( -not $? )
exit
}
Write-Host - cimgui.dylib
Write-Host "- cimgui.dylib"
$client.DownloadFile(
"https://github.com/mellinoe/imgui.net-nativebuild/releases/download/$tag/definitions.json",
"$PSScriptRoot/src/CodeGenerator/definitions/cimgui/definitions.json")
if( -not $? )
{
$msg = $Error[0].Exception.Message
Write-Error "Couldn't download definitions.json."
exit
}
Write-Host - definitions.json
$client.DownloadFile(
"https://github.com/mellinoe/imgui.net-nativebuild/releases/download/$tag/structs_and_enums.json",
"$PSScriptRoot/src/CodeGenerator/definitions/cimgui/structs_and_enums.json")
if( -not $? )
{
$msg = $Error[0].Exception.Message
Write-Error "Couldn't download structs_and_enums.json."
exit
}
Write-Host - structs_and_enums.json

@ -0,0 +1,37 @@
#!/usr/bin/env bash
if [ $# -eq 0 ]; then
echo "Missing first argument. Please provide the tag to download."
exit 1
fi
TAG=$1
SCRIPT_ROOT=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
echo "Script is located in: $SCRIPT_ROOT"
echo "Using Tag: $TAG"
echo -n "Downloading windows x86 cimgui: "
curl -sfLo "$SCRIPT_ROOT/deps/cimgui/win-x86/cimgui.dll" "https://github.com/mellinoe/imgui.net-nativebuild/releases/download/$TAG/cimgui.win-x86.dll"
echo ""
echo -n "Downloading windows x64 cimgui: "
curl -sfLo "$SCRIPT_ROOT/deps/cimgui/win-x64/cimgui.dll" "https://github.com/mellinoe/imgui.net-nativebuild/releases/download/$TAG/cimgui.win-x64.dll"
echo ""
echo -n "Downloading linux x64 cimgui: "
curl -sfLo "$SCRIPT_ROOT/deps/cimgui/linux-x64/cimgui.so" "https://github.com/mellinoe/imgui.net-nativebuild/releases/download/$TAG/cimgui.so"
echo ""
echo -n "Downloading osx x64 cimgui: "
curl -sfLo "$SCRIPT_ROOT/deps/cimgui/osx-x64/cimgui.dylib" "https://github.com/mellinoe/imgui.net-nativebuild/releases/download/$TAG/cimgui.dylib"
echo ""
echo -n "Downloading definitions json file: "
curl -sfLo "$SCRIPT_ROOT/src/CodeGenerator/definitions/cimgui/definitions.json" "https://github.com/mellinoe/imgui.net-nativebuild/releases/download/$TAG/definitions.json"
echo ""
echo -n "Downloading structs and enums json file: "
curl -sfLo "$SCRIPT_ROOT/src/CodeGenerator/definitions/cimgui/structs_and_enums.json" "https://github.com/mellinoe/imgui.net-nativebuild/releases/download/$TAG/structs_and_enums.json"
echo ""

@ -2,7 +2,7 @@
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
</PropertyGroup>
<ItemGroup>

@ -96,7 +96,7 @@ namespace CodeGenerator
{ "ImPlotAxisFlags_NoGridLines", "ImPlotAxisFlags.NoGridLines"},
{ "ImGuiCond_Once", "ImGuiCond.Once"},
{ "ImPlotOrientation_Vertical", "ImPlotOrientation.Vertical"},
{ "PinShape_CircleFilled", "PinShape._CircleFilled"},
{ "PinShape_CircleFilled", "PinShape.CircleFilled"},
{ "ImGuiPopupFlags_None", "ImGuiPopupFlags.None"},
{ "ImGuiNavHighlightFlags_TypeDefault", "ImGuiNavHighlightFlags.TypeDefault"},
{ "ImGuiKeyModFlags_Ctrl", "ImGuiKeyModFlags.Ctrl"},

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -5,7 +5,7 @@
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
<AssemblyName>ImGuiNET.SampleProgram.XNA</AssemblyName>
<RootNamespace>ImGuiNET.SampleProgram.XNA</RootNamespace>
<TargetFramework>net472</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
<OutputType>Exe</OutputType>
</PropertyGroup>
@ -15,7 +15,7 @@
<ItemGroup>
<Content Include="$(RepositoryRootDirectory)/deps/cimgui/win-x64/cimgui.dll" CopyToOutputDirectory="PreserveNewest" />
<Content Include="$(RepositoryRootDirectory)/deps/cimgui/osx-x64/cimgui.dylib" CopyToOutputDirectory="PreserveNewest" Link="lib%(Filename)%(Extension)" />
<Content Include="$(RepositoryRootDirectory)/deps/cimgui/osx-universal/cimgui.dylib" CopyToOutputDirectory="PreserveNewest" Link="lib%(Filename)%(Extension)" />
<Content Include="$(RepositoryRootDirectory)/deps/cimgui/linux-x64/cimgui.so" CopyToOutputDirectory="PreserveNewest" Link="lib%(Filename)%(Extension)" />
</ItemGroup>

@ -339,6 +339,11 @@ namespace ImGuiNET.SampleProgram.XNA
{
ImDrawCmdPtr drawCmd = cmdList.CmdBuffer[cmdi];
if (drawCmd.ElemCount == 0)
{
continue;
}
if (!_loadedTextures.ContainsKey(drawCmd.TextureId))
{
throw new InvalidOperationException($"Could not find a texture with id '{drawCmd.TextureId}', please check your bindings");
@ -360,19 +365,18 @@ namespace ImGuiNET.SampleProgram.XNA
#pragma warning disable CS0618 // // FNA does not expose an alternative method.
_graphicsDevice.DrawIndexedPrimitives(
primitiveType: PrimitiveType.TriangleList,
baseVertex: vtxOffset,
baseVertex: (int)drawCmd.VtxOffset + vtxOffset,
minVertexIndex: 0,
numVertices: cmdList.VtxBuffer.Size,
startIndex: idxOffset,
startIndex: (int)drawCmd.IdxOffset + idxOffset,
primitiveCount: (int)drawCmd.ElemCount / 3
);
#pragma warning restore CS0618
}
idxOffset += (int)drawCmd.ElemCount;
}
vtxOffset += cmdList.VtxBuffer.Size;
idxOffset += cmdList.IdxBuffer.Size;
}
}

@ -2,7 +2,7 @@
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp2.0</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
</PropertyGroup>
@ -26,7 +26,7 @@
<ItemGroup>
<Content Include="$(RepositoryRootDirectory)/deps/cimgui/win-x64/cimgui.dll" CopyToOutputDirectory="PreserveNewest" />
<Content Include="$(RepositoryRootDirectory)/deps/cimgui/osx-x64/cimgui.dylib" CopyToOutputDirectory="PreserveNewest" />
<Content Include="$(RepositoryRootDirectory)/deps/cimgui/osx-universal/cimgui.dylib" CopyToOutputDirectory="PreserveNewest" />
<Content Include="$(RepositoryRootDirectory)/deps/cimgui/linux-x64/cimgui.so" CopyToOutputDirectory="PreserveNewest" />
</ItemGroup>

@ -521,12 +521,11 @@ namespace ImGuiNET
(uint)(pcmd.ClipRect.Z - pcmd.ClipRect.X),
(uint)(pcmd.ClipRect.W - pcmd.ClipRect.Y));
cl.DrawIndexed(pcmd.ElemCount, 1, (uint)idx_offset, (int) (vtx_offset + pcmd.VtxOffset), 0);
cl.DrawIndexed(pcmd.ElemCount, 1, pcmd.IdxOffset + (uint)idx_offset, (int)pcmd.VtxOffset + vtx_offset, 0);
}
idx_offset += (int)pcmd.ElemCount;
}
vtx_offset += cmd_list.VtxBuffer.Size;
idx_offset += cmd_list.IdxBuffer.Size;
}
}

@ -3,6 +3,8 @@ using System.Globalization;
using ImGuiNET;
using System.Numerics;
#if false
namespace ImGuiNET
{
// C# port of ocornut's imgui_memory_editor.h - https://gist.github.com/ocornut/0673e37e54aff644298b
@ -104,7 +106,7 @@ namespace ImGuiNET
float scroll_offset = ((DataEditingAddr / Rows) - (data_editing_addr_backup / Rows)) * line_height;
bool scroll_desired = (scroll_offset < 0.0f && DataEditingAddr < visible_start_addr + Rows * 2) || (scroll_offset > 0.0f && DataEditingAddr > visible_end_addr - Rows * 2);
if (scroll_desired)
ImGuiNative.igSetScrollYFloat(ImGuiNative.igGetScrollY() + scroll_offset);
ImGuiNative.igSetScrollY_Float(ImGuiNative.igGetScrollY() + scroll_offset);
}
for (int line_i = clipper.DisplayStart; line_i < clipper.DisplayEnd; line_i++) // display only visible items
@ -274,4 +276,5 @@ namespace ImGuiNET
}
}
}
}
}
#endif

@ -16,7 +16,7 @@ namespace ImGuiNET
private static GraphicsDevice _gd;
private static CommandList _cl;
private static ImGuiController _controller;
private static MemoryEditor _memoryEditor;
// private static MemoryEditor _memoryEditor;
// UI state
private static float _f = 0.0f;
@ -47,7 +47,7 @@ namespace ImGuiNET
};
_cl = _gd.ResourceFactory.CreateCommandList();
_controller = new ImGuiController(_gd, _gd.MainSwapchain.Framebuffer.OutputDescription, _window.Width, _window.Height);
_memoryEditor = new MemoryEditor();
// _memoryEditor = new MemoryEditor();
Random random = new Random();
_memoryEditorData = Enumerable.Range(0, 1024).Select(i => (byte)random.Next(255)).ToArray();
@ -197,7 +197,8 @@ namespace ImGuiNET
if (_showMemoryEditor)
{
_memoryEditor.Draw("Memory Editor", _memoryEditorData, _memoryEditorData.Length);
ImGui.Text("Memory editor currently supported.");
// _memoryEditor.Draw("Memory Editor", _memoryEditorData, _memoryEditorData.Length);
}
}
}

@ -34,5 +34,10 @@ namespace ImGuiNET
{
ImGuiNative.ImDrawCmd_destroy((ImDrawCmd*)(NativePtr));
}
public IntPtr GetTexID()
{
IntPtr ret = ImGuiNative.ImDrawCmd_GetTexID((ImDrawCmd*)(NativePtr));
return ret;
}
}
}

@ -83,6 +83,10 @@ namespace ImGuiNET
{
ImGuiNative.ImDrawList__ResetForNewFrame((ImDrawList*)(NativePtr));
}
public void _TryMergeDrawCmds()
{
ImGuiNative.ImDrawList__TryMergeDrawCmds((ImDrawList*)(NativePtr));
}
public void AddBezierCubic(Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, uint col, float thickness)
{
int num_segments = 0;

@ -18,6 +18,7 @@ namespace ImGuiNET
public short ConfigDataCount;
public ushort FallbackChar;
public ushort EllipsisChar;
public ushort DotChar;
public byte DirtyLookupTables;
public float Scale;
public float Ascent;
@ -44,6 +45,7 @@ namespace ImGuiNET
public ref short ConfigDataCount => ref Unsafe.AsRef<short>(&NativePtr->ConfigDataCount);
public ref ushort FallbackChar => ref Unsafe.AsRef<ushort>(&NativePtr->FallbackChar);
public ref ushort EllipsisChar => ref Unsafe.AsRef<ushort>(&NativePtr->EllipsisChar);
public ref ushort DotChar => ref Unsafe.AsRef<ushort>(&NativePtr->DotChar);
public ref bool DirtyLookupTables => ref Unsafe.AsRef<bool>(&NativePtr->DirtyLookupTables);
public ref float Scale => ref Unsafe.AsRef<float>(&NativePtr->Scale);
public ref float Ascent => ref Unsafe.AsRef<float>(&NativePtr->Ascent);
@ -111,10 +113,6 @@ namespace ImGuiNET
ImDrawList* native_draw_list = draw_list.NativePtr;
ImGuiNative.ImFont_RenderChar((ImFont*)(NativePtr), native_draw_list, size, pos, col, c);
}
public void SetFallbackChar(ushort c)
{
ImGuiNative.ImFont_SetFallbackChar((ImFont*)(NativePtr), c);
}
public void SetGlyphVisible(ushort c, bool visible)
{
byte native_visible = visible ? (byte)1 : (byte)0;

@ -12,6 +12,7 @@ namespace ImGuiNET
public int TexDesiredWidth;
public int TexGlyphPadding;
public byte Locked;
public byte TexReady;
public byte TexPixelsUseColors;
public byte* TexPixelsAlpha8;
public uint* TexPixelsRGBA32;
@ -104,6 +105,7 @@ namespace ImGuiNET
public ref int TexDesiredWidth => ref Unsafe.AsRef<int>(&NativePtr->TexDesiredWidth);
public ref int TexGlyphPadding => ref Unsafe.AsRef<int>(&NativePtr->TexGlyphPadding);
public ref bool Locked => ref Unsafe.AsRef<bool>(&NativePtr->Locked);
public ref bool TexReady => ref Unsafe.AsRef<bool>(&NativePtr->TexReady);
public ref bool TexPixelsUseColors => ref Unsafe.AsRef<bool>(&NativePtr->TexPixelsUseColors);
public IntPtr TexPixelsAlpha8 { get => (IntPtr)NativePtr->TexPixelsAlpha8; set => NativePtr->TexPixelsAlpha8 = (byte*)value; }
public IntPtr TexPixelsRGBA32 { get => (IntPtr)NativePtr->TexPixelsRGBA32; set => NativePtr->TexPixelsRGBA32 = (uint*)value; }

File diff suppressed because it is too large Load Diff

@ -27,7 +27,7 @@ namespace ImGuiNET
PickerHueWheel = 67108864,
InputRGB = 134217728,
InputHSV = 268435456,
OptionsDefault = 177209344,
DefaultOptions = 177209344,
DisplayMask = 7340032,
DataTypeMask = 25165824,
PickerMask = 100663296,

@ -7,6 +7,8 @@ namespace ImGuiNET
ChildWindows = 1,
RootWindow = 2,
AnyWindow = 4,
NoPopupHierarchy = 8,
DockHierarchy = 16,
RootAndChildWindows = 3,
}
}

@ -7,11 +7,13 @@ namespace ImGuiNET
ChildWindows = 1,
RootWindow = 2,
AnyWindow = 4,
AllowWhenBlockedByPopup = 8,
AllowWhenBlockedByActiveItem = 32,
AllowWhenOverlapped = 64,
AllowWhenDisabled = 128,
RectOnly = 104,
NoPopupHierarchy = 8,
DockHierarchy = 16,
AllowWhenBlockedByPopup = 32,
AllowWhenBlockedByActiveItem = 128,
AllowWhenOverlapped = 256,
AllowWhenDisabled = 512,
RectOnly = 416,
RootAndChildWindows = 3,
}
}

@ -17,7 +17,6 @@ namespace ImGuiNET
public float MouseDoubleClickTime;
public float MouseDoubleClickMaxDist;
public float MouseDragThreshold;
public fixed int KeyMap[22];
public float KeyRepeatDelay;
public float KeyRepeatRate;
public void* UserData;
@ -36,6 +35,7 @@ namespace ImGuiNET
public byte ConfigViewportsNoDefaultParent;
public byte MouseDrawCursor;
public byte ConfigMacOSXBehaviors;
public byte ConfigInputTrickleEventQueue;
public byte ConfigInputTextCursorBlink;
public byte ConfigDragClickToInputText;
public byte ConfigWindowsResizeFromEdges;
@ -49,17 +49,8 @@ namespace ImGuiNET
public IntPtr GetClipboardTextFn;
public IntPtr SetClipboardTextFn;
public void* ClipboardUserData;
public Vector2 MousePos;
public fixed byte MouseDown[5];
public float MouseWheel;
public float MouseWheelH;
public uint MouseHoveredViewport;
public byte KeyCtrl;
public byte KeyShift;
public byte KeyAlt;
public byte KeySuper;
public fixed byte KeysDown[512];
public fixed float NavInputs[21];
public IntPtr SetPlatformImeDataFn;
public void* _UnusedPadding;
public byte WantCaptureMouse;
public byte WantCaptureKeyboard;
public byte WantTextInput;
@ -74,7 +65,666 @@ namespace ImGuiNET
public int MetricsActiveWindows;
public int MetricsActiveAllocations;
public Vector2 MouseDelta;
public fixed int KeyMap[645];
public fixed byte KeysDown[512];
public Vector2 MousePos;
public fixed byte MouseDown[5];
public float MouseWheel;
public float MouseWheelH;
public uint MouseHoveredViewport;
public byte KeyCtrl;
public byte KeyShift;
public byte KeyAlt;
public byte KeySuper;
public fixed float NavInputs[20];
public ImGuiKeyModFlags KeyMods;
public ImGuiKeyModFlags KeyModsPrev;
public ImGuiKeyData KeysData_0;
public ImGuiKeyData KeysData_1;
public ImGuiKeyData KeysData_2;
public ImGuiKeyData KeysData_3;
public ImGuiKeyData KeysData_4;
public ImGuiKeyData KeysData_5;
public ImGuiKeyData KeysData_6;
public ImGuiKeyData KeysData_7;
public ImGuiKeyData KeysData_8;
public ImGuiKeyData KeysData_9;
public ImGuiKeyData KeysData_10;
public ImGuiKeyData KeysData_11;
public ImGuiKeyData KeysData_12;
public ImGuiKeyData KeysData_13;
public ImGuiKeyData KeysData_14;
public ImGuiKeyData KeysData_15;
public ImGuiKeyData KeysData_16;
public ImGuiKeyData KeysData_17;
public ImGuiKeyData KeysData_18;
public ImGuiKeyData KeysData_19;
public ImGuiKeyData KeysData_20;
public ImGuiKeyData KeysData_21;
public ImGuiKeyData KeysData_22;
public ImGuiKeyData KeysData_23;
public ImGuiKeyData KeysData_24;
public ImGuiKeyData KeysData_25;
public ImGuiKeyData KeysData_26;
public ImGuiKeyData KeysData_27;
public ImGuiKeyData KeysData_28;
public ImGuiKeyData KeysData_29;
public ImGuiKeyData KeysData_30;
public ImGuiKeyData KeysData_31;
public ImGuiKeyData KeysData_32;
public ImGuiKeyData KeysData_33;
public ImGuiKeyData KeysData_34;
public ImGuiKeyData KeysData_35;
public ImGuiKeyData KeysData_36;
public ImGuiKeyData KeysData_37;
public ImGuiKeyData KeysData_38;
public ImGuiKeyData KeysData_39;
public ImGuiKeyData KeysData_40;
public ImGuiKeyData KeysData_41;
public ImGuiKeyData KeysData_42;
public ImGuiKeyData KeysData_43;
public ImGuiKeyData KeysData_44;
public ImGuiKeyData KeysData_45;
public ImGuiKeyData KeysData_46;
public ImGuiKeyData KeysData_47;
public ImGuiKeyData KeysData_48;
public ImGuiKeyData KeysData_49;
public ImGuiKeyData KeysData_50;
public ImGuiKeyData KeysData_51;
public ImGuiKeyData KeysData_52;
public ImGuiKeyData KeysData_53;
public ImGuiKeyData KeysData_54;
public ImGuiKeyData KeysData_55;
public ImGuiKeyData KeysData_56;
public ImGuiKeyData KeysData_57;
public ImGuiKeyData KeysData_58;
public ImGuiKeyData KeysData_59;
public ImGuiKeyData KeysData_60;
public ImGuiKeyData KeysData_61;
public ImGuiKeyData KeysData_62;
public ImGuiKeyData KeysData_63;
public ImGuiKeyData KeysData_64;
public ImGuiKeyData KeysData_65;
public ImGuiKeyData KeysData_66;
public ImGuiKeyData KeysData_67;
public ImGuiKeyData KeysData_68;
public ImGuiKeyData KeysData_69;
public ImGuiKeyData KeysData_70;
public ImGuiKeyData KeysData_71;
public ImGuiKeyData KeysData_72;
public ImGuiKeyData KeysData_73;
public ImGuiKeyData KeysData_74;
public ImGuiKeyData KeysData_75;
public ImGuiKeyData KeysData_76;
public ImGuiKeyData KeysData_77;
public ImGuiKeyData KeysData_78;
public ImGuiKeyData KeysData_79;
public ImGuiKeyData KeysData_80;
public ImGuiKeyData KeysData_81;
public ImGuiKeyData KeysData_82;
public ImGuiKeyData KeysData_83;
public ImGuiKeyData KeysData_84;
public ImGuiKeyData KeysData_85;
public ImGuiKeyData KeysData_86;
public ImGuiKeyData KeysData_87;
public ImGuiKeyData KeysData_88;
public ImGuiKeyData KeysData_89;
public ImGuiKeyData KeysData_90;
public ImGuiKeyData KeysData_91;
public ImGuiKeyData KeysData_92;
public ImGuiKeyData KeysData_93;
public ImGuiKeyData KeysData_94;
public ImGuiKeyData KeysData_95;
public ImGuiKeyData KeysData_96;
public ImGuiKeyData KeysData_97;
public ImGuiKeyData KeysData_98;
public ImGuiKeyData KeysData_99;
public ImGuiKeyData KeysData_100;
public ImGuiKeyData KeysData_101;
public ImGuiKeyData KeysData_102;
public ImGuiKeyData KeysData_103;
public ImGuiKeyData KeysData_104;
public ImGuiKeyData KeysData_105;
public ImGuiKeyData KeysData_106;
public ImGuiKeyData KeysData_107;
public ImGuiKeyData KeysData_108;
public ImGuiKeyData KeysData_109;
public ImGuiKeyData KeysData_110;
public ImGuiKeyData KeysData_111;
public ImGuiKeyData KeysData_112;
public ImGuiKeyData KeysData_113;
public ImGuiKeyData KeysData_114;
public ImGuiKeyData KeysData_115;
public ImGuiKeyData KeysData_116;
public ImGuiKeyData KeysData_117;
public ImGuiKeyData KeysData_118;
public ImGuiKeyData KeysData_119;
public ImGuiKeyData KeysData_120;
public ImGuiKeyData KeysData_121;
public ImGuiKeyData KeysData_122;
public ImGuiKeyData KeysData_123;
public ImGuiKeyData KeysData_124;
public ImGuiKeyData KeysData_125;
public ImGuiKeyData KeysData_126;
public ImGuiKeyData KeysData_127;
public ImGuiKeyData KeysData_128;
public ImGuiKeyData KeysData_129;
public ImGuiKeyData KeysData_130;
public ImGuiKeyData KeysData_131;
public ImGuiKeyData KeysData_132;
public ImGuiKeyData KeysData_133;
public ImGuiKeyData KeysData_134;
public ImGuiKeyData KeysData_135;
public ImGuiKeyData KeysData_136;
public ImGuiKeyData KeysData_137;
public ImGuiKeyData KeysData_138;
public ImGuiKeyData KeysData_139;
public ImGuiKeyData KeysData_140;
public ImGuiKeyData KeysData_141;
public ImGuiKeyData KeysData_142;
public ImGuiKeyData KeysData_143;
public ImGuiKeyData KeysData_144;
public ImGuiKeyData KeysData_145;
public ImGuiKeyData KeysData_146;
public ImGuiKeyData KeysData_147;
public ImGuiKeyData KeysData_148;
public ImGuiKeyData KeysData_149;
public ImGuiKeyData KeysData_150;
public ImGuiKeyData KeysData_151;
public ImGuiKeyData KeysData_152;
public ImGuiKeyData KeysData_153;
public ImGuiKeyData KeysData_154;
public ImGuiKeyData KeysData_155;
public ImGuiKeyData KeysData_156;
public ImGuiKeyData KeysData_157;
public ImGuiKeyData KeysData_158;
public ImGuiKeyData KeysData_159;
public ImGuiKeyData KeysData_160;
public ImGuiKeyData KeysData_161;
public ImGuiKeyData KeysData_162;
public ImGuiKeyData KeysData_163;
public ImGuiKeyData KeysData_164;
public ImGuiKeyData KeysData_165;
public ImGuiKeyData KeysData_166;
public ImGuiKeyData KeysData_167;
public ImGuiKeyData KeysData_168;
public ImGuiKeyData KeysData_169;
public ImGuiKeyData KeysData_170;
public ImGuiKeyData KeysData_171;
public ImGuiKeyData KeysData_172;
public ImGuiKeyData KeysData_173;
public ImGuiKeyData KeysData_174;
public ImGuiKeyData KeysData_175;
public ImGuiKeyData KeysData_176;
public ImGuiKeyData KeysData_177;
public ImGuiKeyData KeysData_178;
public ImGuiKeyData KeysData_179;
public ImGuiKeyData KeysData_180;
public ImGuiKeyData KeysData_181;
public ImGuiKeyData KeysData_182;
public ImGuiKeyData KeysData_183;
public ImGuiKeyData KeysData_184;
public ImGuiKeyData KeysData_185;
public ImGuiKeyData KeysData_186;
public ImGuiKeyData KeysData_187;
public ImGuiKeyData KeysData_188;
public ImGuiKeyData KeysData_189;
public ImGuiKeyData KeysData_190;
public ImGuiKeyData KeysData_191;
public ImGuiKeyData KeysData_192;
public ImGuiKeyData KeysData_193;
public ImGuiKeyData KeysData_194;
public ImGuiKeyData KeysData_195;
public ImGuiKeyData KeysData_196;
public ImGuiKeyData KeysData_197;
public ImGuiKeyData KeysData_198;
public ImGuiKeyData KeysData_199;
public ImGuiKeyData KeysData_200;
public ImGuiKeyData KeysData_201;
public ImGuiKeyData KeysData_202;
public ImGuiKeyData KeysData_203;
public ImGuiKeyData KeysData_204;
public ImGuiKeyData KeysData_205;
public ImGuiKeyData KeysData_206;
public ImGuiKeyData KeysData_207;
public ImGuiKeyData KeysData_208;
public ImGuiKeyData KeysData_209;
public ImGuiKeyData KeysData_210;
public ImGuiKeyData KeysData_211;
public ImGuiKeyData KeysData_212;
public ImGuiKeyData KeysData_213;
public ImGuiKeyData KeysData_214;
public ImGuiKeyData KeysData_215;
public ImGuiKeyData KeysData_216;
public ImGuiKeyData KeysData_217;
public ImGuiKeyData KeysData_218;
public ImGuiKeyData KeysData_219;
public ImGuiKeyData KeysData_220;
public ImGuiKeyData KeysData_221;
public ImGuiKeyData KeysData_222;
public ImGuiKeyData KeysData_223;
public ImGuiKeyData KeysData_224;
public ImGuiKeyData KeysData_225;
public ImGuiKeyData KeysData_226;
public ImGuiKeyData KeysData_227;
public ImGuiKeyData KeysData_228;
public ImGuiKeyData KeysData_229;
public ImGuiKeyData KeysData_230;
public ImGuiKeyData KeysData_231;
public ImGuiKeyData KeysData_232;
public ImGuiKeyData KeysData_233;
public ImGuiKeyData KeysData_234;
public ImGuiKeyData KeysData_235;
public ImGuiKeyData KeysData_236;
public ImGuiKeyData KeysData_237;
public ImGuiKeyData KeysData_238;
public ImGuiKeyData KeysData_239;
public ImGuiKeyData KeysData_240;
public ImGuiKeyData KeysData_241;
public ImGuiKeyData KeysData_242;
public ImGuiKeyData KeysData_243;
public ImGuiKeyData KeysData_244;
public ImGuiKeyData KeysData_245;
public ImGuiKeyData KeysData_246;
public ImGuiKeyData KeysData_247;
public ImGuiKeyData KeysData_248;
public ImGuiKeyData KeysData_249;
public ImGuiKeyData KeysData_250;
public ImGuiKeyData KeysData_251;
public ImGuiKeyData KeysData_252;
public ImGuiKeyData KeysData_253;
public ImGuiKeyData KeysData_254;
public ImGuiKeyData KeysData_255;
public ImGuiKeyData KeysData_256;
public ImGuiKeyData KeysData_257;
public ImGuiKeyData KeysData_258;
public ImGuiKeyData KeysData_259;
public ImGuiKeyData KeysData_260;
public ImGuiKeyData KeysData_261;
public ImGuiKeyData KeysData_262;
public ImGuiKeyData KeysData_263;
public ImGuiKeyData KeysData_264;
public ImGuiKeyData KeysData_265;
public ImGuiKeyData KeysData_266;
public ImGuiKeyData KeysData_267;
public ImGuiKeyData KeysData_268;
public ImGuiKeyData KeysData_269;
public ImGuiKeyData KeysData_270;
public ImGuiKeyData KeysData_271;
public ImGuiKeyData KeysData_272;
public ImGuiKeyData KeysData_273;
public ImGuiKeyData KeysData_274;
public ImGuiKeyData KeysData_275;
public ImGuiKeyData KeysData_276;
public ImGuiKeyData KeysData_277;
public ImGuiKeyData KeysData_278;
public ImGuiKeyData KeysData_279;
public ImGuiKeyData KeysData_280;
public ImGuiKeyData KeysData_281;
public ImGuiKeyData KeysData_282;
public ImGuiKeyData KeysData_283;
public ImGuiKeyData KeysData_284;
public ImGuiKeyData KeysData_285;
public ImGuiKeyData KeysData_286;
public ImGuiKeyData KeysData_287;
public ImGuiKeyData KeysData_288;
public ImGuiKeyData KeysData_289;
public ImGuiKeyData KeysData_290;
public ImGuiKeyData KeysData_291;
public ImGuiKeyData KeysData_292;
public ImGuiKeyData KeysData_293;
public ImGuiKeyData KeysData_294;
public ImGuiKeyData KeysData_295;
public ImGuiKeyData KeysData_296;
public ImGuiKeyData KeysData_297;
public ImGuiKeyData KeysData_298;
public ImGuiKeyData KeysData_299;
public ImGuiKeyData KeysData_300;
public ImGuiKeyData KeysData_301;
public ImGuiKeyData KeysData_302;
public ImGuiKeyData KeysData_303;
public ImGuiKeyData KeysData_304;
public ImGuiKeyData KeysData_305;
public ImGuiKeyData KeysData_306;
public ImGuiKeyData KeysData_307;
public ImGuiKeyData KeysData_308;
public ImGuiKeyData KeysData_309;
public ImGuiKeyData KeysData_310;
public ImGuiKeyData KeysData_311;
public ImGuiKeyData KeysData_312;
public ImGuiKeyData KeysData_313;
public ImGuiKeyData KeysData_314;
public ImGuiKeyData KeysData_315;
public ImGuiKeyData KeysData_316;
public ImGuiKeyData KeysData_317;
public ImGuiKeyData KeysData_318;
public ImGuiKeyData KeysData_319;
public ImGuiKeyData KeysData_320;
public ImGuiKeyData KeysData_321;
public ImGuiKeyData KeysData_322;
public ImGuiKeyData KeysData_323;
public ImGuiKeyData KeysData_324;
public ImGuiKeyData KeysData_325;
public ImGuiKeyData KeysData_326;
public ImGuiKeyData KeysData_327;
public ImGuiKeyData KeysData_328;
public ImGuiKeyData KeysData_329;
public ImGuiKeyData KeysData_330;
public ImGuiKeyData KeysData_331;
public ImGuiKeyData KeysData_332;
public ImGuiKeyData KeysData_333;
public ImGuiKeyData KeysData_334;
public ImGuiKeyData KeysData_335;
public ImGuiKeyData KeysData_336;
public ImGuiKeyData KeysData_337;
public ImGuiKeyData KeysData_338;
public ImGuiKeyData KeysData_339;
public ImGuiKeyData KeysData_340;
public ImGuiKeyData KeysData_341;
public ImGuiKeyData KeysData_342;
public ImGuiKeyData KeysData_343;
public ImGuiKeyData KeysData_344;
public ImGuiKeyData KeysData_345;
public ImGuiKeyData KeysData_346;
public ImGuiKeyData KeysData_347;
public ImGuiKeyData KeysData_348;
public ImGuiKeyData KeysData_349;
public ImGuiKeyData KeysData_350;
public ImGuiKeyData KeysData_351;
public ImGuiKeyData KeysData_352;
public ImGuiKeyData KeysData_353;
public ImGuiKeyData KeysData_354;
public ImGuiKeyData KeysData_355;
public ImGuiKeyData KeysData_356;
public ImGuiKeyData KeysData_357;
public ImGuiKeyData KeysData_358;
public ImGuiKeyData KeysData_359;
public ImGuiKeyData KeysData_360;
public ImGuiKeyData KeysData_361;
public ImGuiKeyData KeysData_362;
public ImGuiKeyData KeysData_363;
public ImGuiKeyData KeysData_364;
public ImGuiKeyData KeysData_365;
public ImGuiKeyData KeysData_366;
public ImGuiKeyData KeysData_367;
public ImGuiKeyData KeysData_368;
public ImGuiKeyData KeysData_369;
public ImGuiKeyData KeysData_370;
public ImGuiKeyData KeysData_371;
public ImGuiKeyData KeysData_372;
public ImGuiKeyData KeysData_373;
public ImGuiKeyData KeysData_374;
public ImGuiKeyData KeysData_375;
public ImGuiKeyData KeysData_376;
public ImGuiKeyData KeysData_377;
public ImGuiKeyData KeysData_378;
public ImGuiKeyData KeysData_379;
public ImGuiKeyData KeysData_380;
public ImGuiKeyData KeysData_381;
public ImGuiKeyData KeysData_382;
public ImGuiKeyData KeysData_383;
public ImGuiKeyData KeysData_384;
public ImGuiKeyData KeysData_385;
public ImGuiKeyData KeysData_386;
public ImGuiKeyData KeysData_387;
public ImGuiKeyData KeysData_388;
public ImGuiKeyData KeysData_389;
public ImGuiKeyData KeysData_390;
public ImGuiKeyData KeysData_391;
public ImGuiKeyData KeysData_392;
public ImGuiKeyData KeysData_393;
public ImGuiKeyData KeysData_394;
public ImGuiKeyData KeysData_395;
public ImGuiKeyData KeysData_396;
public ImGuiKeyData KeysData_397;
public ImGuiKeyData KeysData_398;
public ImGuiKeyData KeysData_399;
public ImGuiKeyData KeysData_400;
public ImGuiKeyData KeysData_401;
public ImGuiKeyData KeysData_402;
public ImGuiKeyData KeysData_403;
public ImGuiKeyData KeysData_404;
public ImGuiKeyData KeysData_405;
public ImGuiKeyData KeysData_406;
public ImGuiKeyData KeysData_407;
public ImGuiKeyData KeysData_408;
public ImGuiKeyData KeysData_409;
public ImGuiKeyData KeysData_410;
public ImGuiKeyData KeysData_411;
public ImGuiKeyData KeysData_412;
public ImGuiKeyData KeysData_413;
public ImGuiKeyData KeysData_414;
public ImGuiKeyData KeysData_415;
public ImGuiKeyData KeysData_416;
public ImGuiKeyData KeysData_417;
public ImGuiKeyData KeysData_418;
public ImGuiKeyData KeysData_419;
public ImGuiKeyData KeysData_420;
public ImGuiKeyData KeysData_421;
public ImGuiKeyData KeysData_422;
public ImGuiKeyData KeysData_423;
public ImGuiKeyData KeysData_424;
public ImGuiKeyData KeysData_425;
public ImGuiKeyData KeysData_426;
public ImGuiKeyData KeysData_427;
public ImGuiKeyData KeysData_428;
public ImGuiKeyData KeysData_429;
public ImGuiKeyData KeysData_430;
public ImGuiKeyData KeysData_431;
public ImGuiKeyData KeysData_432;
public ImGuiKeyData KeysData_433;
public ImGuiKeyData KeysData_434;
public ImGuiKeyData KeysData_435;
public ImGuiKeyData KeysData_436;
public ImGuiKeyData KeysData_437;
public ImGuiKeyData KeysData_438;
public ImGuiKeyData KeysData_439;
public ImGuiKeyData KeysData_440;
public ImGuiKeyData KeysData_441;
public ImGuiKeyData KeysData_442;
public ImGuiKeyData KeysData_443;
public ImGuiKeyData KeysData_444;
public ImGuiKeyData KeysData_445;
public ImGuiKeyData KeysData_446;
public ImGuiKeyData KeysData_447;
public ImGuiKeyData KeysData_448;
public ImGuiKeyData KeysData_449;
public ImGuiKeyData KeysData_450;
public ImGuiKeyData KeysData_451;
public ImGuiKeyData KeysData_452;
public ImGuiKeyData KeysData_453;
public ImGuiKeyData KeysData_454;
public ImGuiKeyData KeysData_455;
public ImGuiKeyData KeysData_456;
public ImGuiKeyData KeysData_457;
public ImGuiKeyData KeysData_458;
public ImGuiKeyData KeysData_459;
public ImGuiKeyData KeysData_460;
public ImGuiKeyData KeysData_461;
public ImGuiKeyData KeysData_462;
public ImGuiKeyData KeysData_463;
public ImGuiKeyData KeysData_464;
public ImGuiKeyData KeysData_465;
public ImGuiKeyData KeysData_466;
public ImGuiKeyData KeysData_467;
public ImGuiKeyData KeysData_468;
public ImGuiKeyData KeysData_469;
public ImGuiKeyData KeysData_470;
public ImGuiKeyData KeysData_471;
public ImGuiKeyData KeysData_472;
public ImGuiKeyData KeysData_473;
public ImGuiKeyData KeysData_474;
public ImGuiKeyData KeysData_475;
public ImGuiKeyData KeysData_476;
public ImGuiKeyData KeysData_477;
public ImGuiKeyData KeysData_478;
public ImGuiKeyData KeysData_479;
public ImGuiKeyData KeysData_480;
public ImGuiKeyData KeysData_481;
public ImGuiKeyData KeysData_482;
public ImGuiKeyData KeysData_483;
public ImGuiKeyData KeysData_484;
public ImGuiKeyData KeysData_485;
public ImGuiKeyData KeysData_486;
public ImGuiKeyData KeysData_487;
public ImGuiKeyData KeysData_488;
public ImGuiKeyData KeysData_489;
public ImGuiKeyData KeysData_490;
public ImGuiKeyData KeysData_491;
public ImGuiKeyData KeysData_492;
public ImGuiKeyData KeysData_493;
public ImGuiKeyData KeysData_494;
public ImGuiKeyData KeysData_495;
public ImGuiKeyData KeysData_496;
public ImGuiKeyData KeysData_497;
public ImGuiKeyData KeysData_498;
public ImGuiKeyData KeysData_499;
public ImGuiKeyData KeysData_500;
public ImGuiKeyData KeysData_501;
public ImGuiKeyData KeysData_502;
public ImGuiKeyData KeysData_503;
public ImGuiKeyData KeysData_504;
public ImGuiKeyData KeysData_505;
public ImGuiKeyData KeysData_506;
public ImGuiKeyData KeysData_507;
public ImGuiKeyData KeysData_508;
public ImGuiKeyData KeysData_509;
public ImGuiKeyData KeysData_510;
public ImGuiKeyData KeysData_511;
public ImGuiKeyData KeysData_512;
public ImGuiKeyData KeysData_513;
public ImGuiKeyData KeysData_514;
public ImGuiKeyData KeysData_515;
public ImGuiKeyData KeysData_516;
public ImGuiKeyData KeysData_517;
public ImGuiKeyData KeysData_518;
public ImGuiKeyData KeysData_519;
public ImGuiKeyData KeysData_520;
public ImGuiKeyData KeysData_521;
public ImGuiKeyData KeysData_522;
public ImGuiKeyData KeysData_523;
public ImGuiKeyData KeysData_524;
public ImGuiKeyData KeysData_525;
public ImGuiKeyData KeysData_526;
public ImGuiKeyData KeysData_527;
public ImGuiKeyData KeysData_528;
public ImGuiKeyData KeysData_529;
public ImGuiKeyData KeysData_530;
public ImGuiKeyData KeysData_531;
public ImGuiKeyData KeysData_532;
public ImGuiKeyData KeysData_533;
public ImGuiKeyData KeysData_534;
public ImGuiKeyData KeysData_535;
public ImGuiKeyData KeysData_536;
public ImGuiKeyData KeysData_537;
public ImGuiKeyData KeysData_538;
public ImGuiKeyData KeysData_539;
public ImGuiKeyData KeysData_540;
public ImGuiKeyData KeysData_541;
public ImGuiKeyData KeysData_542;
public ImGuiKeyData KeysData_543;
public ImGuiKeyData KeysData_544;
public ImGuiKeyData KeysData_545;
public ImGuiKeyData KeysData_546;
public ImGuiKeyData KeysData_547;
public ImGuiKeyData KeysData_548;
public ImGuiKeyData KeysData_549;
public ImGuiKeyData KeysData_550;
public ImGuiKeyData KeysData_551;
public ImGuiKeyData KeysData_552;
public ImGuiKeyData KeysData_553;
public ImGuiKeyData KeysData_554;
public ImGuiKeyData KeysData_555;
public ImGuiKeyData KeysData_556;
public ImGuiKeyData KeysData_557;
public ImGuiKeyData KeysData_558;
public ImGuiKeyData KeysData_559;
public ImGuiKeyData KeysData_560;
public ImGuiKeyData KeysData_561;
public ImGuiKeyData KeysData_562;
public ImGuiKeyData KeysData_563;
public ImGuiKeyData KeysData_564;
public ImGuiKeyData KeysData_565;
public ImGuiKeyData KeysData_566;
public ImGuiKeyData KeysData_567;
public ImGuiKeyData KeysData_568;
public ImGuiKeyData KeysData_569;
public ImGuiKeyData KeysData_570;
public ImGuiKeyData KeysData_571;
public ImGuiKeyData KeysData_572;
public ImGuiKeyData KeysData_573;
public ImGuiKeyData KeysData_574;
public ImGuiKeyData KeysData_575;
public ImGuiKeyData KeysData_576;
public ImGuiKeyData KeysData_577;
public ImGuiKeyData KeysData_578;
public ImGuiKeyData KeysData_579;
public ImGuiKeyData KeysData_580;
public ImGuiKeyData KeysData_581;
public ImGuiKeyData KeysData_582;
public ImGuiKeyData KeysData_583;
public ImGuiKeyData KeysData_584;
public ImGuiKeyData KeysData_585;
public ImGuiKeyData KeysData_586;
public ImGuiKeyData KeysData_587;
public ImGuiKeyData KeysData_588;
public ImGuiKeyData KeysData_589;
public ImGuiKeyData KeysData_590;
public ImGuiKeyData KeysData_591;
public ImGuiKeyData KeysData_592;
public ImGuiKeyData KeysData_593;
public ImGuiKeyData KeysData_594;
public ImGuiKeyData KeysData_595;
public ImGuiKeyData KeysData_596;
public ImGuiKeyData KeysData_597;
public ImGuiKeyData KeysData_598;
public ImGuiKeyData KeysData_599;
public ImGuiKeyData KeysData_600;
public ImGuiKeyData KeysData_601;
public ImGuiKeyData KeysData_602;
public ImGuiKeyData KeysData_603;
public ImGuiKeyData KeysData_604;
public ImGuiKeyData KeysData_605;
public ImGuiKeyData KeysData_606;
public ImGuiKeyData KeysData_607;
public ImGuiKeyData KeysData_608;
public ImGuiKeyData KeysData_609;
public ImGuiKeyData KeysData_610;
public ImGuiKeyData KeysData_611;
public ImGuiKeyData KeysData_612;
public ImGuiKeyData KeysData_613;
public ImGuiKeyData KeysData_614;
public ImGuiKeyData KeysData_615;
public ImGuiKeyData KeysData_616;
public ImGuiKeyData KeysData_617;
public ImGuiKeyData KeysData_618;
public ImGuiKeyData KeysData_619;
public ImGuiKeyData KeysData_620;
public ImGuiKeyData KeysData_621;
public ImGuiKeyData KeysData_622;
public ImGuiKeyData KeysData_623;
public ImGuiKeyData KeysData_624;
public ImGuiKeyData KeysData_625;
public ImGuiKeyData KeysData_626;
public ImGuiKeyData KeysData_627;
public ImGuiKeyData KeysData_628;
public ImGuiKeyData KeysData_629;
public ImGuiKeyData KeysData_630;
public ImGuiKeyData KeysData_631;
public ImGuiKeyData KeysData_632;
public ImGuiKeyData KeysData_633;
public ImGuiKeyData KeysData_634;
public ImGuiKeyData KeysData_635;
public ImGuiKeyData KeysData_636;
public ImGuiKeyData KeysData_637;
public ImGuiKeyData KeysData_638;
public ImGuiKeyData KeysData_639;
public ImGuiKeyData KeysData_640;
public ImGuiKeyData KeysData_641;
public ImGuiKeyData KeysData_642;
public ImGuiKeyData KeysData_643;
public ImGuiKeyData KeysData_644;
public byte WantCaptureMouseUnlessPopupClose;
public Vector2 MousePosPrev;
public Vector2 MouseClickedPos_0;
public Vector2 MouseClickedPos_1;
@ -84,9 +734,11 @@ namespace ImGuiNET
public fixed double MouseClickedTime[5];
public fixed byte MouseClicked[5];
public fixed byte MouseDoubleClicked[5];
public fixed ushort MouseClickedCount[5];
public fixed ushort MouseClickedLastCount[5];
public fixed byte MouseReleased[5];
public fixed byte MouseDownOwned[5];
public fixed byte MouseDownWasDoubleClick[5];
public fixed byte MouseDownOwnedUnlessPopupClose[5];
public fixed float MouseDownDuration[5];
public fixed float MouseDownDurationPrev[5];
public Vector2 MouseDragMaxDistanceAbs_0;
@ -95,11 +747,12 @@ namespace ImGuiNET
public Vector2 MouseDragMaxDistanceAbs_3;
public Vector2 MouseDragMaxDistanceAbs_4;
public fixed float MouseDragMaxDistanceSqr[5];
public fixed float KeysDownDuration[512];
public fixed float KeysDownDurationPrev[512];
public fixed float NavInputsDownDuration[21];
public fixed float NavInputsDownDurationPrev[21];
public fixed float NavInputsDownDuration[20];
public fixed float NavInputsDownDurationPrev[20];
public float PenPressure;
public byte AppFocusLost;
public sbyte BackendUsingLegacyKeyArrays;
public byte BackendUsingLegacyNavInputArray;
public ushort InputQueueSurrogate;
public ImVector InputQueueCharacters;
}
@ -121,7 +774,6 @@ namespace ImGuiNET
public ref float MouseDoubleClickTime => ref Unsafe.AsRef<float>(&NativePtr->MouseDoubleClickTime);
public ref float MouseDoubleClickMaxDist => ref Unsafe.AsRef<float>(&NativePtr->MouseDoubleClickMaxDist);
public ref float MouseDragThreshold => ref Unsafe.AsRef<float>(&NativePtr->MouseDragThreshold);
public RangeAccessor<int> KeyMap => new RangeAccessor<int>(NativePtr->KeyMap, 22);
public ref float KeyRepeatDelay => ref Unsafe.AsRef<float>(&NativePtr->KeyRepeatDelay);
public ref float KeyRepeatRate => ref Unsafe.AsRef<float>(&NativePtr->KeyRepeatRate);
public IntPtr UserData { get => (IntPtr)NativePtr->UserData; set => NativePtr->UserData = (void*)value; }
@ -140,6 +792,7 @@ namespace ImGuiNET
public ref bool ConfigViewportsNoDefaultParent => ref Unsafe.AsRef<bool>(&NativePtr->ConfigViewportsNoDefaultParent);
public ref bool MouseDrawCursor => ref Unsafe.AsRef<bool>(&NativePtr->MouseDrawCursor);
public ref bool ConfigMacOSXBehaviors => ref Unsafe.AsRef<bool>(&NativePtr->ConfigMacOSXBehaviors);
public ref bool ConfigInputTrickleEventQueue => ref Unsafe.AsRef<bool>(&NativePtr->ConfigInputTrickleEventQueue);
public ref bool ConfigInputTextCursorBlink => ref Unsafe.AsRef<bool>(&NativePtr->ConfigInputTextCursorBlink);
public ref bool ConfigDragClickToInputText => ref Unsafe.AsRef<bool>(&NativePtr->ConfigDragClickToInputText);
public ref bool ConfigWindowsResizeFromEdges => ref Unsafe.AsRef<bool>(&NativePtr->ConfigWindowsResizeFromEdges);
@ -153,17 +806,8 @@ namespace ImGuiNET
public ref IntPtr GetClipboardTextFn => ref Unsafe.AsRef<IntPtr>(&NativePtr->GetClipboardTextFn);
public ref IntPtr SetClipboardTextFn => ref Unsafe.AsRef<IntPtr>(&NativePtr->SetClipboardTextFn);
public IntPtr ClipboardUserData { get => (IntPtr)NativePtr->ClipboardUserData; set => NativePtr->ClipboardUserData = (void*)value; }
public ref Vector2 MousePos => ref Unsafe.AsRef<Vector2>(&NativePtr->MousePos);
public RangeAccessor<bool> MouseDown => new RangeAccessor<bool>(NativePtr->MouseDown, 5);
public ref float MouseWheel => ref Unsafe.AsRef<float>(&NativePtr->MouseWheel);
public ref float MouseWheelH => ref Unsafe.AsRef<float>(&NativePtr->MouseWheelH);
public ref uint MouseHoveredViewport => ref Unsafe.AsRef<uint>(&NativePtr->MouseHoveredViewport);
public ref bool KeyCtrl => ref Unsafe.AsRef<bool>(&NativePtr->KeyCtrl);
public ref bool KeyShift => ref Unsafe.AsRef<bool>(&NativePtr->KeyShift);
public ref bool KeyAlt => ref Unsafe.AsRef<bool>(&NativePtr->KeyAlt);
public ref bool KeySuper => ref Unsafe.AsRef<bool>(&NativePtr->KeySuper);
public RangeAccessor<bool> KeysDown => new RangeAccessor<bool>(NativePtr->KeysDown, 512);
public RangeAccessor<float> NavInputs => new RangeAccessor<float>(NativePtr->NavInputs, 21);
public ref IntPtr SetPlatformImeDataFn => ref Unsafe.AsRef<IntPtr>(&NativePtr->SetPlatformImeDataFn);
public IntPtr _UnusedPadding { get => (IntPtr)NativePtr->_UnusedPadding; set => NativePtr->_UnusedPadding = (void*)value; }
public ref bool WantCaptureMouse => ref Unsafe.AsRef<bool>(&NativePtr->WantCaptureMouse);
public ref bool WantCaptureKeyboard => ref Unsafe.AsRef<bool>(&NativePtr->WantCaptureKeyboard);
public ref bool WantTextInput => ref Unsafe.AsRef<bool>(&NativePtr->WantTextInput);
@ -178,26 +822,49 @@ namespace ImGuiNET
public ref int MetricsActiveWindows => ref Unsafe.AsRef<int>(&NativePtr->MetricsActiveWindows);
public ref int MetricsActiveAllocations => ref Unsafe.AsRef<int>(&NativePtr->MetricsActiveAllocations);
public ref Vector2 MouseDelta => ref Unsafe.AsRef<Vector2>(&NativePtr->MouseDelta);
public RangeAccessor<int> KeyMap => new RangeAccessor<int>(NativePtr->KeyMap, 645);
public RangeAccessor<bool> KeysDown => new RangeAccessor<bool>(NativePtr->KeysDown, 512);
public ref Vector2 MousePos => ref Unsafe.AsRef<Vector2>(&NativePtr->MousePos);
public RangeAccessor<bool> MouseDown => new RangeAccessor<bool>(NativePtr->MouseDown, 5);
public ref float MouseWheel => ref Unsafe.AsRef<float>(&NativePtr->MouseWheel);
public ref float MouseWheelH => ref Unsafe.AsRef<float>(&NativePtr->MouseWheelH);
public ref uint MouseHoveredViewport => ref Unsafe.AsRef<uint>(&NativePtr->MouseHoveredViewport);
public ref bool KeyCtrl => ref Unsafe.AsRef<bool>(&NativePtr->KeyCtrl);
public ref bool KeyShift => ref Unsafe.AsRef<bool>(&NativePtr->KeyShift);
public ref bool KeyAlt => ref Unsafe.AsRef<bool>(&NativePtr->KeyAlt);
public ref bool KeySuper => ref Unsafe.AsRef<bool>(&NativePtr->KeySuper);
public RangeAccessor<float> NavInputs => new RangeAccessor<float>(NativePtr->NavInputs, 20);
public ref ImGuiKeyModFlags KeyMods => ref Unsafe.AsRef<ImGuiKeyModFlags>(&NativePtr->KeyMods);
public ref ImGuiKeyModFlags KeyModsPrev => ref Unsafe.AsRef<ImGuiKeyModFlags>(&NativePtr->KeyModsPrev);
public RangeAccessor<ImGuiKeyData> KeysData => new RangeAccessor<ImGuiKeyData>(&NativePtr->KeysData_0, 645);
public ref bool WantCaptureMouseUnlessPopupClose => ref Unsafe.AsRef<bool>(&NativePtr->WantCaptureMouseUnlessPopupClose);
public ref Vector2 MousePosPrev => ref Unsafe.AsRef<Vector2>(&NativePtr->MousePosPrev);
public RangeAccessor<Vector2> MouseClickedPos => new RangeAccessor<Vector2>(&NativePtr->MouseClickedPos_0, 5);
public RangeAccessor<double> MouseClickedTime => new RangeAccessor<double>(NativePtr->MouseClickedTime, 5);
public RangeAccessor<bool> MouseClicked => new RangeAccessor<bool>(NativePtr->MouseClicked, 5);
public RangeAccessor<bool> MouseDoubleClicked => new RangeAccessor<bool>(NativePtr->MouseDoubleClicked, 5);
public RangeAccessor<ushort> MouseClickedCount => new RangeAccessor<ushort>(NativePtr->MouseClickedCount, 5);
public RangeAccessor<ushort> MouseClickedLastCount => new RangeAccessor<ushort>(NativePtr->MouseClickedLastCount, 5);
public RangeAccessor<bool> MouseReleased => new RangeAccessor<bool>(NativePtr->MouseReleased, 5);
public RangeAccessor<bool> MouseDownOwned => new RangeAccessor<bool>(NativePtr->MouseDownOwned, 5);
public RangeAccessor<bool> MouseDownWasDoubleClick => new RangeAccessor<bool>(NativePtr->MouseDownWasDoubleClick, 5);
public RangeAccessor<bool> MouseDownOwnedUnlessPopupClose => new RangeAccessor<bool>(NativePtr->MouseDownOwnedUnlessPopupClose, 5);
public RangeAccessor<float> MouseDownDuration => new RangeAccessor<float>(NativePtr->MouseDownDuration, 5);
public RangeAccessor<float> MouseDownDurationPrev => new RangeAccessor<float>(NativePtr->MouseDownDurationPrev, 5);
public RangeAccessor<Vector2> MouseDragMaxDistanceAbs => new RangeAccessor<Vector2>(&NativePtr->MouseDragMaxDistanceAbs_0, 5);
public RangeAccessor<float> MouseDragMaxDistanceSqr => new RangeAccessor<float>(NativePtr->MouseDragMaxDistanceSqr, 5);
public RangeAccessor<float> KeysDownDuration => new RangeAccessor<float>(NativePtr->KeysDownDuration, 512);
public RangeAccessor<float> KeysDownDurationPrev => new RangeAccessor<float>(NativePtr->KeysDownDurationPrev, 512);
public RangeAccessor<float> NavInputsDownDuration => new RangeAccessor<float>(NativePtr->NavInputsDownDuration, 21);
public RangeAccessor<float> NavInputsDownDurationPrev => new RangeAccessor<float>(NativePtr->NavInputsDownDurationPrev, 21);
public RangeAccessor<float> NavInputsDownDuration => new RangeAccessor<float>(NativePtr->NavInputsDownDuration, 20);
public RangeAccessor<float> NavInputsDownDurationPrev => new RangeAccessor<float>(NativePtr->NavInputsDownDurationPrev, 20);
public ref float PenPressure => ref Unsafe.AsRef<float>(&NativePtr->PenPressure);
public ref bool AppFocusLost => ref Unsafe.AsRef<bool>(&NativePtr->AppFocusLost);
public ref sbyte BackendUsingLegacyKeyArrays => ref Unsafe.AsRef<sbyte>(&NativePtr->BackendUsingLegacyKeyArrays);
public ref bool BackendUsingLegacyNavInputArray => ref Unsafe.AsRef<bool>(&NativePtr->BackendUsingLegacyNavInputArray);
public ref ushort InputQueueSurrogate => ref Unsafe.AsRef<ushort>(&NativePtr->InputQueueSurrogate);
public ImVector<ushort> InputQueueCharacters => new ImVector<ushort>(NativePtr->InputQueueCharacters);
public void AddFocusEvent(bool focused)
{
byte native_focused = focused ? (byte)1 : (byte)0;
ImGuiNative.ImGuiIO_AddFocusEvent((ImGuiIO*)(NativePtr), native_focused);
}
public void AddInputCharacter(uint c)
{
ImGuiNative.ImGuiIO_AddInputCharacter((ImGuiIO*)(NativePtr), c);
@ -232,13 +899,53 @@ namespace ImGuiNET
{
ImGuiNative.ImGuiIO_AddInputCharacterUTF16((ImGuiIO*)(NativePtr), c);
}
public void AddKeyAnalogEvent(ImGuiKey key, bool down, float v)
{
byte native_down = down ? (byte)1 : (byte)0;
ImGuiNative.ImGuiIO_AddKeyAnalogEvent((ImGuiIO*)(NativePtr), key, native_down, v);
}
public void AddKeyEvent(ImGuiKey key, bool down)
{
byte native_down = down ? (byte)1 : (byte)0;
ImGuiNative.ImGuiIO_AddKeyEvent((ImGuiIO*)(NativePtr), key, native_down);
}
public void AddMouseButtonEvent(int button, bool down)
{
byte native_down = down ? (byte)1 : (byte)0;
ImGuiNative.ImGuiIO_AddMouseButtonEvent((ImGuiIO*)(NativePtr), button, native_down);
}
public void AddMousePosEvent(float x, float y)
{
ImGuiNative.ImGuiIO_AddMousePosEvent((ImGuiIO*)(NativePtr), x, y);
}
public void AddMouseViewportEvent(uint id)
{
ImGuiNative.ImGuiIO_AddMouseViewportEvent((ImGuiIO*)(NativePtr), id);
}
public void AddMouseWheelEvent(float wh_x, float wh_y)
{
ImGuiNative.ImGuiIO_AddMouseWheelEvent((ImGuiIO*)(NativePtr), wh_x, wh_y);
}
public void ClearInputCharacters()
{
ImGuiNative.ImGuiIO_ClearInputCharacters((ImGuiIO*)(NativePtr));
}
public void ClearInputKeys()
{
ImGuiNative.ImGuiIO_ClearInputKeys((ImGuiIO*)(NativePtr));
}
public void Destroy()
{
ImGuiNative.ImGuiIO_destroy((ImGuiIO*)(NativePtr));
}
public void SetKeyEventNativeData(ImGuiKey key, int native_keycode, int native_scancode)
{
int native_legacy_index = -1;
ImGuiNative.ImGuiIO_SetKeyEventNativeData((ImGuiIO*)(NativePtr), key, native_keycode, native_scancode, native_legacy_index);
}
public void SetKeyEventNativeData(ImGuiKey key, int native_keycode, int native_scancode, int native_legacy_index)
{
ImGuiNative.ImGuiIO_SetKeyEventNativeData((ImGuiIO*)(NativePtr), key, native_keycode, native_scancode, native_legacy_index);
}
}
}

@ -24,7 +24,5 @@ namespace ImGuiNET
CharsScientific = 131072,
CallbackResize = 262144,
CallbackEdit = 524288,
Multiline = 1048576,
NoMarkEdited = 2097152,
}
}

@ -2,28 +2,145 @@ namespace ImGuiNET
{
public enum ImGuiKey
{
Tab = 0,
LeftArrow = 1,
RightArrow = 2,
UpArrow = 3,
DownArrow = 4,
PageUp = 5,
PageDown = 6,
Home = 7,
End = 8,
Insert = 9,
Delete = 10,
Backspace = 11,
Space = 12,
Enter = 13,
Escape = 14,
KeyPadEnter = 15,
A = 16,
C = 17,
V = 18,
X = 19,
Y = 20,
Z = 21,
COUNT = 22,
None = 0,
Tab = 512,
LeftArrow = 513,
RightArrow = 514,
UpArrow = 515,
DownArrow = 516,
PageUp = 517,
PageDown = 518,
Home = 519,
End = 520,
Insert = 521,
Delete = 522,
Backspace = 523,
Space = 524,
Enter = 525,
Escape = 526,
LeftCtrl = 527,
LeftShift = 528,
LeftAlt = 529,
LeftSuper = 530,
RightCtrl = 531,
RightShift = 532,
RightAlt = 533,
RightSuper = 534,
Menu = 535,
_0 = 536,
_1 = 537,
_2 = 538,
_3 = 539,
_4 = 540,
_5 = 541,
_6 = 542,
_7 = 543,
_8 = 544,
_9 = 545,
A = 546,
B = 547,
C = 548,
D = 549,
E = 550,
F = 551,
G = 552,
H = 553,
I = 554,
J = 555,
K = 556,
L = 557,
M = 558,
N = 559,
O = 560,
P = 561,
Q = 562,
R = 563,
S = 564,
T = 565,
U = 566,
V = 567,
W = 568,
X = 569,
Y = 570,
Z = 571,
F1 = 572,
F2 = 573,
F3 = 574,
F4 = 575,
F5 = 576,
F6 = 577,
F7 = 578,
F8 = 579,
F9 = 580,
F10 = 581,
F11 = 582,
F12 = 583,
Apostrophe = 584,
Comma = 585,
Minus = 586,
Period = 587,
Slash = 588,
Semicolon = 589,
Equal = 590,
LeftBracket = 591,
Backslash = 592,
RightBracket = 593,
GraveAccent = 594,
CapsLock = 595,
ScrollLock = 596,
NumLock = 597,
PrintScreen = 598,
Pause = 599,
Keypad0 = 600,
Keypad1 = 601,
Keypad2 = 602,
Keypad3 = 603,
Keypad4 = 604,
Keypad5 = 605,
Keypad6 = 606,
Keypad7 = 607,
Keypad8 = 608,
Keypad9 = 609,
KeypadDecimal = 610,
KeypadDivide = 611,
KeypadMultiply = 612,
KeypadSubtract = 613,
KeypadAdd = 614,
KeypadEnter = 615,
KeypadEqual = 616,
GamepadStart = 617,
GamepadBack = 618,
GamepadFaceUp = 619,
GamepadFaceDown = 620,
GamepadFaceLeft = 621,
GamepadFaceRight = 622,
GamepadDpadUp = 623,
GamepadDpadDown = 624,
GamepadDpadLeft = 625,
GamepadDpadRight = 626,
GamepadL1 = 627,
GamepadR1 = 628,
GamepadL2 = 629,
GamepadR2 = 630,
GamepadL3 = 631,
GamepadR3 = 632,
GamepadLStickUp = 633,
GamepadLStickDown = 634,
GamepadLStickLeft = 635,
GamepadLStickRight = 636,
GamepadRStickUp = 637,
GamepadRStickDown = 638,
GamepadRStickLeft = 639,
GamepadRStickRight = 640,
ModCtrl = 641,
ModShift = 642,
ModAlt = 643,
ModSuper = 644,
COUNT = 645,
NamedKey_BEGIN = 512,
NamedKey_END = 645,
NamedKey_COUNT = 133,
KeysData_SIZE = 645,
KeysData_OFFSET = 0,
}
}

@ -0,0 +1,28 @@
using System;
using System.Numerics;
using System.Runtime.CompilerServices;
using System.Text;
namespace ImGuiNET
{
public unsafe partial struct ImGuiKeyData
{
public byte Down;
public float DownDuration;
public float DownDurationPrev;
public float AnalogValue;
}
public unsafe partial struct ImGuiKeyDataPtr
{
public ImGuiKeyData* NativePtr { get; }
public ImGuiKeyDataPtr(ImGuiKeyData* nativePtr) => NativePtr = nativePtr;
public ImGuiKeyDataPtr(IntPtr nativePtr) => NativePtr = (ImGuiKeyData*)nativePtr;
public static implicit operator ImGuiKeyDataPtr(ImGuiKeyData* nativePtr) => new ImGuiKeyDataPtr(nativePtr);
public static implicit operator ImGuiKeyData* (ImGuiKeyDataPtr wrappedPtr) => wrappedPtr.NativePtr;
public static implicit operator ImGuiKeyDataPtr(IntPtr nativePtr) => new ImGuiKeyDataPtr(nativePtr);
public ref bool Down => ref Unsafe.AsRef<bool>(&NativePtr->Down);
public ref float DownDuration => ref Unsafe.AsRef<float>(&NativePtr->DownDuration);
public ref float DownDurationPrev => ref Unsafe.AsRef<float>(&NativePtr->DownDurationPrev);
public ref float AnalogValue => ref Unsafe.AsRef<float>(&NativePtr->AnalogValue);
}
}

@ -10,10 +10,9 @@ namespace ImGuiNET
public int DisplayStart;
public int DisplayEnd;
public int ItemsCount;
public int StepNo;
public int ItemsFrozen;
public float ItemsHeight;
public float StartPosY;
public void* TempData;
}
public unsafe partial struct ImGuiListClipperPtr
{
@ -26,10 +25,9 @@ namespace ImGuiNET
public ref int DisplayStart => ref Unsafe.AsRef<int>(&NativePtr->DisplayStart);
public ref int DisplayEnd => ref Unsafe.AsRef<int>(&NativePtr->DisplayEnd);
public ref int ItemsCount => ref Unsafe.AsRef<int>(&NativePtr->ItemsCount);
public ref int StepNo => ref Unsafe.AsRef<int>(&NativePtr->StepNo);
public ref int ItemsFrozen => ref Unsafe.AsRef<int>(&NativePtr->ItemsFrozen);
public ref float ItemsHeight => ref Unsafe.AsRef<float>(&NativePtr->ItemsHeight);
public ref float StartPosY => ref Unsafe.AsRef<float>(&NativePtr->StartPosY);
public IntPtr TempData { get => (IntPtr)NativePtr->TempData; set => NativePtr->TempData = (void*)value; }
public void Begin(int items_count)
{
float items_height = -1.0f;
@ -47,6 +45,10 @@ namespace ImGuiNET
{
ImGuiNative.ImGuiListClipper_End((ImGuiListClipper*)(NativePtr));
}
public void ForceDisplayRangeByIndices(int item_min, int item_max)
{
ImGuiNative.ImGuiListClipper_ForceDisplayRangeByIndices((ImGuiListClipper*)(NativePtr), item_min, item_max);
}
public bool Step()
{
byte ret = ImGuiNative.ImGuiListClipper_Step((ImGuiListClipper*)(NativePtr));

@ -15,14 +15,16 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igBegin(byte* name, byte* p_open, ImGuiWindowFlags flags);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igBeginChildStr(byte* str_id, Vector2 size, byte border, ImGuiWindowFlags flags);
public static extern byte igBeginChild_Str(byte* str_id, Vector2 size, byte border, ImGuiWindowFlags flags);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igBeginChildID(uint id, Vector2 size, byte border, ImGuiWindowFlags flags);
public static extern byte igBeginChild_ID(uint id, Vector2 size, byte border, ImGuiWindowFlags flags);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igBeginChildFrame(uint id, Vector2 size, ImGuiWindowFlags flags);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igBeginCombo(byte* label, byte* preview_value, ImGuiComboFlags flags);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igBeginDisabled(byte disabled);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igBeginDragDropSource(ImGuiDragDropFlags flags);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igBeginDragDropTarget();
@ -63,8 +65,6 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern float igCalcItemWidth();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igCalcListClipping(int items_count, float items_height, int* out_items_display_start, int* out_items_display_end);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igCalcTextSize(Vector2* pOut, byte* text, byte* text_end, byte hide_text_after_double_hash, float wrap_width);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igCaptureKeyboardFromApp(byte want_capture_keyboard_value);
@ -73,15 +73,15 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igCheckbox(byte* label, byte* v);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igCheckboxFlagsIntPtr(byte* label, int* flags, int flags_value);
public static extern byte igCheckboxFlags_IntPtr(byte* label, int* flags, int flags_value);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igCheckboxFlagsUintPtr(byte* label, uint* flags, uint flags_value);
public static extern byte igCheckboxFlags_UintPtr(byte* label, uint* flags, uint flags_value);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igCloseCurrentPopup();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igCollapsingHeaderTreeNodeFlags(byte* label, ImGuiTreeNodeFlags flags);
public static extern byte igCollapsingHeader_TreeNodeFlags(byte* label, ImGuiTreeNodeFlags flags);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igCollapsingHeaderBoolPtr(byte* label, byte* p_visible, ImGuiTreeNodeFlags flags);
public static extern byte igCollapsingHeader_BoolPtr(byte* label, byte* p_visible, ImGuiTreeNodeFlags flags);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igColorButton(byte* desc_id, Vector4 col, ImGuiColorEditFlags flags, Vector2 size);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
@ -103,9 +103,9 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igColumns(int count, byte* id, byte border);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igComboStr_arr(byte* label, int* current_item, byte** items, int items_count, int popup_max_height_in_items);
public static extern byte igCombo_Str_arr(byte* label, int* current_item, byte** items, int items_count, int popup_max_height_in_items);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igComboStr(byte* label, int* current_item, byte* items_separated_by_zeros, int popup_max_height_in_items);
public static extern byte igCombo_Str(byte* label, int* current_item, byte* items_separated_by_zeros, int popup_max_height_in_items);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern IntPtr igCreateContext(ImFontAtlas* shared_font_atlas);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
@ -115,7 +115,7 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igDestroyPlatformWindows();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igDockSpace(uint id, Vector2 size, ImGuiDockNodeFlags flags, ImGuiWindowClass* window_class);
public static extern uint igDockSpace(uint id, Vector2 size, ImGuiDockNodeFlags flags, ImGuiWindowClass* window_class);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern uint igDockSpaceOverViewport(ImGuiViewport* viewport, ImGuiDockNodeFlags flags, ImGuiWindowClass* window_class);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
@ -153,6 +153,8 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igEndCombo();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igEndDisabled();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igEndDragDropSource();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igEndDragDropTarget();
@ -185,17 +187,17 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igGetAllocatorFunctions(IntPtr* p_alloc_func, IntPtr* p_free_func, void** p_user_data);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern ImDrawList* igGetBackgroundDrawListNil();
public static extern ImDrawList* igGetBackgroundDrawList_Nil();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern ImDrawList* igGetBackgroundDrawListViewportPtr(ImGuiViewport* viewport);
public static extern ImDrawList* igGetBackgroundDrawList_ViewportPtr(ImGuiViewport* viewport);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte* igGetClipboardText();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern uint igGetColorU32Col(ImGuiCol idx, float alpha_mul);
public static extern uint igGetColorU32_Col(ImGuiCol idx, float alpha_mul);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern uint igGetColorU32Vec4(Vector4 col);
public static extern uint igGetColorU32_Vec4(Vector4 col);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern uint igGetColorU32U32(uint col);
public static extern uint igGetColorU32_U32(uint col);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern int igGetColumnIndex();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
@ -233,9 +235,9 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igGetFontTexUvWhitePixel(Vector2* pOut);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern ImDrawList* igGetForegroundDrawListNil();
public static extern ImDrawList* igGetForegroundDrawList_Nil();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern ImDrawList* igGetForegroundDrawListViewportPtr(ImGuiViewport* viewport);
public static extern ImDrawList* igGetForegroundDrawList_ViewportPtr(ImGuiViewport* viewport);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern int igGetFrameCount();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
@ -243,11 +245,11 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern float igGetFrameHeightWithSpacing();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern uint igGetIDStr(byte* str_id);
public static extern uint igGetID_Str(byte* str_id);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern uint igGetIDStrStr(byte* str_id_begin, byte* str_id_end);
public static extern uint igGetID_StrStr(byte* str_id_begin, byte* str_id_end);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern uint igGetIDPtr(void* ptr_id);
public static extern uint igGetID_Ptr(void* ptr_id);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern ImGuiIO* igGetIO();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
@ -257,12 +259,16 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igGetItemRectSize(Vector2* pOut);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern int igGetKeyIndex(ImGuiKey imgui_key);
public static extern int igGetKeyIndex(ImGuiKey key);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern int igGetKeyPressedAmount(int key_index, float repeat_delay, float rate);
public static extern byte* igGetKeyName(ImGuiKey key);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern int igGetKeyPressedAmount(ImGuiKey key, float repeat_delay, float rate);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern ImGuiViewport* igGetMainViewport();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern int igGetMouseClickedCount(ImGuiMouseButton button);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern ImGuiMouseCursor igGetMouseCursor();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igGetMouseDragDelta(Vector2* pOut, ImGuiMouseButton button, float lock_threshold);
@ -303,8 +309,6 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igGetWindowContentRegionMin(Vector2* pOut);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern float igGetWindowContentRegionWidth();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern uint igGetWindowDockID();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern float igGetWindowDpiScale();
@ -385,11 +389,11 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igIsItemVisible();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igIsKeyDown(int user_key_index);
public static extern byte igIsKeyDown(ImGuiKey key);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igIsKeyPressed(int user_key_index, byte repeat);
public static extern byte igIsKeyPressed(ImGuiKey key, byte repeat);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igIsKeyReleased(int user_key_index);
public static extern byte igIsKeyReleased(ImGuiKey key);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igIsMouseClicked(ImGuiMouseButton button, byte repeat);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
@ -405,11 +409,11 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igIsMouseReleased(ImGuiMouseButton button);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igIsPopupOpenStr(byte* str_id, ImGuiPopupFlags flags);
public static extern byte igIsPopupOpen_Str(byte* str_id, ImGuiPopupFlags flags);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igIsRectVisibleNil(Vector2 size);
public static extern byte igIsRectVisible_Nil(Vector2 size);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igIsRectVisibleVec2(Vector2 rect_min, Vector2 rect_max);
public static extern byte igIsRectVisible_Vec2(Vector2 rect_min, Vector2 rect_max);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igIsWindowAppearing();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
@ -423,7 +427,7 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igLabelText(byte* label, byte* fmt);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igListBoxStr_arr(byte* label, int* current_item, byte** items, int items_count, int height_in_items);
public static extern byte igListBox_Str_arr(byte* label, int* current_item, byte** items, int items_count, int height_in_items);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igLoadIniSettingsFromDisk(byte* ini_filename);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
@ -445,9 +449,9 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igMemFree(void* ptr);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igMenuItemBool(byte* label, byte* shortcut, byte selected, byte enabled);
public static extern byte igMenuItem_Bool(byte* label, byte* shortcut, byte selected, byte enabled);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igMenuItemBoolPtr(byte* label, byte* shortcut, byte* p_selected, byte enabled);
public static extern byte igMenuItem_BoolPtr(byte* label, byte* shortcut, byte* p_selected, byte enabled);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igNewFrame();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
@ -455,13 +459,15 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igNextColumn();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igOpenPopup(byte* str_id, ImGuiPopupFlags popup_flags);
public static extern void igOpenPopup_Str(byte* str_id, ImGuiPopupFlags popup_flags);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igOpenPopup_ID(uint id, ImGuiPopupFlags popup_flags);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igOpenPopupOnItemClick(byte* str_id, ImGuiPopupFlags popup_flags);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igPlotHistogramFloatPtr(byte* label, float* values, int values_count, int values_offset, byte* overlay_text, float scale_min, float scale_max, Vector2 graph_size, int stride);
public static extern void igPlotHistogram_FloatPtr(byte* label, float* values, int values_count, int values_offset, byte* overlay_text, float scale_min, float scale_max, Vector2 graph_size, int stride);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igPlotLinesFloatPtr(byte* label, float* values, int values_count, int values_offset, byte* overlay_text, float scale_min, float scale_max, Vector2 graph_size, int stride);
public static extern void igPlotLines_FloatPtr(byte* label, float* values, int values_count, int values_offset, byte* overlay_text, float scale_min, float scale_max, Vector2 graph_size, int stride);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igPopAllowKeyboardFocus();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
@ -491,29 +497,29 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igPushFont(ImFont* font);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igPushIDStr(byte* str_id);
public static extern void igPushID_Str(byte* str_id);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igPushIDStrStr(byte* str_id_begin, byte* str_id_end);
public static extern void igPushID_StrStr(byte* str_id_begin, byte* str_id_end);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igPushIDPtr(void* ptr_id);
public static extern void igPushID_Ptr(void* ptr_id);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igPushIDInt(int int_id);
public static extern void igPushID_Int(int int_id);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igPushItemWidth(float item_width);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igPushStyleColorU32(ImGuiCol idx, uint col);
public static extern void igPushStyleColor_U32(ImGuiCol idx, uint col);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igPushStyleColorVec4(ImGuiCol idx, Vector4 col);
public static extern void igPushStyleColor_Vec4(ImGuiCol idx, Vector4 col);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igPushStyleVarFloat(ImGuiStyleVar idx, float val);
public static extern void igPushStyleVar_Float(ImGuiStyleVar idx, float val);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igPushStyleVarVec2(ImGuiStyleVar idx, Vector2 val);
public static extern void igPushStyleVar_Vec2(ImGuiStyleVar idx, Vector2 val);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igPushTextWrapPos(float wrap_local_pos_x);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igRadioButtonBool(byte* label, byte active);
public static extern byte igRadioButton_Bool(byte* label, byte active);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igRadioButtonIntPtr(byte* label, int* v, int v_button);
public static extern byte igRadioButton_IntPtr(byte* label, int* v, int v_button);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igRender();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
@ -527,9 +533,9 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte* igSaveIniSettingsToMemory(uint* out_ini_size);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igSelectableBool(byte* label, byte selected, ImGuiSelectableFlags flags, Vector2 size);
public static extern byte igSelectable_Bool(byte* label, byte selected, ImGuiSelectableFlags flags, Vector2 size);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igSelectableBoolPtr(byte* label, byte* p_selected, ImGuiSelectableFlags flags, Vector2 size);
public static extern byte igSelectable_BoolPtr(byte* label, byte* p_selected, ImGuiSelectableFlags flags, Vector2 size);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igSeparator();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
@ -587,17 +593,17 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igSetNextWindowViewport(uint viewport_id);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igSetScrollFromPosXFloat(float local_x, float center_x_ratio);
public static extern void igSetScrollFromPosX_Float(float local_x, float center_x_ratio);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igSetScrollFromPosYFloat(float local_y, float center_y_ratio);
public static extern void igSetScrollFromPosY_Float(float local_y, float center_y_ratio);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igSetScrollHereX(float center_x_ratio);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igSetScrollHereY(float center_y_ratio);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igSetScrollXFloat(float scroll_x);
public static extern void igSetScrollX_Float(float scroll_x);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igSetScrollYFloat(float scroll_y);
public static extern void igSetScrollY_Float(float scroll_y);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igSetStateStorage(ImGuiStorage* storage);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
@ -605,23 +611,23 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igSetTooltip(byte* fmt);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igSetWindowCollapsedBool(byte collapsed, ImGuiCond cond);
public static extern void igSetWindowCollapsed_Bool(byte collapsed, ImGuiCond cond);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igSetWindowCollapsedStr(byte* name, byte collapsed, ImGuiCond cond);
public static extern void igSetWindowCollapsed_Str(byte* name, byte collapsed, ImGuiCond cond);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igSetWindowFocusNil();
public static extern void igSetWindowFocus_Nil();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igSetWindowFocusStr(byte* name);
public static extern void igSetWindowFocus_Str(byte* name);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igSetWindowFontScale(float scale);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igSetWindowPosVec2(Vector2 pos, ImGuiCond cond);
public static extern void igSetWindowPos_Vec2(Vector2 pos, ImGuiCond cond);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igSetWindowPosStr(byte* name, Vector2 pos, ImGuiCond cond);
public static extern void igSetWindowPos_Str(byte* name, Vector2 pos, ImGuiCond cond);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igSetWindowSizeVec2(Vector2 size, ImGuiCond cond);
public static extern void igSetWindowSize_Vec2(Vector2 size, ImGuiCond cond);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igSetWindowSizeStr(byte* name, Vector2 size, ImGuiCond cond);
public static extern void igSetWindowSize_Str(byte* name, Vector2 size, ImGuiCond cond);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igShowAboutWindow(byte* p_open);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
@ -631,6 +637,8 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igShowMetricsWindow(byte* p_open);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igShowStackToolWindow(byte* p_open);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igShowStyleEditor(ImGuiStyle* @ref);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igShowStyleSelector(byte* label);
@ -677,7 +685,7 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern int igTableGetColumnIndex();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte* igTableGetColumnNameInt(int column_n);
public static extern byte* igTableGetColumnName_Int(int column_n);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern int igTableGetRowIndex();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
@ -693,6 +701,8 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igTableSetBgColor(ImGuiTableBgTarget target, uint color, int column_n);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igTableSetColumnEnabled(int column_n, byte v);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igTableSetColumnIndex(int column_n);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igTableSetupColumn(byte* label, ImGuiTableColumnFlags flags, float init_width_or_weight, uint user_id);
@ -709,35 +719,35 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igTextWrapped(byte* fmt);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igTreeNodeStr(byte* label);
public static extern byte igTreeNode_Str(byte* label);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igTreeNodeStrStr(byte* str_id, byte* fmt);
public static extern byte igTreeNode_StrStr(byte* str_id, byte* fmt);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igTreeNodePtr(void* ptr_id, byte* fmt);
public static extern byte igTreeNode_Ptr(void* ptr_id, byte* fmt);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igTreeNodeExStr(byte* label, ImGuiTreeNodeFlags flags);
public static extern byte igTreeNodeEx_Str(byte* label, ImGuiTreeNodeFlags flags);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igTreeNodeExStrStr(byte* str_id, ImGuiTreeNodeFlags flags, byte* fmt);
public static extern byte igTreeNodeEx_StrStr(byte* str_id, ImGuiTreeNodeFlags flags, byte* fmt);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igTreeNodeExPtr(void* ptr_id, ImGuiTreeNodeFlags flags, byte* fmt);
public static extern byte igTreeNodeEx_Ptr(void* ptr_id, ImGuiTreeNodeFlags flags, byte* fmt);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igTreePop();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igTreePushStr(byte* str_id);
public static extern void igTreePush_Str(byte* str_id);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igTreePushPtr(void* ptr_id);
public static extern void igTreePush_Ptr(void* ptr_id);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igUnindent(float indent_w);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igUpdatePlatformWindows();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igValueBool(byte* prefix, byte b);
public static extern void igValue_Bool(byte* prefix, byte b);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igValueInt(byte* prefix, int v);
public static extern void igValue_Int(byte* prefix, int v);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igValueUint(byte* prefix, uint v);
public static extern void igValue_Uint(byte* prefix, uint v);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igValueFloat(byte* prefix, float v, byte* float_format);
public static extern void igValue_Float(byte* prefix, float v, byte* float_format);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igVSliderFloat(byte* label, Vector2 size, float* v, float v_min, float v_max, byte* format, ImGuiSliderFlags flags);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
@ -749,20 +759,22 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImColor_HSV(ImColor* pOut, float h, float s, float v, float a);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern ImColor* ImColor_ImColorNil();
public static extern ImColor* ImColor_ImColor_Nil();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern ImColor* ImColor_ImColorInt(int r, int g, int b, int a);
public static extern ImColor* ImColor_ImColor_Int(int r, int g, int b, int a);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern ImColor* ImColor_ImColorU32(uint rgba);
public static extern ImColor* ImColor_ImColor_U32(uint rgba);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern ImColor* ImColor_ImColorFloat(float r, float g, float b, float a);
public static extern ImColor* ImColor_ImColor_Float(float r, float g, float b, float a);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern ImColor* ImColor_ImColorVec4(Vector4 col);
public static extern ImColor* ImColor_ImColor_Vec4(Vector4 col);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImColor_SetHSV(ImColor* self, float h, float s, float v, float a);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImDrawCmd_destroy(ImDrawCmd* self);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern IntPtr ImDrawCmd_GetTexID(ImDrawCmd* self);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern ImDrawCmd* ImDrawCmd_ImDrawCmd();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImDrawData_Clear(ImDrawData* self);
@ -793,6 +805,8 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImDrawList__ResetForNewFrame(ImDrawList* self);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImDrawList__TryMergeDrawCmds(ImDrawList* self);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImDrawList_AddBezierCubic(ImDrawList* self, Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, uint col, float thickness, int num_segments);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImDrawList_AddBezierQuadratic(ImDrawList* self, Vector2 p1, Vector2 p2, Vector2 p3, uint col, float thickness, int num_segments);
@ -831,9 +845,9 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImDrawList_AddRectFilledMultiColor(ImDrawList* self, Vector2 p_min, Vector2 p_max, uint col_upr_left, uint col_upr_right, uint col_bot_right, uint col_bot_left);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImDrawList_AddTextVec2(ImDrawList* self, Vector2 pos, uint col, byte* text_begin, byte* text_end);
public static extern void ImDrawList_AddText_Vec2(ImDrawList* self, Vector2 pos, uint col, byte* text_begin, byte* text_end);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImDrawList_AddTextFontPtr(ImDrawList* self, ImFont* font, float font_size, Vector2 pos, uint col, byte* text_begin, byte* text_end, float wrap_width, Vector4* cpu_fine_clip_rect);
public static extern void ImDrawList_AddText_FontPtr(ImDrawList* self, ImFont* font, float font_size, Vector2 pos, uint col, byte* text_begin, byte* text_end, float wrap_width, Vector4* cpu_fine_clip_rect);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImDrawList_AddTriangle(ImDrawList* self, Vector2 p1, Vector2 p2, Vector2 p3, uint col, float thickness);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
@ -949,8 +963,6 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImFont_RenderText(ImFont* self, ImDrawList* draw_list, float size, Vector2 pos, uint col, Vector4 clip_rect, byte* text_begin, byte* text_end, float wrap_width, byte cpu_fine_clip);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImFont_SetFallbackChar(ImFont* self, ushort c);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImFont_SetGlyphVisible(ImFont* self, ushort c, byte visible);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern int ImFontAtlas_AddCustomRectFontGlyph(ImFontAtlas* self, ImFont* font, ushort id, int width, int height, float advance_x, Vector2 offset);
@ -1059,24 +1071,44 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImGuiInputTextCallbackData_SelectAll(ImGuiInputTextCallbackData* self);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImGuiIO_AddFocusEvent(ImGuiIO* self, byte focused);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImGuiIO_AddInputCharacter(ImGuiIO* self, uint c);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImGuiIO_AddInputCharactersUTF8(ImGuiIO* self, byte* str);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImGuiIO_AddInputCharacterUTF16(ImGuiIO* self, ushort c);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImGuiIO_AddKeyAnalogEvent(ImGuiIO* self, ImGuiKey key, byte down, float v);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImGuiIO_AddKeyEvent(ImGuiIO* self, ImGuiKey key, byte down);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImGuiIO_AddMouseButtonEvent(ImGuiIO* self, int button, byte down);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImGuiIO_AddMousePosEvent(ImGuiIO* self, float x, float y);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImGuiIO_AddMouseViewportEvent(ImGuiIO* self, uint id);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImGuiIO_AddMouseWheelEvent(ImGuiIO* self, float wh_x, float wh_y);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImGuiIO_ClearInputCharacters(ImGuiIO* self);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImGuiIO_ClearInputKeys(ImGuiIO* self);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImGuiIO_destroy(ImGuiIO* self);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern ImGuiIO* ImGuiIO_ImGuiIO();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImGuiIO_SetKeyEventNativeData(ImGuiIO* self, ImGuiKey key, int native_keycode, int native_scancode, int native_legacy_index);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImGuiListClipper_Begin(ImGuiListClipper* self, int items_count, float items_height);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImGuiListClipper_destroy(ImGuiListClipper* self);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImGuiListClipper_End(ImGuiListClipper* self);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImGuiListClipper_ForceDisplayRangeByIndices(ImGuiListClipper* self, int item_min, int item_max);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern ImGuiListClipper* ImGuiListClipper_ImGuiListClipper();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte ImGuiListClipper_Step(ImGuiListClipper* self);
@ -1097,6 +1129,10 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte ImGuiPayload_IsPreview(ImGuiPayload* self);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImGuiPlatformImeData_destroy(ImGuiPlatformImeData* self);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern ImGuiPlatformImeData* ImGuiPlatformImeData_ImGuiPlatformImeData();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImGuiPlatformIO_destroy(ImGuiPlatformIO* self);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern ImGuiPlatformIO* ImGuiPlatformIO_ImGuiPlatformIO();
@ -1137,11 +1173,11 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImGuiStoragePair_destroy(ImGuiStoragePair* self);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern ImGuiStoragePair* ImGuiStoragePair_ImGuiStoragePairInt(uint _key, int _val_i);
public static extern ImGuiStoragePair* ImGuiStoragePair_ImGuiStoragePair_Int(uint _key, int _val_i);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern ImGuiStoragePair* ImGuiStoragePair_ImGuiStoragePairFloat(uint _key, float _val_f);
public static extern ImGuiStoragePair* ImGuiStoragePair_ImGuiStoragePair_Float(uint _key, float _val_f);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern ImGuiStoragePair* ImGuiStoragePair_ImGuiStoragePairPtr(uint _key, void* _val_p);
public static extern ImGuiStoragePair* ImGuiStoragePair_ImGuiStoragePair_Ptr(uint _key, void* _val_p);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImGuiStyle_destroy(ImGuiStyle* self);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
@ -1197,9 +1233,9 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte ImGuiTextRange_empty(ImGuiTextRange* self);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern ImGuiTextRange* ImGuiTextRange_ImGuiTextRangeNil();
public static extern ImGuiTextRange* ImGuiTextRange_ImGuiTextRange_Nil();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern ImGuiTextRange* ImGuiTextRange_ImGuiTextRangeStr(byte* _b, byte* _e);
public static extern ImGuiTextRange* ImGuiTextRange_ImGuiTextRange_Str(byte* _b, byte* _e);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImGuiTextRange_split(ImGuiTextRange* self, byte separator, ImVector* @out);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
@ -1217,14 +1253,14 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImVec2_destroy(Vector2* self);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern Vector2* ImVec2_ImVec2Nil();
public static extern Vector2* ImVec2_ImVec2_Nil();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern Vector2* ImVec2_ImVec2Float(float _x, float _y);
public static extern Vector2* ImVec2_ImVec2_Float(float _x, float _y);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImVec4_destroy(Vector4* self);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern Vector4* ImVec4_ImVec4Nil();
public static extern Vector4* ImVec4_ImVec4_Nil();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern Vector4* ImVec4_ImVec4Float(float _x, float _y, float _z, float _w);
public static extern Vector4* ImVec4_ImVec4_Float(float _x, float _y, float _z, float _w);
}
}

@ -18,12 +18,10 @@ namespace ImGuiNET
FocusNext = 13,
TweakSlow = 14,
TweakFast = 15,
KeyMenu = 16,
KeyLeft = 17,
KeyRight = 18,
KeyUp = 19,
KeyDown = 20,
COUNT = 21,
InternalStart = 16,
KeyLeft = 16,
KeyRight = 17,
KeyUp = 18,
KeyDown = 19,
COUNT = 20,
}
}

@ -24,7 +24,6 @@ namespace ImGuiNET
public IntPtr Platform_SwapBuffers;
public IntPtr Platform_GetWindowDpiScale;
public IntPtr Platform_OnChangedViewport;
public IntPtr Platform_SetImeInputPos;
public IntPtr Platform_CreateVkSurface;
public IntPtr Renderer_CreateWindow;
public IntPtr Renderer_DestroyWindow;
@ -59,7 +58,6 @@ namespace ImGuiNET
public ref IntPtr Platform_SwapBuffers => ref Unsafe.AsRef<IntPtr>(&NativePtr->Platform_SwapBuffers);
public ref IntPtr Platform_GetWindowDpiScale => ref Unsafe.AsRef<IntPtr>(&NativePtr->Platform_GetWindowDpiScale);
public ref IntPtr Platform_OnChangedViewport => ref Unsafe.AsRef<IntPtr>(&NativePtr->Platform_OnChangedViewport);
public ref IntPtr Platform_SetImeInputPos => ref Unsafe.AsRef<IntPtr>(&NativePtr->Platform_SetImeInputPos);
public ref IntPtr Platform_CreateVkSurface => ref Unsafe.AsRef<IntPtr>(&NativePtr->Platform_CreateVkSurface);
public ref IntPtr Renderer_CreateWindow => ref Unsafe.AsRef<IntPtr>(&NativePtr->Renderer_CreateWindow);
public ref IntPtr Renderer_DestroyWindow => ref Unsafe.AsRef<IntPtr>(&NativePtr->Renderer_DestroyWindow);

@ -0,0 +1,30 @@
using System;
using System.Numerics;
using System.Runtime.CompilerServices;
using System.Text;
namespace ImGuiNET
{
public unsafe partial struct ImGuiPlatformImeData
{
public byte WantVisible;
public Vector2 InputPos;
public float InputLineHeight;
}
public unsafe partial struct ImGuiPlatformImeDataPtr
{
public ImGuiPlatformImeData* NativePtr { get; }
public ImGuiPlatformImeDataPtr(ImGuiPlatformImeData* nativePtr) => NativePtr = nativePtr;
public ImGuiPlatformImeDataPtr(IntPtr nativePtr) => NativePtr = (ImGuiPlatformImeData*)nativePtr;
public static implicit operator ImGuiPlatformImeDataPtr(ImGuiPlatformImeData* nativePtr) => new ImGuiPlatformImeDataPtr(nativePtr);
public static implicit operator ImGuiPlatformImeData* (ImGuiPlatformImeDataPtr wrappedPtr) => wrappedPtr.NativePtr;
public static implicit operator ImGuiPlatformImeDataPtr(IntPtr nativePtr) => new ImGuiPlatformImeDataPtr(nativePtr);
public ref bool WantVisible => ref Unsafe.AsRef<bool>(&NativePtr->WantVisible);
public ref Vector2 InputPos => ref Unsafe.AsRef<Vector2>(&NativePtr->InputPos);
public ref float InputLineHeight => ref Unsafe.AsRef<float>(&NativePtr->InputLineHeight);
public void Destroy()
{
ImGuiNative.ImGuiPlatformImeData_destroy((ImGuiPlatformImeData*)(NativePtr));
}
}
}

@ -8,6 +8,7 @@ namespace ImGuiNET
public unsafe partial struct ImGuiStyle
{
public float Alpha;
public float DisabledAlpha;
public Vector2 WindowPadding;
public float WindowRounding;
public float WindowBorderSize;
@ -111,6 +112,7 @@ namespace ImGuiNET
public static implicit operator ImGuiStyle* (ImGuiStylePtr wrappedPtr) => wrappedPtr.NativePtr;
public static implicit operator ImGuiStylePtr(IntPtr nativePtr) => new ImGuiStylePtr(nativePtr);
public ref float Alpha => ref Unsafe.AsRef<float>(&NativePtr->Alpha);
public ref float DisabledAlpha => ref Unsafe.AsRef<float>(&NativePtr->DisabledAlpha);
public ref Vector2 WindowPadding => ref Unsafe.AsRef<Vector2>(&NativePtr->WindowPadding);
public ref float WindowRounding => ref Unsafe.AsRef<float>(&NativePtr->WindowRounding);
public ref float WindowBorderSize => ref Unsafe.AsRef<float>(&NativePtr->WindowBorderSize);

@ -3,29 +3,30 @@ namespace ImGuiNET
public enum ImGuiStyleVar
{
Alpha = 0,
WindowPadding = 1,
WindowRounding = 2,
WindowBorderSize = 3,
WindowMinSize = 4,
WindowTitleAlign = 5,
ChildRounding = 6,
ChildBorderSize = 7,
PopupRounding = 8,
PopupBorderSize = 9,
FramePadding = 10,
FrameRounding = 11,
FrameBorderSize = 12,
ItemSpacing = 13,
ItemInnerSpacing = 14,
IndentSpacing = 15,
CellPadding = 16,
ScrollbarSize = 17,
ScrollbarRounding = 18,
GrabMinSize = 19,
GrabRounding = 20,
TabRounding = 21,
ButtonTextAlign = 22,
SelectableTextAlign = 23,
COUNT = 24,
DisabledAlpha = 1,
WindowPadding = 2,
WindowRounding = 3,
WindowBorderSize = 4,
WindowMinSize = 5,
WindowTitleAlign = 6,
ChildRounding = 7,
ChildBorderSize = 8,
PopupRounding = 9,
PopupBorderSize = 10,
FramePadding = 11,
FrameRounding = 12,
FrameBorderSize = 13,
ItemSpacing = 14,
ItemInnerSpacing = 15,
IndentSpacing = 16,
CellPadding = 17,
ScrollbarSize = 18,
ScrollbarRounding = 19,
GrabMinSize = 20,
GrabRounding = 21,
TabRounding = 22,
ButtonTextAlign = 23,
SelectableTextAlign = 24,
COUNT = 25,
}
}

@ -4,29 +4,31 @@ namespace ImGuiNET
public enum ImGuiTableColumnFlags
{
None = 0,
DefaultHide = 1,
DefaultSort = 2,
WidthStretch = 4,
WidthFixed = 8,
NoResize = 16,
NoReorder = 32,
NoHide = 64,
NoClip = 128,
NoSort = 256,
NoSortAscending = 512,
NoSortDescending = 1024,
NoHeaderWidth = 2048,
PreferSortAscending = 4096,
PreferSortDescending = 8192,
IndentEnable = 16384,
IndentDisable = 32768,
IsEnabled = 1048576,
IsVisible = 2097152,
IsSorted = 4194304,
IsHovered = 8388608,
WidthMask = 12,
IndentMask = 49152,
StatusMask = 15728640,
Disabled = 1,
DefaultHide = 2,
DefaultSort = 4,
WidthStretch = 8,
WidthFixed = 16,
NoResize = 32,
NoReorder = 64,
NoHide = 128,
NoClip = 256,
NoSort = 512,
NoSortAscending = 1024,
NoSortDescending = 2048,
NoHeaderLabel = 4096,
NoHeaderWidth = 8192,
PreferSortAscending = 16384,
PreferSortDescending = 32768,
IndentEnable = 65536,
IndentDisable = 131072,
IsEnabled = 16777216,
IsVisible = 33554432,
IsSorted = 67108864,
IsHovered = 134217728,
WidthMask = 24,
IndentMask = 196608,
StatusMask = 251658240,
NoDirectResize = 1073741824,
}
}

@ -13,7 +13,6 @@ namespace ImGuiNET
public ImGuiViewportFlags ViewportFlagsOverrideClear;
public ImGuiTabItemFlags TabItemFlagsOverrideSet;
public ImGuiDockNodeFlags DockNodeFlagsOverrideSet;
public ImGuiDockNodeFlags DockNodeFlagsOverrideClear;
public byte DockingAlwaysTabBar;
public byte DockingAllowUnclassed;
}
@ -31,7 +30,6 @@ namespace ImGuiNET
public ref ImGuiViewportFlags ViewportFlagsOverrideClear => ref Unsafe.AsRef<ImGuiViewportFlags>(&NativePtr->ViewportFlagsOverrideClear);
public ref ImGuiTabItemFlags TabItemFlagsOverrideSet => ref Unsafe.AsRef<ImGuiTabItemFlags>(&NativePtr->TabItemFlagsOverrideSet);
public ref ImGuiDockNodeFlags DockNodeFlagsOverrideSet => ref Unsafe.AsRef<ImGuiDockNodeFlags>(&NativePtr->DockNodeFlagsOverrideSet);
public ref ImGuiDockNodeFlags DockNodeFlagsOverrideClear => ref Unsafe.AsRef<ImGuiDockNodeFlags>(&NativePtr->DockNodeFlagsOverrideClear);
public ref bool DockingAlwaysTabBar => ref Unsafe.AsRef<bool>(&NativePtr->DockingAlwaysTabBar);
public ref bool DockingAllowUnclassed => ref Unsafe.AsRef<bool>(&NativePtr->DockingAllowUnclassed);
public void Destroy()

@ -15,7 +15,7 @@ namespace ImGuiNET
native_text_begin[native_text_begin_offset] = 0;
}
byte* native_text_end = null;
ImGuiNative.ImDrawList_AddTextVec2(NativePtr, pos, col, native_text_begin, native_text_end);
ImGuiNative.ImDrawList_AddText_Vec2(NativePtr, pos, col, native_text_begin, native_text_end);
}
public void AddText(ImFontPtr font, float font_size, Vector2 pos, uint col, string text_begin)
@ -31,7 +31,7 @@ namespace ImGuiNET
byte* native_text_end = null;
float wrap_width = 0.0f;
Vector4* cpu_fine_clip_rect = null;
ImGuiNative.ImDrawList_AddTextFontPtr(NativePtr, native_font, font_size, pos, col, native_text_begin, native_text_end, wrap_width, cpu_fine_clip_rect);
ImGuiNative.ImDrawList_AddText_FontPtr(NativePtr, native_font, font_size, pos, col, native_text_begin, native_text_end, wrap_width, cpu_fine_clip_rect);
}
}
}

@ -1,9 +1,9 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<Description>A .NET wrapper for the Dear ImGui library.</Description>
<AssemblyVersion>1.82.0</AssemblyVersion>
<AssemblyVersion>1.87.3</AssemblyVersion>
<Authors>Eric Mellino</Authors>
<TargetFramework>netstandard2.0</TargetFramework>
<TargetFrameworks>netstandard2.0;net6.0</TargetFrameworks>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<DebugType>portable</DebugType>
<AssemblyName>ImGui.NET</AssemblyName>
@ -41,8 +41,8 @@
<PackagePath>runtimes/linux-x64/native/libcimgui.so</PackagePath>
<Pack>true</Pack>
</Content>
<Content Include="..\..\deps\cimgui\osx-x64\cimgui.dylib">
<PackagePath>runtimes/osx-x64/native/libcimgui.dylib</PackagePath>
<Content Include="..\..\deps\cimgui\osx-universal\cimgui.dylib">
<PackagePath>runtimes/osx-universal/native/libcimgui.dylib</PackagePath>
<Pack>true</Pack>
</Content>
<Content Include="build\net40\ImGui.NET.targets">

@ -5,13 +5,14 @@
<_IsMacOS Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::OSX)))' == 'true'">true</_IsMacOS>
<_IsLinux Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Linux)))' == 'true'">true</_IsLinux>
<_NativeRuntime Condition=" '$(_NativeRuntime)' == '' And '$(_IsMacOS)' == 'true' And ('$(Prefer32Bit)' == 'false' Or '$(PlatformTarget)' == 'x64')">osx-x64</_NativeRuntime>
<_NativeRuntime Condition=" '$(_NativeRuntime)' == '' And '$(_IsMacOS)' == 'true' And '$(PlatformTarget)' == 'x64'">osx-x64</_NativeRuntime>
<_NativeRuntime Condition=" '$(_NativeRuntime)' == '' And '$(_IsMacOS)' == 'true' And '$(PlatformTarget)' == 'ARM64'">osx-arm64</_NativeRuntime>
<_NativeRuntime Condition=" '$(_NativeRuntime)' == '' And '$(_IsLinux)' == 'true' And ('$(Prefer32Bit)' == 'false' Or '$(PlatformTarget)' == 'x64')">linux-x64</_NativeRuntime>
<_NativeRuntime Condition=" '$(_NativeRuntime)' == '' And '$(_IsWindows)' == 'true' And ('$(Prefer32Bit)' == 'true' Or '$(PlatformTarget)' == 'x86')">win-x86</_NativeRuntime>
<_NativeRuntime Condition=" '$(_NativeRuntime)' == '' And '$(_IsWindows)' == 'true' And ('$(Prefer32Bit)' == 'false' Or '$(PlatformTarget)' == 'x64')">win-x64</_NativeRuntime>
<_NativeLibName Condition="'$(_NativeRuntime)' == 'win-x86' Or '$(_NativeRuntime)' == 'win-x64'">cimgui.dll</_NativeLibName>
<_NativeLibName Condition="'$(_NativeRuntime)' == 'osx-x64'">libcimgui.dylib</_NativeLibName>
<_NativeLibName Condition="'$(_NativeRuntime)' == 'osx-x64' Or '$(_NativeRuntime)' == 'osx-arm64'">libcimgui.dylib</_NativeLibName>
<_NativeLibName Condition="'$(_NativeRuntime)' == 'linux-x64'">libcimgui.so</_NativeLibName>
</PropertyGroup>
<ItemGroup>

@ -3,7 +3,7 @@
<Description>A .NET wrapper for the ImGuizmo library.</Description>
<AssemblyVersion>1.61.0</AssemblyVersion>
<Authors>Eric Mellino</Authors>
<TargetFramework>netstandard2.0</TargetFramework>
<TargetFrameworks>netstandard2.0;net6.0</TargetFrameworks>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<DebugType>portable</DebugType>
<AssemblyName>ImGuizmo.NET</AssemblyName>

@ -10,7 +10,7 @@ namespace imnodesNET
{
public static void BeginInputAttribute(int id)
{
PinShape shape = PinShape._CircleFilled;
PinShape shape = PinShape.CircleFilled;
imnodesNative.imnodes_BeginInputAttribute(id, shape);
}
public static void BeginInputAttribute(int id, PinShape shape)
@ -31,7 +31,7 @@ namespace imnodesNET
}
public static void BeginOutputAttribute(int id)
{
PinShape shape = PinShape._CircleFilled;
PinShape shape = PinShape.CircleFilled;
imnodesNative.imnodes_BeginOutputAttribute(id, shape);
}
public static void BeginOutputAttribute(int id, PinShape shape)

@ -3,7 +3,7 @@
<Description>A .NET wrapper for the imnodes library.</Description>
<AssemblyVersion>0.3.0</AssemblyVersion>
<Authors>Eric Mellino</Authors>
<TargetFramework>netstandard2.0</TargetFramework>
<TargetFrameworks>netstandard2.0;net6.0</TargetFrameworks>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<DebugType>portable</DebugType>
<AssemblyName>ImNodes.NET</AssemblyName>

@ -3,7 +3,7 @@
<Description>A .NET wrapper for the ImPlot library.</Description>
<AssemblyVersion>0.8.0</AssemblyVersion>
<Authors>Eric Mellino</Authors>
<TargetFramework>netstandard2.0</TargetFramework>
<TargetFrameworks>netstandard2.0;net6.0</TargetFrameworks>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<DebugType>portable</DebugType>
<AssemblyName>ImPlot.NET</AssemblyName>

Loading…
Cancel
Save