Skip to content

Releases: pthom/imgui_bundle

v1.5.0-rc1

24 May 06:54
2f2e76d
Compare
Choose a tag to compare
v1.5.0-rc1 Pre-release
Pre-release

High level changes overview

ImGui:

Hello ImGui

See changes in Hello ImGui v1.5.0-rc1

  • add FontDpiResponsive
  • add OpenGlOptions
  • add null backends
  • Can set OpenGL options in hello_imgui.ini in any parent folder
  • add InputTextResizable & WidgetWithResizeHandle
  • Logger: use less vertical space

Libraries

  • immvision:
    • fixup Custom version of cv::warpAffine for small sizes
    • ImmVision::Image is now resizable / added ImmVision::ImageDisplayResizable
  • imgui-knobs: can drag knob horizontally or vertically

Python

  • imgui_fig is now resizable

Build


Full changes

Pull requests & contributors

New Contributors

Full Changelog: v1.3.0...v1.5.0-rc1


Get python wheels from here

v1.3.0

19 Jan 11:26
Compare
Choose a tag to compare

Version numbers are synced between hello_imgui and imgui_bundle.

New libraries

Bundle

  • Update imgui to v1.90.1-docking
  • Update implot, imgui_test_engine, imgui-node-editor

Python

  • Release the Python GIL when rendering: improve multithreading performance (see #171)
  • Fix an issue under Ubuntu where cibuildwheel binary wheels did not work (see #170)

Hello ImGui

Fixes

  • Fix usage of ShowIdStackTool without ImGui Test Engine (see #166)
  • ImGuiColorTextEdit: added bindings for GetSelection / Fixed keyboard selection (see #169)

Full Changelog: v1.2.1...v1.3.0

v1.2.1

08 Jan 22:38
Compare
Choose a tag to compare

Hello ImGui

Backends

iOS

Android

Python

Bundle


Contributors

New Contributors

Full Changelog: v1.1.0...v1.2.1

v1.1.0

05 Dec 23:30
Compare
Choose a tag to compare

3D

  • Added callback runnerParams.callbacks.CustomBackground: display any 3D scene in the background of the app: see doc
image

App deployment

  • Added support for macOS application bundles
  • Added option to specify where settings are saved: RunnerParams.iniFolderType can be set to: CurrentFolder, AppUserConfigFolder, DocumentsFolder, HomeFolder, TempFolder, AppExecutableFolder.
  • Support for Application Icon: the file assets/app_settings/icon.png will be used to generate the window icon (C++, Python), and app icon (C++ only) for any platform. See assets structure below:
assets/
├── world.jpg                         # A custom asset
├── app_settings/                     # Application settings
│         ├── icon.png                # This will be the app icon, it should be square
│         │                           # and at least 512x512. It will  be converted
│         │                           # to the right format, for each platform.
│         ├── apple/
│         │         └── Info.plist    # macOS and iOS app settings
│         │                           # (or Info.ios.plist + Info.macos.plist)
├── fonts/
│         ├── DroidSans.ttf               # Default fonts
│         └── fontawesome-webfont.ttf     #     used by HelloImGui
│         ├── Roboto
│         │    ├── Roboto-Bold.ttf        # Font used by Markdown
│         │    ├── Roboto-BoldItalic.ttf
│         │    ├── Roboto-Regular.ttf
│         │    └── Roboto-RegularItalic.ttf
│         ├── SourceCodePro-Regular.ttf
├── images
│         └── markdown_broken_image.png

Python bindings

CMake

  • hello_imgui_add_app and imgui_bundle.add_app can now accept ASSETS_LOCATION as a parameter e.g. hello_imgui_add_app(my_app file1.cpp file2.cpp ASSETS_LOCATION my_assets)

v1.0.0.0

26 Oct 21:49
Compare
Choose a tag to compare

This release is the first official v1.0.0.0!

See release v1.0.0.0-beta1 for full changelog.

It adds:

  • Updated SDL and glfw
  • Updated imgui to V1.90 WIP (2023-10-21) and imgui_test_engine
  • Updated implot bindings

Full Changelog: v1.0.0-beta1...v1.0.0

v1.0.0-beta1

20 Oct 22:10
Compare
Choose a tag to compare
v1.0.0-beta1 Pre-release
Pre-release

Added support for ImGui Test Engine

ImGui Test Engine is a Tests & Automation Engine for Dear ImGui.

  • Can be used with python, and C++ (all platforms, incl emscripten). See python bindings declarations (stubs).
  • Enabled by default inside ImGui Bundle. Needs to be enabled manually when using Hello ImGui.
  • Lots of work on making ImGui Test Engine's coroutines (thread based) compatible with Python and emscripten
  • ImGui Test Engine is now used to run interactive automations in the interactive manual (click on the "Show me" buttons)
  • Added specific demo and doc

Note: See Dear ImGui Test Engine License. (TL;DR: free for individuals, educational, open-source and small businesses uses. Paid for larger businesses)

New library

  • Added new library: ImCoolBar

Doc

Misc

  • Python bindings stubs: add "overload" everywhere when required
  • cmake: add options to run sanitizers (no warning given by any of them at this moment)
  • demo_logger: add logs at startup
  • implot python bindings: add plot_bar_groups & plot_pie_chart
  • update imgui_toggle (after merged PRs from imgui_bundle)
  • update HelloImGui: add callback BeforeImGuiRender
  • update ImmVision: can call gladLoadGl if needed (fix #134)
  • add demo imgui_example_glfw_opengl3.cpp

Full Changelog: v0.9.0...v1.0.0-beta1

v0.9.0

22 Sep 11:55
Compare
Choose a tag to compare

Added wheels for python3.12

Submodule updates:

  • imgui-node-editor: fix suspend/resume issue
  • HelloImGui::DockingParams::focusDockableWindow() can show a window tab

v0.8.8

15 Sep 09:56
Compare
Choose a tag to compare
  • update imgui to v1.89.6 and implot to v0.17
  • Enable 32 bits ImDrawIdx for ImPlot

Submodules changes:

  • ImmVision: fix exit sequence, can save colormap image
  • imgui-node-editor: fixes
  • HelloImGui: basic apps can run without font assets / can set docking options for main dock space

v0.8.7

07 Jun 16:13
Compare
Choose a tag to compare

Updates and new features

  • ImGui: updated imgui to v1.89.6 (May 2023)
  • ImGui: python bindings now can use SDL2 (glfw is of course still supported, and remains the default with Hello ImGui)
  • ImGui: Add python bindings for drag&drop
  • HelloImGui: can now handle several layouts and save settings per layout (see details below)
  • HelloImGui: can now store user defined settings in the ini file
  • HelloImGui: now remembers user choices for the theme, status bar, and fps throttling
  • HelloImGui: handle utf8 filenames for assets loading
  • ImGuiColorTextEdit is now based on @santaclose fork
  • immvision bindings: use shared memory (between python and C++) for images
  • ImPlot bindings: Add support for colormap in implot python bindings
  • ImPlot bindings: Add support for heatmaps

As always, an online interactive manual is available
   

More details about layouts handling with Hello ImGui:

Layout demo

Each layout has a different spatial layout and can contain a different list of windows. Each layout also remembers the user modifications to this given layout, as well as the list of opened windows.

See this online emscripten demo of the docking and layout, the C++ demo code, and python demo code

For more explanations on how to handle complex layouts, see this video explanation on YouTube (5 minutes)

v0.8.6

06 Jun 19:55
Compare
Choose a tag to compare

Please use v0.8.7 instead