Glossary of GGI Terms Steve Cheng, Hartmut Niemann $Date: 1998/02/04 13:07:25 $ This document describes a few specific terms used by the GGI project. 1. The GGI architecture Target A target or display target is a collection of libraries used to connect LibGGI to some other graphical input/output system with the purpose of letting LibGGI make use of the drivers in the target system. As an example, the X target will use the X protocol to open up an X window which is then used to display a GGI application. Wrapper-lib As the opposite of that a wrapper-lib (or simply wrapper is something that makes LibGGI look like some other graphics library. E.g. there is the svgalib wrapper-lib which allows us to run traditional SDOOM on GGI. Driver-library LibGGI makes use of driver-libraries to adapt to the specific features of the underlying hardware or protocol. Examples of that are the various linear-*.so files. Note that a target uses and can in itself be a driver-library. Extension LibGGI allows the registration of extensions which are systems designed to add capabilities to LibGGI. The only existing extension so far is GGIMesa. An extension may make use of standard driver-libraries as well as extension-driver-libraries which are supposed to come with the extension. Normally there is a extension-driver-library for any normal driver-library. Bridge A bridge is a way to make KGI drivers resemble a foreign driver model. This is normally done by changing the "kernel-driver" of a kgi module. The SUID bridge would make a special "module" which gets loaded as a dynamically loadable library by a yet-to-be-made LibGGI target in userspace. This requires the application to be suid-root, as the loaded module will whack at the hardware directly. Please note, that this is not possible with every hardware (IRQs, DMA and simulating non-native membuffer gemometry is not possible), but with the right helper libs this target would give maximum speed (no kernel mode ...) and usability under non-KGI kernels at the cost of stability. EvStack EvStack means making console-subsystems (keymapper, drivers, /dev/tty, ...) communicate using events instead of function calls. 2. Graphics terms Pixel or 'picture element' refers to a small rectangular part of an image. It has some attributes associated, e.g. a certain color, texture etc, which are assumed to be constant over the whole area covered by it. All pixels are assumed to have the same shape and size. A pixel is the smallest element of a picture that can be controlled independently of the other pixels in its attributes. Dot is the smallest unit that can be addressed for an image. For uniform pixels this may be the pixel itself; for textured pixels, such as character glyphs, a dot is a pixel of the texture which is assumed to be uniform. We will use this to refer to sub-pixel coordinates, e.g. for a graphical pointer in textmode. As with pixels, dots are assumed to have the same shape, size, color and intensity over the whole area covered. They have only a uniform texture.