Imgui - Dear ImGui: Bloat-free Immediate Mode Graphical User interface for C++ with minimal dependencies

  •        115

Dear ImGui is a bloat-free graphical user interface library for C++. It outputs optimized vertex buffers that you can render anytime in your 3D-pipeline enabled application. It is fast, portable, renderer agnostic and self-contained (no external dependencies).

Dear ImGui is designed to enable fast iterations and to empower programmers to create content creation tools and visualization / debug tools (as opposed to UI for the average end-user). It favors simplicity and productivity toward this goal, and lacks certain features normally found in more high-level libraries. Dear ImGui is particularly suited to integration in games engine (for tooling), real-time 3D applications, fullscreen applications, embedded applications, or any applications on consoles platforms where operating system features are non-standard.

https://github.com/ocornut/imgui

Tags
Implementation
License
Platform

   




Related Projects

ImGui.NET - An ImGui wrapper for .NET.

  •    CSharp

This is a .NET wrapper for the immediate mode GUI library, Dear ImGui (https://github.com/ocornut/imgui). ImGui.NET lets you build graphical interfaces using a simple immediate-mode style. ImGui.NET is a .NET Standard library, and can be used on all major .NET runtimes and operating systems. Included is a basic sample program that shows how to use the library, and renders the UI using Veldrid, a portable graphics library for .NET. By itself, Dear ImGui does not care what technology you use for rendering; it simply outputs textured triangles. Example renderers also exist for MonoGame and OpenTK (OpenGL).

nuklear - A single-header ANSI C gui library

  •    C

This is a minimal state immediate mode graphical user interface toolkit written in ANSI C and licensed under public domain. It was designed as a simple embeddable user interface for application and does not have any dependencies, a default render backend or OS window and input handling but instead provides a very modular library approach by using simple input state for input and draw commands describing primitive shapes as output. So instead of providing a layered library that tries to abstract over a number of platform and render backends it only focuses on the actual UI. This library is self contained in one single header file and can be used either in header only mode or in implementation mode. The header only mode is used by default when included and allows including this header in other headers and does not contain the actual implementation.

imgui-rs - Rust bindings for dear imgui

  •    Rust

Examples are under the imgui-examples directory. Note to Windows users: You will need to use the MSVC ABI version of the Rust compiler along with its associated dependencies to build this libary and run the examples.

PDF Chain - Graphical user interface for the PDF Toolkit (PDFtk)

  •    C++

PDF Chain is a graphical user interface for the PDF Toolkit (pdftk). The GUI supports all common features of the command line tool in a comfortable way. PDF Chain generates a command for the PDF Toolkit from the GUI settings and executes it on the system. Therefore the PDF Toolkit must be already installed on the system.


azul - Desktop GUI Framework

  •    Rust

Azul is a free, functional, IMGUI-oriented GUI framework for rapid prototyping of desktop applications written in Rust, supported by the Mozilla WebRender rendering engine, using a CSS / DOM model for layout and styling. Read more about the Hello-World application ...

gtkmm - C++ interface for the GUI library GTK+

  •    C++

gtkmm is the official C++ interface for the popular GUI library GTK+. Highlights include typesafe callbacks, and a comprehensive set of widgets that are easily extensible via inheritance. You can create user interfaces either in code or with the Glade User Interface designer, using Gtk::Builder. There's extensive documentation, including API reference and a tutorial.

ImGuizmo - Immediate mode 3D gizmo for scene editing and other controls based on Dear Imgui

  •    C++

A WIP little sequencer used to edit frame start/end for different events in a timeline. Check the sample for the documentation. More to come... ImGizmo is a small (.h and .cpp) library built ontop of Dear ImGui that allow you to manipulate(Rotate & translate at the moment) 4x4 float matrices. No other dependancies. Coded with Immediate Mode (IM) philosophy in mind.

SpeechKITT - 🗣 A flexible GUI for Speech Recognition

  •    Javascript

Speech KITT makes it easy to add a GUI to sites using Speech Recognition. Whether you are using annyang, a different library or webkitSpeechRecognition directly, KITT will take care of the GUI. Speech KITT provides a graphical interface for the user to start or stop Speech Recognition and see its current status. It can also help guide the user on how to interact with your site using their voice, providing instructions and sample commands. It can even be used to carry a natural conversation with the user, asking questions the user can answer with his voice, and then asking follow up questions.

gui.cs - Console-based user interface toolkit for .NET applications.

  •    CSharp

This is a simple UI toolkit for .NET, .NET Core and Mono and works on both Windows and Linux/Unix. All visible UI elements are subclasses of the View, and these in turn can contain an arbitrary number of subviews.

LCUI - A small C library for building user interfaces with C, XML and CSS.

  •    C

A small C library for building user interfaces with C, XML and CSS. LCUI is a freely available software library for building user interfaces. It is written in C and supports the use of XML and CSS to describe the graphical interface of simple desktop apps.

Imogen - GPU Texture Generator

  •    Python

WIP of a GPU Texture generator using dear imgui for UI. Not production ready and a bit messy but really fun to code. Basically, add GPU and CPU nodes in a graph to manipulate and generate images. Nodes are hardcoded now but a discovery system is planned. Currently nodes can be written in GLSL or C or Python. Use CMake and VisualStudio to build it. Only Windows system supported for now.

FlaUI - UI automation library for .Net

  •    CSharp

FlaUI is a .NET library which helps with automated UI testing of Windows applications (Win32, WinForms, WPF, Store Apps, ...). It is based on native UI Automation libraries from Microsoft and therefore kind of a wrapper around them. FlaUI wraps almost everything from the UI Automation libraries but also provides the native objects in case someone has a special need which is not covered (yet) by FlaUI. Some ideas are copied from the UIAComWrapper project or TestStack.White but rewritten from scratch to have a clean codebase. So, the commercial solutions are mostly based on multiple of those and/or implement a lot of workaround code to fix those issues. TestStack.White has two versions, one for UIA2 and one for UIA3 but because of the old codebase, it's fairly hard to bring UIA3 to work. For this, it also uses an additional library, the UIAComWrapper which uses the same naming as the managed UIA2 and wraps the UIA3 com interop with them (one more source for errors). FlaUI now tries to provide an interface for UIA2 and UIA3 where the developer can choose, which version he wants to use. It should also provide a very clean and modern codebase so that collaboration and further development is as easy as possible.

imgui-node-editor - Node Editor using ImGui prototype

  •    C++

This is an implementaion of node editor with ImGui-like API. Project purpose is to serve as a basis for more complex solutions like blueprint editors.

walk - A Windows GUI toolkit for the Go Programming Language

  •    Go

Walk is a "Windows Application Library Kit" for the Go Programming Language. Its primarily useful for Desktop GUI development, but there is some more stuff.

macroid - A modular functional UI language for Android

  •    Scala

Macroid is a modular functional user interface creation language for Android, implemented with Scala macros.Striving to be focused on one thing (GUI), Macroid promotes composability and high-level abstractions.

Win32::GUI

  •    C

Win32::GUI is a Win32-platform native graphical user interface toolkit for perl. basically, it's an XS implementation of most of the functions found in user32.dll and gdi32.dll, with an object oriented perl interface and an event-based dialog model.

StoryText

  •    Python

StoryText (formerly PyUseCase) is an unconventional GUI testing tool, with support for PyGTK, Tkinter, wxPython, Swing, SWT and Eclipse RCP. Instead of recording GUI mechanics directly, it asks the user for descriptive names and hence builds up a quot;domain languagequot; along with a quot;UI map filequot; that translates it into the current GUI layout. The point is to reduce coupling, allow very expressive tests, and ensure that GUI changes mean changing the UI map file but not all the te

clui - Command Line User Interface (Console UI inspired by TurboVision)

  •    Go

Command Line User Interface (Console UI inspired by TurboVision) with built-in theme support. Please see screenshots of working examples at the end of the README. The current version is 1.0.0. Please see details in changelog.

brick - A declarative terminal UI programming library written in Haskell

  •    Haskell

brick is a Haskell terminal user interface programming library in the style of gloss. This means you write a function that describes how your user interface should look, but the library takes care of a lot of the book-keeping that so commonly goes into writing such programs. brick exposes a declarative API. Unlike most GUI toolkits which require you to write a long and tedious sequence of "create a widget, now bind an event handler", brick just requires you to describe your interface using a set of declarative combinators. Then you provide a function to transform your application state when input or other kinds of events arrive.