The GGUI library is an object oriented graphics system based on screen views (tcView) and widgets derived from the tcGuiObject base class. Users define multiple views (or screens) with visible widgets or images associated to each view and write software that handles the transition from one view to another and any associated handlers for widget events.
The GGUI library is heavily based on the use of sectioned bitmaps for the illustration of various widgets such as buttons, spin controls, knobs, sliders, etc. This allows for optimized rendering (as now only bitblit type operations are required instead of complex rendering operations) as well as the ability for end users to "skin" nearly all provided widgets with their own style or colored look and feel of the GGUI library. The MityDSP development kit does provide a base set of widget skins to get started, but users should be aware that they are not limited by these widget sets. Many open source graphics editors can be used quickly and easily (e.g., Inkscape) to build your own look and feel.
The GGUI library is intended for embedded LCD graphics systems, and as such is not a true windowing subsystem. Capabilities such as opaque dragging of objects dynamic resizing are not directly provided by GGUI. That said, the capability that is provided is quite powerful for embedded instrumentation panels and control systems.
The GGUI library has been designed to allow for a large portion of the graphics and widget design and layout to be performed using a normal PC running windows XP. The GGUI views and widget definitions are captured and parsed at runtime using an XML description file.
The development process for the GGUI system involves the following stages: