Last modified 4 years ago
Last modified on 09/13/08 16:20:55
Betawidget is the name given to the new GUI library currently in development.
Design
Betawidget is loosely based off of several different GUI toolkits.
- The object model is based off of GObject (minus a few unnecessary features).
- The events system was inspired by that of the W3C DOM (JavaScript).
- The layout mechanism for widgets is taken from Qt.
- Drawing is done using Cairo; with SVG files being used to define the visual appearance of widgets.
This gives Betawidget several advantages over the current widget library.
- It will be scriptable (so modders can create/modify their own GUIs)
- It is scaleable (so the GUI size can change depending on the users screen-resolution)
- It will support much more complex widgets, including but not limited to
- multi-line text entry fields
- scrollable widgets
- It will have reasonable unicode support (UTF-8); allowing for non-English language input.
Limitations
The current design of betawidget has one main limitation: # If a widget includes any OpenGL content (e.g. a rotating PIE model) then it will be on-top, even if the widget is covered by other widgets. (A valid, however, unpractical solution would be to use FBOs.)
{{Template:Betawidget}} Category:Betawidget ?
