I always wanted to make one, and I'm currently revisiting TI-Lua for integration with Ndless.
I could make one in C, but that would not integrate into the document and only work on the calculator and with Ndless.
So I started it in Lua.
Currently, it's just wrapper around the on.*-functions, you can create a window and move it around.
But you could already customize the window decorations
- multiple windows, with correct overlapping and lifting the dragged one to the top
- resizable windows
- components to put in the windows:
- buttons, labels, canvases, sliders...
- events for the components
- custom components
- clipping, so one component cannot overdraw another
- when moving windows, only redraw the part of the windows and components that need to be redrawn, to improve performance
- ability to load scripts from public library vars and put them in a setfenv sandbox, so they think they run normally, while all the api calls are redirectd to the window manager
I need a good graphics API for my next project.
You can guess what my next project is.
Hint: What happens if assembly support is removed from one product line?