This is a little GUI I’m writing in Monkey: http://www.graphio.net/monkey/gui/gui.html
The GUI is target to be:
- easy to use
- easy to render
- easy to program
At the moment there are the usual, basics, gadgets:
- label
- slider
- button
- checkbutton
- textfield
It uses my own ColorFont library (very small, but not perfect…) to render ‘colorfont’ text.
The syntax and the logic is quite similar to the MaxGUI’s one:
There is a class Gadget, a class Event, you can create gadgets and windows with
window=CreateWindow("Test window",-1,DeviceHeight()-80,208,360)',WINDOW_CENTER)
and check for events with
Local ev:Event=PeekEvent() or Event.PeekEvent()
At the moment you can check an event ID (EVENT_GADGETACTION) or from source (a gadget) or a parent of it (usually a window).
These features are not completely defined, as the GUI is aimed mainly for simple game or simple application: I really doubt I will never need a ‘fully’ WIMP gui, but in case I think it should be done expanding this one.
Of course there are plenty of methods, some unknown to MaxGUI… I made one called SetLink(source): this means that when the ‘source’ gadget is changed (ie: a slider is moved) the ‘destination’ gadget will show the value of the slider. Handy.
Another feature: gadget graphics is done using ‘atlas’: at the moment things are done to ‘work’, not to be ‘easy’ to implement, but the skeleton is here.
And animation (of windows) are supported!