This is a collection of widgets and utilities for the immediate mode GUI (imgui) that I am developing for the critic2 GUI

Related tags

GUI imgui-goodies
Overview

ImGui Goodies

This is a collection of widgets and utilities for the immediate mode GUI (imgui) that I am developing for the critic2 GUI. Currently, the contents of this repo are:

  • imgui_widget.cpp: a collection of small independent widgets, including:

    • SlidingBar: a bar widget that slides when it is grabbed with the mouse.

    • ButtonWithX: a button with an X at the end. Useful for tabs.

    • ResizeGripOther: a resize grip that resizes a window other than the one on which it is drawn.

    • LiftGrip: a grip on the bottom left part of the window rendered in a different color. Responds to grabbing.

    • AttachTooltip: a function that provides delayed tooltips. Tooltips are shown if: i) the mouse hovers over the element for longer than a certain time, passed as argument to the function, ii) the mouse goes from one tooltip element to another, and the tooltip is being shown, or iii) the mouse hovers a tooltip element for longer than t seconds and less than t seconds have elapsed between the time the last tooltip was shown and the current item started being hovered. See example below.

  • imgui_dock.cpp: a window docking system. There are three types of windows:

    • Docks (BeginDock()/EndDock()): like normal windows, except they can be docked to the other two window types.

    • Containers (Container()): a window to which docks can be attached as tabs. It has a behavior similar to a browser window.

    • Root containers (RootContainer()): a window to which both containers and docks can be attached. It splits into regions for the different attached windows depending on where they are dropped.

    Most of the functionality of normal ImGui windows is preserved. imgui_dock.cpp uses the widgets in imgui_widget.cpp but is otherwise self-contained.

Some examples are given in the examples subdirectory. Use the compile.sh script to build the whole directory tree.

Examples

Docks, containers, and root containers:

Example

Delayed tooltips:

Example

You might also like...
A Proof-of-concept of embedding Qt widgets into QML.
A Proof-of-concept of embedding Qt widgets into QML.

QQuickWidgetContainer It helps you embed Qt widgets into QML. Limitations and Disclaimer This is a proof-concept of bridging QWidget-based window syst

Plugin for Rainmeter: Making widgets using web technology
Plugin for Rainmeter: Making widgets using web technology

PluginWebView Plugin to take advantage of Microsoft Edge WebView2 to display web content on a skin. WebView window is attached into skin window so all

Simple ImGui external base. Uses ImGui DX9.
Simple ImGui external base. Uses ImGui DX9.

ImGui External Base 🖥️ What is this? ⚡ Hello all! I used to use noteffex's loader base for all my external ImGui projects. I got bored of using this

imgui-filebrowser is a header-only file browser implementation for dear-imgui. C++ 17 is required.
imgui-filebrowser is a header-only file browser implementation for dear-imgui. C++ 17 is required.

imgui-filebrowser imgui-filebrowser is a header-only file browser implementation for dear-imgui. C++ 17 is required. Getting Started imfilebrowser.h s

An addon of imgui for supporting docks in the imgui's window
An addon of imgui for supporting docks in the imgui's window

An addon of imgui for support dock in the window

super duper simple gui for C, wrapping imgui and stb

super duper simle gui for C, wrapping imgui and stb You can use it as a static library with cmake. See the example directory for a complete example. E

Window and GUI system based on Dear ImGui from OCornut
Window and GUI system based on Dear ImGui from OCornut

ImWindow Window and GUI system based on ImGui from OCornut. Include docking/floating window, multi window and multi render support. Platform Actually

Real-time GUI layout creator/editor for Dear ImGui
Real-time GUI layout creator/editor for Dear ImGui

ImStudio Real-time GUI layout creator/editor for Dear ImGui Inspired by Code-Building/ImGuiBuilder Features Drag edit Property edit Covers most of the

GPU Accelerated C++ User Interface, with WYSIWYG developing tools, XML supports, built-in data binding and MVVM features.

GacUI GPU Accelerated C++ User Interface, with WYSIWYG developing tools, XML supports, built-in data binding and MVVM features. Read the LICENSE first

Owner
null
✔️The smallest header-only GUI library(4 KLOC) for all platforms

Welcome to GUI-lite The smallest header-only GUI library (4 KLOC) for all platforms. 中文 Lightweight ✂️ Small: 4,000+ lines of C++ code, zero dependenc

null 6.5k Nov 24, 2022
Addon widgets for GUI library Dear ImGui.

ImGui-Addons Addon widgets for GUI library Dear ImGui. File Dialog A simple cross-platform file dialog that uses dirent interface for reading director

null 278 Nov 24, 2022
Immediate mode 3D gizmo for scene editing and other controls based on Dear Imgui

ImGuizmo Latest stable tagged version is 1.83. Current master version is 1.84 WIP. What started with the gizmo is now a collection of dear imgui widge

Cedric Guillemet 2.2k Nov 25, 2022
raygui is a simple and easy-to-use immediate-mode-gui library.

raygui is a simple and easy-to-use immediate-mode-gui library.

Ray 1.9k Nov 28, 2022
FlatUI is a immediate mode C++ GUI library for games and graphical applications.

FlatUI is a immediate mode C++ GUI library for games and graphical applications. Go to our landing page to browse our documentation.

Google 610 Nov 19, 2022
A single-header ANSI C immediate mode cross-platform GUI library

Nuklear This is a minimal-state, immediate-mode graphical user interface toolkit written in ANSI C and licensed under public domain. It was designed a

Immediate Mode UIs, Nuklear, etc. 6.3k Dec 2, 2022
The HorusUI library allows you to quickly develop GUIs for your applications by leveraging the ease of use provided by immediate mode GUI concepts.

Immediate Mode Graphical User Interface for Tools OVERVIEW The HorusUI library allows you to quickly develop GUIs for your applications by leveraging

null 132 Nov 18, 2022
This is a minimal state immediate mode graphical user interface toolkit written in ANSI C and licensed under public domain

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.

Micha Mettke 13.5k Dec 1, 2022
ImTui: Immediate Mode Text-based User Interface C++ Library

ImTui is an immediate mode text-based user interface library. Supports 256 ANSI colors and mouse/keyboard input.

Georgi Gerganov 2.1k Nov 30, 2022
A tiny, portable, immediate-mode UI library written in ANSI C

A tiny, portable, immediate-mode UI library written in ANSI C Features Tiny: around 1100 sloc of ANSI C Works within a fixed-sized memory region: no a

null 2.5k Nov 25, 2022