The Design Goals were:
- Simplicity : Create a control in one line
- Easy Skinning support
- TTF and UTF8 support
- Directory : Controls can be accessed by a tree structure
- Direct access of all data members like if a button is pressed e.g.
- No Event Loop
- Static non-blocking visualization
- Dialog Templates from ressource text file
- Callback support
Some simple examples:
Creating a window: gui.window["idname"]=Gui::Window("Title",100,100,250,350);
Closing a window: gui.window.erase("idname");
Adding a button : gui.window["idname"].button["load"]=Gui::Button("Load",20,20,50,30);
Change the skin of a window or other control:
There is no need to create a variable for most cases. The GUI handles that for you. It will cover basic functions that a required in a game. Its not optimized for speed, yet fast enough in most cases.
You can fetch an alpha demo of the gui here : [ DOWNLOAD ]
I will post more details soon.