GGI is a basic graphics API which focuses on making graphics applications portable. Through a run-time modular system, a single application binary can be compiled for a particular architecture/OS, and then run on many different display systems supported on that OS, without rebuilding the binary. The application only depends on the presence of LibGGI itself, and is not directly linked into any particular display system library -- a plugin-like system allows
support for different display systems to be distributed separately from both LibGGI and the application. This is a boon to distribution maintainers, as it is never necessary to distribute alternate versions of LibGGI or LibGGI application packages.
Since GGI 2.1, it consists of a set of libraries:
* libgii 0.9.2
* libggi 2.1.2
* libgiigic 1.0.1
* libggigcp 0.9.2
* libggiwmh 0.2.2
* libggimisc 2.1.2
libggi: It is a basic API meant for low level programming abstracting the simplest of primitives common to most display systems.
When properly written, LibGGI applications can be made to work well in various bit-depths and to function on display systems that differ quite drastically in their implementations (e.g. backbuffered client/server systems like X11 versus direct hardware systems like linux framebuffer.) LibGGI includes an extension system which allows API sets to be added to the core LibGGI API
LibGII is a system for handling input devices which follows the same general design principles as LibGGI, and may be used in conjunction with a LibGGI display or used as a stand-alone library.
libgiigic is a library on top of libgii. It allows to bind user "actions" with keys you know from computer games.
libggigcp is a libggi extension. It adds the colorspaces HSV, CMYK, YUV and allows conversion between them.
libggiwmh is a libggi extension. It enhances "windowed" targets
(= targets, that work within a desktop such as X11, directx) with the capability to move, resize windows & more
libggimisc is a libggi extension. It enhances targets with vga
features like splitline, waiting for crt ray, etc.
Log in to post a comment.