@ -8,18 +8,13 @@ This is a wrapper for the immediate mode GUI library, ImGui (https://github.com/
# Building
# Building
Currently, you need VS 2015 to build this. You must have the "Visual Studio Tools for Universal Windows App" optional component installed in order to use the new NuGet features (check the VS installer menu to add it), as well as have an up-to-date NuGet plugin (check the VS extension manager). Simply restore all of the NuGet packages (nuget.exe restore or similar) and run msbuild on the project files or solution. Building in VS will automatically restore the NuGet packages as necessary. It is not necessary to build the SampleProgram project unless you wish to test it out.
ImGui.NET can be built in Visual Studio or on the command line. The .NET Core SDK is needed to build on the command line, and it can be downloaded [here](https://www.microsoft.com/net/core). Visual Studio 2017 is the minimum VS version supported for building.
The cimgui dependencies included in this repository are currently only built for x64 Windows. If you use this library from somewhere else, you will need to recompile the native assemblies for your target platform. The project home pages for the project is linked below, and the project is very easy to build. OpenTK is also included in the repository, using a version of the library ported to .NET Core.
I have tested the current state of the library on x64 Windows 8.1, 10, and Ubuntu 15.04.
# Usage
# Usage
ImGui.NET currently provides a raw, thin wrapper around the ImGui native API, and does not attempt to apply any higher-level abstractions over it. 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. In the future, I plan to create a more comprehensive C# wrapper with higher-level abstractions and better use of C#/.NET features.
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.
# Known Issues
# Known Issues
* There are not wrapper methods for all of the exported native functions from cimgui. All of the functionality is exposed through the ImGuiNative class, but the interface there is very raw and requires unsafe code. Right now I am working to add safe wrappers for each of the native methods, emulating the original optional arguments and allowing you to use strictly-safe code with ImGui.
* The only bundled native Linux binary is for Ubuntu 16.04. Other Linux distros may require a different binary. This can be produced by cloning the cimgui repository (see below), and building it.
* There is not an easy deployment story for different platforms. You need to build the native components yourself on each platform. The included native binary is only for x64 Windows.