olofson / eel

The Extensible Embeddable Language for scripting in realtime applications
http://eelang.org/
zlib License
46 stars 4 forks source link

Merge the Eelium and "Kobo II" GUI toolkits #110

Open olofson opened 7 years ago

olofson commented 7 years ago

The Eelium "EBGUI" and Kobo II GUI toolkits are quite similar in internal design, and both written in EEL. The main reason there are two of them in the first place is that EBGUI supports only the SDL 1.2 2D API, whereas the Kobo II GUI supports only OpenGL, and for reasons I can't even remember now, it was easier to just grab some code and ideas from EBGUI, than to add proper OpenGL support to it.

However, even one GUI toolkit is almost one to many to maintain, and now that we're moving to SDL2, rendering with OpenGL is no longer drastically different (in terms of features and performance) from rendering via the SDL 2D API.

The original idea was to target only ZeeDraw (a persistent scene graph rendering API I started working on a good while ago), but with full transforms, polygonal clipping and all, it's going to be quite a bit of work to implement a software backend for it, and it's massive overkill for a "normal" GUI toolkit anyway. With SDL 2.0, the 2D API covers everything either of the GUI toolkits do at this point, and the Kobo II one already has OpenGL themes, so SDL 2.0 + OpenGL should be trivial and more than sufficient for both ingame GUIs and desktop applications.

See also #108 and #109.