ddui 0.0.2

BetterC Immediate-mode UI library

To use this package, run the following command in your project's root directory:

Manual usage
Put the following dependency into your project's dependences section:

ddui, Immediate Mode UI


ddui is a BetterC compatible Immediate Mode User Interface.

This is a D port of rxi/microui after being angry at my Imgui/Nuklear bindings not working. I'd like to personally thank rxi for making microui and Mike Parker for bindbc-opengl and bindbc-sdl.

Like the original, the library does not do any rendering of its own, but contains commands to draw text, shapes, and icons originating from the library that needs to be implemented in your application in order to work.


  • BetterC compatibility.
  • Demo: Fixed host window resizing (clipping).


  • Simplify codebase.
  • Rename all prefixes.
  • Embedded documentation.
  • Improve string handling (maybe string_t, at least reduce dependency on strlen).
  • Replace FNV-1a hash by Murmurhash3-32.
  • Improve ID system.
  • Textbox input navigation.
  • Triangle corner hint and/or cursor change for resizable windows.
  • Command stack should work with an index.
  • Fix window dragging when on-top of each other for current example.
  • Fix z-index global state (window management).
  • Demo: Support OpenGL 3.3 and/or ES 2.0.
  • (Research needed) Use bsearch for searching hashes.
  • (Considering) Dedicated helper functions to aid SDL2/Allegro/GLFW integration.


There is currently only one example using SDL2 and OpenGL 1.1.

Building the demo:

  1. Navigate to the demo directory.
  2. Obviously, you'll need a fairly recent DUB and D compiler.
  3. Install the SDL2 library (Ubuntu: libsdl2 package, Windows: place sdl2.dll in directory). (Note: this uses the dynamic configuration)
  4. Type dub.
0.0.2 2022-Nov-06
0.0.1 2022-Oct-08
~master 2022-Nov-18
Show all 3 versions
Download Stats:
  • 0 downloads today

  • 0 downloads this week

  • 0 downloads this month

  • 16 downloads total

Short URL: