ktsu.ImGuiApp 1.0.12-pre.11

Prefix Reserved
This is a prerelease version of ktsu.ImGuiApp.
There is a newer version of this package available.
See the version list below for details.
dotnet add package ktsu.ImGuiApp --version 1.0.12-pre.11                
NuGet\Install-Package ktsu.ImGuiApp -Version 1.0.12-pre.11                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="ktsu.ImGuiApp" Version="1.0.12-pre.11" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add ktsu.ImGuiApp --version 1.0.12-pre.11                
#r "nuget: ktsu.ImGuiApp, 1.0.12-pre.11"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install ktsu.ImGuiApp as a Cake Addin
#addin nuget:?package=ktsu.ImGuiApp&version=1.0.12-pre.11&prerelease

// Install ktsu.ImGuiApp as a Cake Tool
#tool nuget:?package=ktsu.ImGuiApp&version=1.0.12-pre.11&prerelease                

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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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.1.0 46 1/5/2025
1.0.12 173 12/28/2024
1.0.12-pre.11 52 1/4/2025
1.0.12-pre.10 56 1/3/2025
1.0.12-pre.9 36 1/3/2025
1.0.12-pre.8 40 1/3/2025
1.0.12-pre.7 43 1/3/2025
1.0.12-pre.6 47 1/1/2025
1.0.12-pre.5 65 12/31/2024
1.0.12-pre.4 43 12/29/2024
1.0.12-pre.3 40 12/28/2024
1.0.12-pre.2 41 12/27/2024
1.0.12-pre.1 37 12/27/2024
1.0.11-pre.1 37 12/27/2024
1.0.10-pre.1 41 12/27/2024
1.0.9 119 12/26/2024
1.0.8 107 12/26/2024
1.0.7 105 12/25/2024
1.0.6 132 12/24/2024
1.0.5 107 12/23/2024
1.0.4 77 12/23/2024
1.0.3 241 12/19/2024
1.0.2 145 12/17/2024
1.0.1 161 12/13/2024
1.0.0 187 12/9/2024
1.0.0-alpha.76 94 12/7/2024
1.0.0-alpha.75 65 12/6/2024
1.0.0-alpha.74 91 12/5/2024
1.0.0-alpha.73 163 12/2/2024
1.0.0-alpha.72 53 12/2/2024
1.0.0-alpha.71 70 12/1/2024
1.0.0-alpha.70 74 11/30/2024
1.0.0-alpha.69 67 11/29/2024
1.0.0-alpha.68 78 11/28/2024
1.0.0-alpha.67 101 11/26/2024
1.0.0-alpha.66 150 11/21/2024
1.0.0-alpha.65 98 11/20/2024
1.0.0-alpha.64 114 11/17/2024
1.0.0-alpha.63 52 11/15/2024
1.0.0-alpha.62 75 11/14/2024
1.0.0-alpha.61 86 11/13/2024
1.0.0-alpha.60 143 11/7/2024
1.0.0-alpha.59 50 11/7/2024
1.0.0-alpha.58 70 11/6/2024
1.0.0-alpha.57 97 11/5/2024
1.0.0-alpha.56 202 11/2/2024
1.0.0-alpha.55 58 11/1/2024
1.0.0-alpha.54 340 10/18/2024
1.0.0-alpha.53 307 10/9/2024
1.0.0-alpha.52 93 10/8/2024
1.0.0-alpha.51 120 10/5/2024
1.0.0-alpha.50 74 10/4/2024
1.0.0-alpha.49 248 9/25/2024
1.0.0-alpha.48 88 9/24/2024
1.0.0-alpha.47 104 9/21/2024
1.0.0-alpha.46 97 9/19/2024
1.0.0-alpha.45 55 9/19/2024
1.0.0-alpha.44 82 9/19/2024
1.0.0-alpha.43 44 9/19/2024
1.0.0-alpha.42 90 9/19/2024
1.0.0-alpha.41 98 9/18/2024
1.0.0-alpha.40 56 9/18/2024
1.0.0-alpha.39 78 9/18/2024
1.0.0-alpha.38 68 9/18/2024
1.0.0-alpha.37 106 9/18/2024
1.0.0-alpha.36 207 9/14/2024

## v1.0.12 (patch)

Changes since v1.0.11-pre.1:

- Add Silk.NET packages for enhanced graphics and input support ([@matt-edmondson](https://github.com/matt-edmondson))

## v1.0.10-pre.1 (patch)

Changes since v1.0.9:

- Renamed metadata files ([@matt-edmondson](https://github.com/matt-edmondson))

## 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))