Chapter 1. What is GGI?

Table of Contents
Synopsis
Organisation of the book

Synopsis

GGI stands for General Graphic Interface. It consists of a set of libraries that provides high-level access to many graphic devices. The project was created when a group of people realized that linux won't go far with X or svgalib as the only graphic subsystem, the first one being too heavy for lightweight 2D graphic applications, and the second one too tied to the PC SVGA architecture.

GGI aims to develop a platform-independent and device-independent yet fast, light, reliable and expandable user-space library for 2D (and 3D) graphics.

Organisation of the book

This book covers (hopefully) all aspects of the GGI project, from the user to the developer perspective.

The first part provides a general overview of GGI, the concepts, organization... The second part describes the installation procedure and configuration; in short, all you need to know to get GGI rolling. The next part explains the GGI internals to the developers of GGI-based application. The fourth part deals with the extension mechanism, allowing advanced developers to further expand GGI. The fifth part gathers the API references for the core GGI libs, as well as the docmentations for available targets and input modules.

Notations

Here are samples of the notation used in this book.

This is a screenshot.

root@work / > rm -rf /*
root@home / > cd pub; more beer

This is an program listing.

#include <stdio.h>

/* The most (in)famous C program under the sun. */

int main() {
       printf("Hello world!\n");
       return 0;
}

This is an example.

Example 1-1. A simple example

This is a example of an example. Kind of meta.

This is a Question/Answer.

1. What is this?

1. What is this?

This is a question, followed by its answer.