Custom low level GUI framework

Return to main page

I'm a big fan of intuitive graphical user interfaces, as well as trying new programming languages. Sometimes however, those two things can be at odds.

For instance, two of my favorite programming languages, Odin and Nim, didn't provide enough out of the box for me to achieve what I wanted.

Well, I am also a big fan of understanding what I'm building upon as much as I can, so I was willing to try to build it myself.

A dream of mine has always been to be able to craft an intuitive and easy-to-use vectorized GUI library that runs everywhere, including the browser.

Fortunately, WebAssembly has made something like this possible, albeit very diffcult. Below is a demo of what I achieved in this regard. The demo runs in the browser, and can also be compiled to native machine code to run on Windows, Linux, and macOS.

There should be four movable windows with text inside of them. There is a slider at the top of each window that controls the alignment of the text. Holding the control key while dragging the slider should lower the sensitivity for more precision.

The demo only works properly on a Desktop computer, as it was mainly designed with that in mind, but mobile adaptation would not be impossible.

The source code for this specific demo is available here.