1. 35

  2. 13

    I know it’s C++ (eww), but I personally prefer imgui. I’ve had difficulty debugging nuklear when I’ve used it in the past, but imgui just works™

    1. 3

      Wow, this looks great! It’s also the clean sort of C++:

      ImGui takes advantage of a few C++ features for convenience but nothing anywhere Boost-insanity/quagmire. In particular, function overloading and default parameters are used to make the API easier to use and code more terse.

      The imgui readme also mentions an interesting-looking fork, developed for use by LumixEngine, which adds dockable windows and an alternate theme.

      1. 2

        Yeah - that’s why I allow it as an exception to my no-c++ rule. When the sdl is ignored, you don’t use crappy bloat like boost, and you don’t try to write it like Java, C++ is quite tolerable. At that point, though, it’s basically C with some syntactic sugar.

      2. 2

        imgui is, in fact, mentioned as an inspiration at the end of the nuklear page. I’m also intrigued by the stb header libraries mentioned there.

      3. [Comment removed by author]

        1. 24

          It literally does.

          1. 7

            Perhaps I’m mistaken, but I believe the claim is “single header”, not “single file”.

            1. 1

              It’s like a monorepo for your program! /s

              1. 1

                I would have preferred something like sql amalgamation, but if the author can manage to develop while things are all in one file and make it work I Would say it’s fine.

              2. 2

                This is pretty cool, although I’m unsure of the advantages of having it all in a header file over a simple .c/.h pair of files. If/when I use this, I’ll probably just have a ‘nuklear.c’ file that merely includes the header file with the “implementation” flag set.

                1. 1

                  We need a Haskell binding for that!