ktsu.ImGuiApp
1.6.0
Prefix Reserved
See the version list below for details.
dotnet add package ktsu.ImGuiApp --version 1.6.0
NuGet\Install-Package ktsu.ImGuiApp -Version 1.6.0
<PackageReference Include="ktsu.ImGuiApp" Version="1.6.0" />
<PackageVersion Include="ktsu.ImGuiApp" Version="1.6.0" />
<PackageReference Include="ktsu.ImGuiApp" />
paket add ktsu.ImGuiApp --version 1.6.0
#r "nuget: ktsu.ImGuiApp, 1.6.0"
#addin nuget:?package=ktsu.ImGuiApp&version=1.6.0
#tool nuget:?package=ktsu.ImGuiApp&version=1.6.0
ImGuiApp
A bootstrap library to give you an environment to build an ImGUI.NET application with.
Minimal Example
namespace ktsu.ImGuiAppDemo;
using ImGuiNET;
using ktsu.ImGuiApp;
internal class ImGuiAppDemo
{
private static bool showImGuiDemo;
private static void Main() =>
ImGuiApp.Start(nameof(ImGuiAppDemo), new(), OnStart, OnTick, OnMenu, OnWindowResized);
private static void OnStart() => {}
private static void OnTick(float dt)
{
ImGui.ShowDemoWindow(ref showImGuiDemo);
ImGui.Begin("Demo");
ImGui.Text("Hello, ImGui.NET!");
ImGui.Text("This is a demo of ImGui.NET.");
ImGui.End();
}
private static void OnMenu() => {}
private static void OnWindowResized() => {}
}
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. |
-
net8.0
- ImGui.NET (>= 1.91.6.1)
- ktsu.ScopedAction (>= 1.0.15)
- ktsu.StrongPaths (>= 1.2.0)
- Silk.NET (>= 2.22.0)
- Silk.NET.Assimp (>= 2.22.0)
- Silk.NET.Direct3D12 (>= 2.22.0)
- Silk.NET.Input.Extensions (>= 2.22.0)
- Silk.NET.Input.Sdl (>= 2.22.0)
- Silk.NET.OpenGLES (>= 2.22.0)
- Silk.NET.OpenXR (>= 2.22.0)
- Silk.NET.Windowing.Sdl (>= 2.22.0)
- SixLabors.ImageSharp (>= 3.1.7)
- System.Text.Json (>= 9.0.3)
-
net9.0
- ImGui.NET (>= 1.91.6.1)
- ktsu.ScopedAction (>= 1.0.15)
- ktsu.StrongPaths (>= 1.2.0)
- Silk.NET (>= 2.22.0)
- Silk.NET.Assimp (>= 2.22.0)
- Silk.NET.Direct3D12 (>= 2.22.0)
- Silk.NET.Input.Extensions (>= 2.22.0)
- Silk.NET.Input.Sdl (>= 2.22.0)
- Silk.NET.OpenGLES (>= 2.22.0)
- Silk.NET.OpenXR (>= 2.22.0)
- Silk.NET.Windowing.Sdl (>= 2.22.0)
- SixLabors.ImageSharp (>= 3.1.7)
- System.Text.Json (>= 9.0.3)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.12.5-pre.2 | 100 | 3 days ago |
1.12.5-pre.1 | 99 | 3 days ago |
1.12.4 | 106 | 3 days ago |
1.12.3 | 148 | 8 days ago |
1.12.2 | 224 | 8 days ago |
1.12.1 | 81 | 9 days ago |
1.12.0 | 151 | 17 days ago |
1.11.1-pre.1 | 111 | 18 days ago |
1.11.0 | 176 | 19 days ago |
1.10.0 | 186 | 21 days ago |
1.9.0 | 118 | 23 days ago |
1.8.1 | 123 | 23 days ago |
1.8.0 | 195 | 25 days ago |
1.7.1 | 210 | a month ago |
1.7.0 | 217 | a month ago |
1.6.1-pre.1 | 124 | a month ago |
1.6.0 | 217 | a month ago |
1.5.1-pre.1 | 131 | a month ago |
1.5.0 | 312 | a month ago |
1.4.1-pre.3 | 170 | a month ago |
1.4.1-pre.2 | 64 | 2 months ago |
1.4.1-pre.1 | 68 | 2 months ago |
1.4.0 | 351 | 2 months ago |
1.3.1-pre.1 | 70 | 2 months ago |
1.3.0 | 673 | 2 months ago |
1.2.1-pre.1 | 62 | 2 months ago |
1.2.0 | 245 | 2 months ago |
1.1.0 | 1,028 | 3 months ago |
1.0.12 | 189 | 3 months ago |
1.0.12-pre.11 | 74 | 3 months ago |
1.0.12-pre.10 | 72 | 3 months ago |
1.0.12-pre.9 | 59 | 3 months ago |
1.0.12-pre.8 | 61 | 3 months ago |
1.0.12-pre.7 | 62 | 3 months ago |
1.0.12-pre.6 | 60 | 3 months ago |
1.0.12-pre.5 | 78 | 3 months ago |
1.0.12-pre.4 | 55 | 3 months ago |
1.0.12-pre.3 | 53 | 3 months ago |
1.0.12-pre.2 | 53 | 3 months ago |
1.0.12-pre.1 | 49 | 3 months ago |
1.0.11-pre.1 | 49 | 3 months ago |
1.0.10-pre.1 | 59 | 3 months ago |
1.0.9 | 135 | 3 months ago |
1.0.8 | 121 | 3 months ago |
1.0.7 | 123 | 3 months ago |
1.0.6 | 146 | 3 months ago |
1.0.5 | 122 | 4 months ago |
1.0.4 | 92 | 4 months ago |
1.0.3 | 259 | 4 months ago |
1.0.2 | 158 | 4 months ago |
1.0.1 | 174 | 4 months ago |
1.0.0 | 198 | 4 months ago |
1.0.0-alpha.76 | 104 | 4 months ago |
1.0.0-alpha.75 | 73 | 4 months ago |
1.0.0-alpha.74 | 101 | 4 months ago |
1.0.0-alpha.73 | 173 | 4 months ago |
1.0.0-alpha.72 | 64 | 4 months ago |
1.0.0-alpha.71 | 81 | 4 months ago |
1.0.0-alpha.70 | 83 | 4 months ago |
1.0.0-alpha.69 | 77 | 4 months ago |
1.0.0-alpha.68 | 88 | 4 months ago |
1.0.0-alpha.67 | 112 | 4 months ago |
1.0.0-alpha.66 | 160 | 5 months ago |
1.0.0-alpha.65 | 107 | 5 months ago |
1.0.0-alpha.64 | 123 | 5 months ago |
1.0.0-alpha.63 | 61 | 5 months ago |
1.0.0-alpha.62 | 84 | 5 months ago |
1.0.0-alpha.61 | 94 | 5 months ago |
1.0.0-alpha.60 | 151 | 5 months ago |
1.0.0-alpha.59 | 57 | 5 months ago |
1.0.0-alpha.58 | 76 | 5 months ago |
1.0.0-alpha.57 | 104 | 5 months ago |
1.0.0-alpha.56 | 210 | 5 months ago |
1.0.0-alpha.55 | 66 | 5 months ago |
1.0.0-alpha.54 | 346 | 6 months ago |
1.0.0-alpha.53 | 315 | 6 months ago |
1.0.0-alpha.52 | 101 | 6 months ago |
1.0.0-alpha.51 | 126 | 6 months ago |
1.0.0-alpha.50 | 80 | 6 months ago |
1.0.0-alpha.49 | 258 | 6 months ago |
1.0.0-alpha.48 | 94 | 6 months ago |
1.0.0-alpha.47 | 113 | 7 months ago |
1.0.0-alpha.46 | 101 | 7 months ago |
1.0.0-alpha.45 | 59 | 7 months ago |
1.0.0-alpha.44 | 86 | 7 months ago |
1.0.0-alpha.43 | 53 | 7 months ago |
1.0.0-alpha.42 | 94 | 7 months ago |
1.0.0-alpha.41 | 103 | 7 months ago |
1.0.0-alpha.40 | 62 | 7 months ago |
1.0.0-alpha.39 | 82 | 7 months ago |
1.0.0-alpha.38 | 74 | 7 months ago |
1.0.0-alpha.37 | 110 | 7 months ago |
1.0.0-alpha.36 | 222 | 7 months ago |
## v1.6.0 (minor)
Changes since v1.5.0:
- Remove unnesscessary threading protections that were speculative fixes for the font ownership crash ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.5.0 (minor)
Changes since v1.4.0:
- Refactor ImGuiApp and related classes for thread safety ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.4.0 (minor)
Changes since v1.3.0:
- Apply new editorconfig ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.3.0 (minor)
Changes since v1.2.0:
- Always call ImGui.End for ImGui.Begin ([@Damon3000s](https://github.com/Damon3000s))
## v1.2.0 (minor)
Changes since v1.1.0:
- Call EndChild instead of just End ([@Damon3000s](https://github.com/Damon3000s))
- Enable debug tracing in versioning and changelog scripts; handle empty tag scenarios ([@matt-edmondson](https://github.com/matt-edmondson))
- Replace deprecated ImGui enum value ([@Damon3000s](https://github.com/Damon3000s))
- Update files from Resources.resx ([@Damon3000s](https://github.com/Damon3000s))
## v1.1.0 (minor)
Changes since v1.0.0:
- Add automation scripts for metadata and version management ([@matt-edmondson](https://github.com/matt-edmondson))
- Add conditional compilation for contextLock in ImGuiController ([@matt-edmondson](https://github.com/matt-edmondson))
- Add Silk.NET packages for enhanced graphics and input support ([@matt-edmondson](https://github.com/matt-edmondson))
- Fix mouse wheel scrolling and improve API usage ([@Damon3000s](https://github.com/Damon3000s))
- Fix version script to exclude merge commits and order logs correctly ([@matt-edmondson](https://github.com/matt-edmondson))
- Remove spelling check ignore comments in ImGuiApp files ([@matt-edmondson](https://github.com/matt-edmondson))
- Renamed metadata files ([@matt-edmondson](https://github.com/matt-edmondson))
- Replace LICENSE file with LICENSE.md and update copyright information ([@matt-edmondson](https://github.com/matt-edmondson))
- Review feedback ([@Damon3000s](https://github.com/Damon3000s))
## v1.0.12 (patch)
Changes since v1.0.12-pre.11:
- Add automation scripts for metadata and version management ([@matt-edmondson](https://github.com/matt-edmondson))
- Fix mouse wheel scrolling and improve API usage ([@Damon3000s](https://github.com/Damon3000s))
- Fix version script to exclude merge commits and order logs correctly ([@matt-edmondson](https://github.com/matt-edmondson))
- Review feedback ([@Damon3000s](https://github.com/Damon3000s))
## v1.0.8 (patch)
Changes since v1.0.7:
- Replace LICENSE file with LICENSE.md and update copyright information ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.0.4 (patch)
Changes since v1.0.3:
- Add conditional compilation for contextLock in ImGuiController ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.0.0 (major)
Changes since 0.0.0.0:
- #1 Track the state of the window when its in the Normal state ([@matt-edmondson](https://github.com/matt-edmondson))
- Add a method to convert ems to pixels based on the current font size ([@matt-edmondson](https://github.com/matt-edmondson))
- Add a property for getting the current window state from the app and correctly set the position and layout from the initial window state ([@matt-edmondson](https://github.com/matt-edmondson))
- Add action to publish to nuget ([@matt-edmondson](https://github.com/matt-edmondson))
- Add an onStart delegate ([@matt-edmondson](https://github.com/matt-edmondson))
- Add divider widgets to ImGuiApp ([@matt-edmondson](https://github.com/matt-edmondson))
- Add dpi dependent content scaling ([@matt-edmondson](https://github.com/matt-edmondson))
- Add frame limiting ([@matt-edmondson](https://github.com/matt-edmondson))
- Add github package support ([@matt-edmondson](https://github.com/matt-edmondson))
- Add medium font ([@matt-edmondson](https://github.com/matt-edmondson))
- Add methods to allow saving and restoring divider states in bulk and add a delegate that gets called when a zone is resized ([@matt-edmondson](https://github.com/matt-edmondson))
- Add more locks for GL ([@matt-edmondson](https://github.com/matt-edmondson))
- Add Stop() method to quit the application ([@matt-edmondson](https://github.com/matt-edmondson))
- Add the ability to set the window icon ([@matt-edmondson](https://github.com/matt-edmondson))
- Added methods for loading textures ([@matt-edmondson](https://github.com/matt-edmondson))
- Also dont render if the window is not visible ([@matt-edmondson](https://github.com/matt-edmondson))
- Assign dependabot PRs to matt ([@matt-edmondson](https://github.com/matt-edmondson))
- Avoid double upload of symbols package ([@matt-edmondson](https://github.com/matt-edmondson))
- Bump ktsu.StrongPaths from 1.1.29 to 1.1.30 ([@matt-edmondson](https://github.com/matt-edmondson))
- Cleanup and force demo window open for debug ([@matt-edmondson](https://github.com/matt-edmondson))
- Cleanup and reduce code duplication ([@matt-edmondson](https://github.com/matt-edmondson))
- Consume the resize and move events from silk to actually call the resize delegate ([@matt-edmondson](https://github.com/matt-edmondson))
- Copy ImGuiController from Silk.NET ([@matt-edmondson](https://github.com/matt-edmondson))
- Create dependabot.yml ([@matt-edmondson](https://github.com/matt-edmondson))
- Create VERSION ([@matt-edmondson](https://github.com/matt-edmondson))
- Destroy and clear fonts on shutdown before the imgui context gets destroyed ([@matt-edmondson](https://github.com/matt-edmondson))
- Documentation and warning fixes ([@matt-edmondson](https://github.com/matt-edmondson))
- Dont try to push packages when building pull requests ([@matt-edmondson](https://github.com/matt-edmondson))
- Enable sourcelink ([@matt-edmondson](https://github.com/matt-edmondson))
- Expose the Scale Factor to the public api so that clients can scale their custom things accordingly ([@matt-edmondson](https://github.com/matt-edmondson))
- Fix a crash calling an ImGui style too early in the initialization ([@matt-edmondson](https://github.com/matt-edmondson))
- Fix build and remove obsolete files and settings ([@matt-edmondson](https://github.com/matt-edmondson))
- Fix issue with OnStart being invoked too early ([@matt-edmondson](https://github.com/matt-edmondson))
- Fix namespacing to include ImGuiApp and make it filescoped and apply code style rules ([@matt-edmondson](https://github.com/matt-edmondson))
- Implement net6 DllImports ([@matt-edmondson](https://github.com/matt-edmondson))
- Initial commit ([@matt-edmondson](https://github.com/matt-edmondson))
- Migrate demo to net8 ([@matt-edmondson](https://github.com/matt-edmondson))
- Migrate ktsu.io to ktsu namespace ([@matt-edmondson](https://github.com/matt-edmondson))
- Migrate to Silk.NET for windowing/graphics backend ([@matt-edmondson](https://github.com/matt-edmondson))
- Minor code style changes ([@matt-edmondson](https://github.com/matt-edmondson))
- More detailed exception message in TranslateInputKeyToImGuiKey ([@Damon3000s](https://github.com/Damon3000s))
- Move OnStart callsite to a place where font loading works with Silk.NET, and add a demo project ([@matt-edmondson](https://github.com/matt-edmondson))
- Prevent drawing an extra border around the main window ([@matt-edmondson](https://github.com/matt-edmondson))
- Read from AUTHORS file during build ([@matt-edmondson](https://github.com/matt-edmondson))
- Read from VERSION when building ([@matt-edmondson](https://github.com/matt-edmondson))
- Read PackageDescription from DESCRIPTION file ([@matt-edmondson](https://github.com/matt-edmondson))
- Reduce background tick rates ([@matt-edmondson](https://github.com/matt-edmondson))
- Reformat ImGuiController instantiation for readability ([@matt-edmondson](https://github.com/matt-edmondson))
- Remove DividerContainers and zones and Extensions which have been moved to their own respective libraries ([@matt-edmondson](https://github.com/matt-edmondson))
- Remove windows only flags and migrate to nested Directory.Build.props ([@matt-edmondson](https://github.com/matt-edmondson))
- Reposition the window if it becomes completely offscreen ([@matt-edmondson](https://github.com/matt-edmondson))
- Roll back code style changes to a working version ([@matt-edmondson](https://github.com/matt-edmondson))
- Rollback net6 imports ([@matt-edmondson](https://github.com/matt-edmondson))
- Separate application update and render so we dont render when the application is minimized ([@matt-edmondson](https://github.com/matt-edmondson))
- Set System.Text.Json to 8.0.5 ([@Damon3000s](https://github.com/Damon3000s))
- Speculative fix for crash on shutdown ([@matt-edmondson](https://github.com/matt-edmondson))
- Sync workflows ([@matt-edmondson](https://github.com/matt-edmondson))
- Take a lock during the closing delegate ([@matt-edmondson](https://github.com/matt-edmondson))
- Tell imgui were responsible for owning the font atlas data and then free it ourselves on shutdown ([@matt-edmondson](https://github.com/matt-edmondson))
- Update build actions ([@matt-edmondson](https://github.com/matt-edmondson))
- Update build config ([@matt-edmondson](https://github.com/matt-edmondson))
- Update Directory.Build.props ([@matt-edmondson](https://github.com/matt-edmondson))
- Update Directory.Build.targets ([@matt-edmondson](https://github.com/matt-edmondson))
- Update dotnet.yml ([@matt-edmondson](https://github.com/matt-edmondson))
- Update ImGui.NET ([@matt-edmondson](https://github.com/matt-edmondson))
- Update LICENSE ([@matt-edmondson](https://github.com/matt-edmondson))
- Update nuget.config ([@matt-edmondson](https://github.com/matt-edmondson))
- Update project properties to enable windows targeting to allow building on linux build servers ([@matt-edmondson](https://github.com/matt-edmondson))
- Update VERSION ([@matt-edmondson](https://github.com/matt-edmondson))
- Use a concurrent dictionary for textures ([@matt-edmondson](https://github.com/matt-edmondson))
- v1.0.0-alpha.9 ([@matt-edmondson](https://github.com/matt-edmondson))