ImGui is great if you need an ad-hoc UI for development/debug tools, but it's not meant to be used in actual applications aimed at end-users. I can't speak for other devs but I certainly wouldn't want my development tools waste time with pointless animations. I hope this doesn't encourage even more devs to build inaccessible software featuring ImGui's idiosyncratic, non-standard UX.
Bliss:
Installation
Add two files to your project:
src/im_anim.h
src/im_anim.cpp
That's it. No build system changes, no external dependencies.oh wow this timing is incredible for me thank you, this is exactly the type of thing I needed and this is EXACTLY my aesthetic
If the author is around, can you do a short writeup on how this implemented? I've got my own immediate-mode UI framework and am curious how you did it.
I was interested and wanted to see how much the animations burn CPU and whatnot, so I cloned the repo and went to try to build the demo but everything went to hell. The build environment is some .net thing written in C#. It comes with a "bootstrap.sh" file to get it going that immediately fails, even after installing the dotnet development environment. I fiddled around with it for some time before giving up because I was hitting an error about a Targeting Pack that was going to require me to hit a Microsoft website to fix.
But the README says the build process it just a couple of files so I figured I could just build it by hand. This involved downloading a couple more repos from the author's repo and setting up some symlinks, includes, and defines that I figured out through trial and error, but in the end I was not successful in getting the demo to build. I tried a combo of SDL2 and OpenGL3 but it bombed out with a C++ error about too many initalizers. The only good news is that I was able to cleanly build the demo_im_app code, but the main requires the ImPlatform which appears to be buggy.
Update: I figured out that you need to run a git submodule update command first. The shell script is supposed to tell you this but it is broken. This does a bunch of work but then dies because g++ doesn't stick the string ".exe" on the end of executibles. Also, the script looks in the wrong place for the output. A few text fixes in the bootstrap.sh and generate_projects.sh files and it gets to a point where the build is dying due to not having "main" or "sharpmake" objects in the current context, whatever that means. I don't know enough about C# to go further, especially for what was supposed to be a quickie 10 minute test. I'm hoping someone else figures this out and updates the repo.