|
|
|
|
| The various system layers used by GUIs |
 |
Kernel drivers: frame buffer, direct access, ... |
 |
Hardware abstraction layers: X, GGI, DirectFB, ... |
 |
Graphical toolkits (widgets): QT, GTK, FLTK, ... |
 |
Window manager: matchbox, sawfish, ... |
 |
Desktop environments: GNOME, KDE, ... |
| The Linux frame buffer |
 |
Selecting frame buffer support when building th ekernel |
 |
Generic VGA support, VESA |
 |
Provided features |
| The hardware abstraction layers |
 |
X: standard server and embedded-specific versions (tiny-X, Kdrive, Nano-X) |
 |
GGI: generic multiplatform GUI (Linux, Windows, MacOS/X ,...) |
 |
DirectFB: hardware acceleration above the frame buffer |
| The graphic toolkits (widgets) |
 |
Trolltech's QT |
 |
GTK (Gimp ToolKit) |
 |
WxEmbedded |
 |
FLTK (Fast Light ToolKit) |
 |
MiniGUI |
 |
Nano-X (ex MicroWindows) |
 |
Standard "desktop" versions and embedded-specific versions |
 |
Graphical GUI design tools: QT designer, Glade, FLUID... |
| Linking commands to GUI items |
 |
Using fork and exec |
 |
Pipe communication |
 |
Integration with widgets |
| Embedded GUI distributions for Linux |
 |
The "familiar project" |
 |
GPE Palm Environement |
 |
Qtopia |
 |
Pixil |