Open richardeakin opened 10 months ago
I just pushed an additional update that fixes IM_ASSERT
s called from within imgui.cpp
, imgui_widgets.cpp
, etc, that don't include CinderImGui.h first. Tested and breakipoints now get correctly routed to CI_BREAKPOINT()
, and you can use things like LoggerBreakpoint()
now to hunt down a missing ImGui::End()
, for example.
This is because if the user doesn't define IMGUI_USER_CONFIG
, CinderImGui.h will include its own config header called "cinder/CinderImGuiConfig.h". But imgui.h is written so that if IMGUI_USER_CONFIG
isn't defined, then it will #include "imconfig.h"
, here. Two other ways we could fix this:
IMGUI_USER_CONFIG = "cinder/CinderImGuiConfig.h"
macro for cinder targets, on each platform (msvc, xcode, cmake).I think this is a decent middleground, where all you need to do after updating, is to copy that #include
redirect so that imgui.h and everything else is looking at CinderImGuiConfig.h, which is versioned in the cinder repo.
This updates Dear ImGui sources to v1.89.8, docking branch. Also hoping to get a consensus on what branch people would like to see in the master repo. Personally, I think the new ImGui Tables API is a must for data debugging, although that does live in the official release branch. I know that on various client projects, we've switched to using docking as it allows for a cleaner user-facing GUI, and although the API appears stable who knows when it'll make it into the official release branch.
Important code changes include:
#include
ed.I had to make minor upates to my own GUI code in various places (
ListBox()
,GetContentAvailWidth()
->ImGui::GetContentRegionAvail().x
)Last thing to note: we're discussing moving Dear ImGui to a submodule for a future release (likely when v2.0 lands), let us know if any feedback on that as well.
Needed: