diff --git a/bindings/imgui_bundle/Readme_pypi.md b/bindings/imgui_bundle/Readme_pypi.md
index 80214c4c..2bdc290b 100644
--- a/bindings/imgui_bundle/Readme_pypi.md
+++ b/bindings/imgui_bundle/Readme_pypi.md
@@ -133,6 +133,14 @@ alt="battery implot" />
ImPlot3D: Immediate Mode
+3D Plotting |
+![]()
|
+
+
+ImGuizmo:
Immediate mode 3D gizmo for scene editing and other controls based on
Dear ImGui |
@@ -140,7 +148,7 @@ Dear ImGui
src="https://raw.githubusercontent.com/pthom/imgui_bundle/main/bindings/imgui_bundle/doc/doc_images/demo_gizmo.jpg"
alt="demo gizmo" />
-
+
ImGuiColorTextEdit:
Colorizing text editor for ImGui |
@@ -148,7 +156,7 @@ Colorizing text editor for ImGui
src="https://raw.githubusercontent.com/pthom/imgui_bundle/main/bindings/imgui_bundle/doc/doc_images/demo_widgets_editor.jpg"
alt="demo widgets editor" />
-
+
imgui-node-editor:
Node Editor built using Dear ImGui |
@@ -156,7 +164,7 @@ Node Editor built using Dear ImGui
src="https://raw.githubusercontent.com/pthom/imgui_bundle/main/bindings/imgui_bundle/doc/doc_images/demo_node_editor.jpg"
alt="demo node editor" />
-
+
imgui_md: Markdown
renderer for Dear ImGui using MD4C parser |
@@ -164,7 +172,7 @@ renderer for Dear ImGui using MD4C parser
src="https://raw.githubusercontent.com/pthom/imgui_bundle/main/bindings/imgui_bundle/doc/doc_images/demo_widgets_md.jpg"
alt="demo widgets md" />
-
+
ImmVision: Immediate
image debugger and insights |
@@ -174,7 +182,7 @@ alt="demo immvision process 1" />
-
+
NanoVG: Antialiased 2D
vector drawing library on top of OpenGL for UI and
@@ -183,7 +191,7 @@ visualizations |
src="https://raw.githubusercontent.com/pthom/imgui_bundle/main/bindings/imgui_bundle/doc/doc_images/nanovg_full_demo.jpg"
alt="nanovg full demo" />
-
+
imgui_tex_inspect:
A texture inspector tool for Dear ImGui |
@@ -191,7 +199,7 @@ A texture inspector tool for Dear ImGui
src="https://raw.githubusercontent.com/pthom/imgui_bundle/main/bindings/imgui_bundle/doc/doc_images/demo_imgui_tex_inspector.jpg"
alt="demo imgui tex inspector" />
-
+
ImFileDialog: A
file dialog library for Dear ImGui |
@@ -199,7 +207,7 @@ file dialog library for Dear ImGui
src="https://raw.githubusercontent.com/pthom/imgui_bundle/main/bindings/imgui_bundle/doc/doc_images/demo_widgets_imfiledialog.jpg"
alt="demo widgets imfiledialog" />
-
+
portable-file-dialogs
OS native file dialogs library (C++11, single-header) |
@@ -207,7 +215,7 @@ href="https://github.com/samhocevar/portable-file-dialogs">portable-file-dialogs
src="https://raw.githubusercontent.com/pthom/imgui_bundle/main/bindings/imgui_bundle/doc/doc_images/demo_widgets_portablefiledialogs.jpg"
alt="demo widgets portablefiledialogs" />
-
+
imgui-knobs: Knobs
widgets for ImGui |
@@ -215,7 +223,7 @@ widgets for ImGui
src="https://raw.githubusercontent.com/pthom/imgui_bundle/main/bindings/imgui_bundle/doc/doc_images/demo_widgets_knobs.jpg"
alt="demo widgets knobs" />
-
+
imspinner: Set of nice
spinners for imgui |
@@ -223,7 +231,7 @@ spinners for imgui
src="https://raw.githubusercontent.com/pthom/imgui_bundle/main/bindings/imgui_bundle/doc/doc_images/demo_widgets_spinners.jpg"
alt="demo widgets spinners" />
-
+
imgui_toggle: A toggle
switch widget for Dear ImGui |
@@ -231,7 +239,7 @@ switch widget for Dear ImGui
src="https://raw.githubusercontent.com/pthom/imgui_bundle/main/bindings/imgui_bundle/doc/doc_images/demo_widgets_toggle.jpg"
alt="demo widgets toggle" />
-
+
ImCoolBar: A Cool bar
for Dear ImGui |
@@ -239,7 +247,7 @@ for Dear ImGui
src="https://raw.githubusercontent.com/pthom/imgui_bundle/main/bindings/imgui_bundle/doc/doc_images/demo_widgets_coolbar.jpg"
alt="demo widgets coolbar" />
-
+
imgui-command-palette:
A Sublime Text or VSCode style command palette in ImGui |
diff --git a/bindings/imgui_bundle/doc/Readme.adoc b/bindings/imgui_bundle/doc/Readme.adoc
index a82e2808..bafabd2b 100644
--- a/bindings/imgui_bundle/doc/Readme.adoc
+++ b/bindings/imgui_bundle/doc/Readme.adoc
@@ -249,6 +249,9 @@ Dear ImGui Bundle includes the following libraries, which are available in {cpp}
|https://github.com/epezent/implot[ImPlot]: Immediate Mode Plotting
|image:{url-demo-images}/battery_implot.jpg[width=200]
+|https://github.com/brenocq/implot3d[ImPlot3D]: Immediate Mode 3D Plotting
+|image:{url-demo-images}/battery_implot3d.jpg[width=200]
+
|https://github.com/CedricGuillemet/ImGuizmo.git[ImGuizmo]: Immediate mode 3D gizmo for scene editing and other controls based on Dear ImGui
|image:{url-demo-images}/demo_gizmo.jpg[width=200]
@@ -757,11 +760,9 @@ void LoadFonts(AppState& appState) // This is called by runnerParams.callbacks.L
HelloImGui::ImGuiDefaultSettings::LoadDefaultFont_WithFontAwesomeIcons();
// Load the title font. Also manually merge FontAwesome icons to it
- appState.TitleFont = HelloImGui::LoadFont("fonts/DroidSans.ttf", 18.f);
HelloImGui::FontLoadingParams fontLoadingParamsTitleIcons;
- fontLoadingParamsTitleIcons.mergeToLastFont = true;
- fontLoadingParamsTitleIcons.useFullGlyphRange = true;
- appState.TitleFont = HelloImGui::LoadFont("fonts/Font_Awesome_6_Free-Solid-900.otf", 18.f, fontLoadingParamsTitleIcons);
+ fontLoadingParamsTitleIcons.mergeFontAwesome = true;
+ appState.TitleFont = HelloImGui::LoadFont("fonts/Roboto/Roboto-BoldItalic.ttf", 18.f, fontLoadingParamsTitleIcons);
// Load an Emoji font
HelloImGui::FontLoadingParams fontLoadingParamsEmoji;
@@ -1130,7 +1131,7 @@ void DemoAssets(AppState& appState)
void DemoFonts(AppState& appState)
{
- ImGui::PushFont(appState.TitleFont); ImGui::Text("Fonts - " ICON_FA_PEN_NIB); ImGui::PopFont();
+ ImGui::PushFont(appState.TitleFont); ImGui::Text("Fonts - " ICON_FA_ROCKET); ImGui::PopFont();
ImGui::TextWrapped("Mix icons " ICON_FA_FACE_SMILE " and text " ICON_FA_ROCKET "");
if (ImGui::IsItemHovered())
@@ -1707,12 +1708,10 @@ def load_fonts(app_state: AppState): # This is called by runnerParams.callbacks
hello_imgui.imgui_default_settings.load_default_font_with_font_awesome_icons()
# Load the title font
- app_state.title_font = hello_imgui.load_font("fonts/DroidSans.ttf", 18.0)
+ # app_state.title_font = hello_imgui.load_font("fonts/DroidSans.ttf", 18.0)
font_loading_params_title_icons = hello_imgui.FontLoadingParams()
- font_loading_params_title_icons.merge_to_last_font = True
- font_loading_params_title_icons.use_full_glyph_range = True
- app_state.title_font = hello_imgui.load_font("fonts/Font_Awesome_6_Free-Solid-900.otf",
- 18.0, font_loading_params_title_icons)
+ font_loading_params_title_icons.merge_font_awesome = True
+ app_state.title_font = hello_imgui.load_font("fonts/Roboto/Roboto-BoldItalic.ttf", 18, font_loading_params_title_icons)
# Load the emoji font
font_loading_params_emoji = hello_imgui.FontLoadingParams()
@@ -2112,7 +2111,7 @@ def demo_assets(app_state: AppState):
def demo_fonts(app_state: AppState):
imgui.push_font(app_state.title_font)
- imgui.text("Fonts - " + icons_fontawesome_6.ICON_FA_PEN_NIB)
+ imgui.text("Fonts - " + icons_fontawesome_6.ICON_FA_ROCKET)
imgui.pop_font()
imgui.text_wrapped("Mix icons " + icons_fontawesome_6.ICON_FA_FACE_SMILE + " and text " + icons_fontawesome_6.ICON_FA_ROCKET)
@@ -2655,7 +2654,7 @@ NOTE: See link:https://github.com/ocornut/imgui_test_engine/blob/main/imgui_test
{cpp}
[source, cpp]
----
-#ifdef IMGUI_BUNDLE_WITH_TEST_ENGINE
+#ifdef HELLOIMGUI_WITH_TEST_ENGINE
// A demo app that demonstrates how to use ImGui Test Engine (https://github.com/ocornut/imgui_test_engine)
//
// It demonstrates how to:
@@ -2901,9 +2900,9 @@ void ApplyApplicationLayout(HelloImGui::RunnerParams* runnerParams)
runnerParams->dockingParams.dockableWindows = CreateDockableWindows();
runnerParams->dockingParams.layoutCondition = HelloImGui::DockingLayoutCondition::ApplicationStart;
}
-#else
+#else // #ifdef HELLOIMGUI_WITH_TEST_ENGINE
int main(int, const char**) {}
-#endif // #ifdef IMGUI_BUNDLE_WITH_TEST_ENGINE
+#endif // #ifdef HELLOIMGUI_WITH_TEST_ENGINE
----
====
@@ -3601,6 +3600,7 @@ link:https://traineq.org/ImGuiBundle/emscripten/bin/demo_widgets.html[Try these
----
// Part of ImGui Bundle - MIT License - Copyright (c) 2022-2024 Pascal Thomet - https://github.com/pthom/imgui_bundle
#include "hello_imgui/hello_imgui.h"
+#include "hello_imgui/icons_font_awesome_4.h"
#include "imspinner/imspinner.h"
#include "imgui_toggle/imgui_toggle.h"
#include "imgui_toggle/imgui_toggle_presets.h"
@@ -3899,9 +3899,18 @@ void DemoImFileDialog()
ImGuiMd::RenderUnindented(R"(
# ImFileDialog
- [ImFileDialog](https://github.com/pthom/ImFileDialog.git) provides file dialogs for ImGui, with images preview.
- *Not (yet) adapted for High DPI resolution under windows*
+ [ImFileDialog](https://github.com/pthom/ImFileDialog.git) provides file dialogs for ImGui.
)");
+ ImGui::SameLine();
+ ImGui::Text(ICON_FA_EXCLAMATION_TRIANGLE);
+ ImGui::SetItemTooltip(
+ "It is advised to use Portable File Dialogs instead, which offer native dialogs on each platform, "
+ "as well as notifications and messages.\n\n"
+ "Known limitations of ImFileDialog:\n"
+ " * Not adapted for High DPI resolution under windows\n"
+ " * No support for multi-selection\n"
+ " * Will not work under python with a pure python backend (requires to use `immapp.run()`)"
+ );
if (ImGui::Button("Open file"))
ifd::FileDialog::Instance().Open(
@@ -4094,6 +4103,7 @@ from imgui_bundle import (
immapp,
ImVec4,
im_cool_bar,
+ icons_fontawesome,
)
from imgui_bundle import imgui_command_palette as imcmd
from imgui_bundle import portable_file_dialogs as pfd
@@ -4355,14 +4365,24 @@ def demo_imfile_dialog():
if not has_submodule("im_file_dialog"):
return
from imgui_bundle import im_file_dialog as ifd
-
imgui_md.render_unindented(
"""
# ImFileDialog
- [ImFileDialog](https://github.com/pthom/ImFileDialog.git) provides file dialogs for ImGui, with images preview.
- *Not (yet) adapted for High DPI resolution under windows*
+ [ImFileDialog](https://github.com/pthom/ImFileDialog.git) provides file dialogs for ImGui.
"""
)
+ # Warning / low support
+ imgui.same_line()
+ imgui.text(icons_fontawesome.ICON_FA_EXCLAMATION_TRIANGLE)
+ imgui.set_item_tooltip("""
+ It is advised to use Portable File Dialogs instead, which offer native dialogs on each platform,
+ as well as notifications and messages.
+
+ Known limitations of ImFileDialog:
+ * Not adapted for High DPI resolution under windows
+ * No support for multi-selection
+ * Will not work under python with a pure python backend (requires to use `immapp.run()`)
+ """)
if imgui.button("Open file"):
ifd.FileDialog.instance().open(
@@ -6162,9 +6182,10 @@ if __name__ == "__main__":
from imgui_bundle.python_backends.glfw_backend import GlfwRenderer
import OpenGL.GL as gl # type: ignore
+# When using a pure python backend, prefer to import glfw before imgui_bundle (so that you end up using the standard glfw, not the one provided by imgui_bundle)
+import glfw # type: ignore
from imgui_bundle import imgui, imgui_ctx
from imgui_bundle import imgui_md
-import glfw # type: ignore
import sys
diff --git a/bindings/imgui_bundle/doc/doc_images/battery_implot3d.jpg b/bindings/imgui_bundle/doc/doc_images/battery_implot3d.jpg
new file mode 100644
index 00000000..cf1a3e15
Binary files /dev/null and b/bindings/imgui_bundle/doc/doc_images/battery_implot3d.jpg differ
diff --git a/bindings/imgui_bundle/doc/doc_parts/intro_batteries_included.adoc b/bindings/imgui_bundle/doc/doc_parts/intro_batteries_included.adoc
index 99035177..36e34d4b 100644
--- a/bindings/imgui_bundle/doc/doc_parts/intro_batteries_included.adoc
+++ b/bindings/imgui_bundle/doc/doc_parts/intro_batteries_included.adoc
@@ -16,6 +16,9 @@ Dear ImGui Bundle includes the following libraries, which are available in {cpp}
|https://github.com/epezent/implot[ImPlot]: Immediate Mode Plotting
|image:{url-demo-images}/battery_implot.jpg[width=200]
+|https://github.com/brenocq/implot3d[ImPlot3D]: Immediate Mode 3D Plotting
+|image:{url-demo-images}/battery_implot3d.jpg[width=200]
+
|https://github.com/CedricGuillemet/ImGuizmo.git[ImGuizmo]: Immediate mode 3D gizmo for scene editing and other controls based on Dear ImGui
|image:{url-demo-images}/demo_gizmo.jpg[width=200]
diff --git a/docs/assets_about.html b/docs/assets_about.html
index 496d2de0..966b5940 100644
--- a/docs/assets_about.html
+++ b/docs/assets_about.html
@@ -1274,7 +1274,7 @@ App settings