1 | /* $Id: libcaca.dox 823 2006-04-21 16:27:43Z sam $ */ |
---|
2 | |
---|
3 | /** \mainpage libcaca Developer Documentation |
---|
4 | |
---|
5 | \section intro Introduction |
---|
6 | |
---|
7 | \e libcaca is a graphics library that outputs text instead of pixels, |
---|
8 | so that it can work on older video cards or text terminals. It is not |
---|
9 | unlike the famous AAlib library. \e libcaca can use almost any virtual |
---|
10 | terminal to work, thus it should work on all Unix systems (including |
---|
11 | Mac OS X) using either the slang library or the ncurses library, on DOS |
---|
12 | using the conio library, and on Windows systems using either slang or |
---|
13 | ncurses (through Cygwin emulation) or conio. There is also a native X11 |
---|
14 | driver, and an OpenGL driver (through freeglut) that does not require a |
---|
15 | text terminal. For machines without a screen, the raw driver can be used |
---|
16 | to send the output to another machine, using for instance cacaserver. |
---|
17 | |
---|
18 | \e libcaca is free software, released under the Do What The Fuck You |
---|
19 | Want To Public License. This ensures that no one, not even the \e libcaca |
---|
20 | developers, will ever have anything to say about what you do with the |
---|
21 | software. It used to be licensed under the GNU Lesser General Public |
---|
22 | License, but that was not free enough. |
---|
23 | |
---|
24 | \section api The libcaca API |
---|
25 | |
---|
26 | \e libcaca relies on a low-level, device independent library, called |
---|
27 | \e libcucul. \e libcucul can be used alone as a simple ASCII and/or |
---|
28 | Unicode compositing canvas. |
---|
29 | |
---|
30 | The complete \e libcucul and \e libcaca programming interface is |
---|
31 | available from the cucul.h and caca.h headers. |
---|
32 | |
---|
33 | \section env Environment variables |
---|
34 | |
---|
35 | Some environment variables can be used to change the behaviour of |
---|
36 | \e libcaca without having to modify the program which uses them. These |
---|
37 | variables are: |
---|
38 | |
---|
39 | \li \b CACA_DRIVER: set the backend video driver. In order of preference: |
---|
40 | - \c conio uses the DOS conio.h interface. |
---|
41 | - \c ncurses uses the ncurses library. |
---|
42 | - \c slang uses the S-Lang library. |
---|
43 | - \c x11 uses the native X11 driver. |
---|
44 | - \c gl uses freeglut and opengl libraries. |
---|
45 | - \c raw outputs to the standard output instead of rendering the |
---|
46 | canvas. This is can be used together with cacaserver. |
---|
47 | |
---|
48 | \li \b CACA_GEOMETRY: set the video display size. The format of this |
---|
49 | variable must be XxY, with X and Y being integer values. This option |
---|
50 | currently works with the network, X11 and GL drivers. |
---|
51 | |
---|
52 | \li \b CACA_FONT: set the rendered font. The format of this variable is |
---|
53 | implementation dependent, but since it currently only works with the |
---|
54 | X11 driver, an X11 font name such as "fixed" or "5x7" is expected. |
---|
55 | |
---|
56 | \section Misc |
---|
57 | |
---|
58 | - \subpage news |
---|
59 | - \subpage authors |
---|
60 | - \subpage thanks |
---|
61 | - \subpage todo |
---|
62 | |
---|
63 | */ |
---|