Code Monkey home page Code Monkey logo

imgui.net's Introduction

ImGui.Net

This repository contains a thin low-level autogenerated bindings for Imgui in C# used by Evergine. You will find c# bindings of the most popular imgui libraries as well, Imguizmo, Implot and Imnodes.

Build Status

CI Imgui CI Extensions CD Imgui CD Extensions

Project Nuget
Imgui Nuget
Imguizmo Nuget
Implot Nuget
Imnodes Nuget

How it works

This automated binding are generated based on the cimgui project json outputs:

which are c-api wrapper autogenerated from the original github projects:

Test

Check at Generator\Test an Evergine project created with the default template which uses the bindings.

capture4 capture2 capture1 capture3

Development

  • Optionally, update all submodules.
  • Then, build cimgui and its native extensions running .\scripts\deploy-win-native.ps1 -buildImgui -buildExtensions
  • Use visual studio to compile and generate every binding.

NOTE: Extensions bindings use latest Imgui nuget package on Nuget.org.

Platforms

We are working to add support to all this plaforms:

  • Windows x86, x64
  • Linux x64
  • MacOS
  • iOS
  • Android
  • WebAssembly

imgui.net's People

Contributors

emepetres avatar jcant0n avatar jorgemagic avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

imgui.net's Issues

any update for macOS support?

Hello EvergineTeam,

is there any update or news about supporting macOS?

Thanks in advance

Gran trabajo EvergineTeam!

BeginPopupModal() cannot receive null as its second parameter

Steps to reproduce

  1. Create/open an Evergine project with support to ImGui
  2. In its source code, type: ImGui.BeginPopupModal("foo", null) (actually, any method receiving ref bool)

What I expect

To allow passing a null reference to indicate I am not insterested in preserving state in any variable/field.

What I get

The compiler does not allow, given the method signature, to pass null in any form. I have tried as well to declare a bool? field but the compiler stops as well, nor I have found any casting or similar.

Versions

ImGui.Net: 1.78.0.0

Using ImGUI with an Evergine project targetting the Web

While working with Evergine I ran into the following issue for a project that targets the Web. After adding ImGUI per the documentation I'm no longer able to run the project that targets the Web platform, because the cimgui.dll file can't be found by Blazor.

Unhandled Exception: System.Exception: Workaround exception to leverage the actual one, not the wrong Delegate-related one
---> System.DllNotFoundException: cimgui
	at Evergine.UI.ImGuiManager.InitializeImGui()
	at Evergine.UI.ImGuiManager.Start()
	at Evergine.Framework.AttachableObject.BaseStart()
	at Evergine.Framework.Managers.SceneManagers.StartManagers()
	at Evergine.Framework.Scene.BaseStart()
	at Evergine.Framework.Services.ScreenContextManager.InitializeASingleScene(Scene scene)
	at Evergine.Framework.Services.ScreenContextManager.InitializeScreenContext(ScreenContext context)
	at Evergine.Framework.Services.ScreenContextManager.ToExecute(ScreenContext nextContext, ScreenTransition transition, Boolean doDispose)

I've tried copying the DLL from the runtimes\win-x64\native folder in the .Windows project to the _framework folder, and manually adding an entry for it to the blazor.boot.json but that did not resolve the issue.

Any help on getting this resolved would be much appreciated!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.