documentation page from caca.h to a separate file.tags/v0.99.beta14
@@ -1,15 +1,16 @@ | |||||
$Id$ | |||||
/* $Id$ */ /** \page authors Authors | |||||
Sam Hocevar <sam@zoy.org> | Sam Hocevar <sam@zoy.org> | ||||
o main programmer | |||||
- main programmer | |||||
Jean-Yves Lamoureux <jylam@lnxscene.org> | Jean-Yves Lamoureux <jylam@lnxscene.org> | ||||
o cacaball | |||||
o OpenGL driver | |||||
o Pypycaca Python wrapper | |||||
o exporters | |||||
o network driver | |||||
- cacaball | |||||
- OpenGL driver | |||||
- Pypycaca Python wrapper | |||||
- exporters | |||||
- network driver | |||||
John Beppu <beppu@lbox.org> | John Beppu <beppu@lbox.org> | ||||
o Term::Caca Perl wrapper | |||||
- Term::Caca Perl wrapper | |||||
*/ |
@@ -1,79 +1,71 @@ | |||||
$Id$ | |||||
/* $Id$ */ /** \page news News | |||||
Changes between 0.8 and 0.9: | |||||
---------------------------- | |||||
\section news0_9 Changes between 0.8 and 0.9 | |||||
* fix for a buffer overflow in the line rendering | |||||
* fixed resizing in the ncurses and slang drivers | |||||
* aspect ratio and finer zoom support in cacaview | |||||
* minor compilation fixes | |||||
- fix for a buffer overflow in the line rendering | |||||
- fixed resizing in the ncurses and slang drivers | |||||
- aspect ratio and finer zoom support in cacaview | |||||
- minor compilation fixes | |||||
Changes between 0.7 and 0.8: | |||||
---------------------------- | |||||
\section news0_8 Changes between 0.7 and 0.8 | |||||
* window resizing support | |||||
* native Win32 port | |||||
* autorepeat emulation in the ncurses and slang drivers | |||||
* support for more keycodes in the ncurses and slang drivers | |||||
* cacaplas, a plasma animation example | |||||
* cacamoir, a moiré circles animation example | |||||
* MSVC project file | |||||
- window resizing support | |||||
- native Win32 port | |||||
- autorepeat emulation in the ncurses and slang drivers | |||||
- support for more keycodes in the ncurses and slang drivers | |||||
- cacaplas, a plasma animation example | |||||
- cacamoir, a moiré circles animation example | |||||
- MSVC project file | |||||
Changes between 0.6 and 0.7: | |||||
---------------------------- | |||||
\section news0_7 Changes between 0.6 and 0.7 | |||||
* many bugfixes in the event handling | |||||
* cacaball, a metaball animation example | |||||
- many bugfixes in the event handling | |||||
- cacaball, a metaball animation example | |||||
Changes between 0.5 and 0.6: | |||||
---------------------------- | |||||
\section news0_6 Changes between 0.5 and 0.6 | |||||
* 30% speed increase in the bitmap rendering routine | |||||
* mouse support and various speed optimisations in the X11 driver | |||||
* X11 is now the preferred driver | |||||
* improved documentation | |||||
* minor bugfixes | |||||
- 30% speed increase in the bitmap rendering routine | |||||
- mouse support and various speed optimisations in the X11 driver | |||||
- X11 is now the preferred driver | |||||
- improved documentation | |||||
- minor bugfixes | |||||
Changes between 0.4 and 0.5: | |||||
---------------------------- | |||||
\section news0_5 Changes between 0.4 and 0.5 | |||||
* palette optimisation for the S-Lang driver to work around the colour pair | |||||
- palette optimisation for the S-Lang driver to work around the colour pair | |||||
shortage bug | shortage bug | ||||
* minor compilation fix | |||||
- minor compilation fix | |||||
Changes between 0.3 and 0.4: | |||||
---------------------------- | |||||
\section news0_4 Changes between 0.3 and 0.4 | |||||
* preliminary X11 graphics driver | |||||
* support for simultaneously compiled-in drivers | |||||
* honour the CACA_DRIVER, CACA_GEOMETRY and CACA_FONT environment variables | |||||
* more documentation | |||||
- preliminary X11 graphics driver | |||||
- support for simultaneously compiled-in drivers | |||||
- honour the CACA_DRIVER, CACA_GEOMETRY and CACA_FONT environment variables | |||||
- more documentation | |||||
Changes between 0.2 and 0.3: | |||||
---------------------------- | |||||
\section news0_3 Changes between 0.2 and 0.3 | |||||
* antialiasing support | |||||
* dithering, antialiasing and background mode can now be selected at | |||||
- antialiasing support | |||||
- dithering, antialiasing and background mode can now be selected at | |||||
runtime or in the environment using the CACA_BACKGROUND, CACA_DITHERING | runtime or in the environment using the CACA_BACKGROUND, CACA_DITHERING | ||||
and CACA_ANTIALIASING variables | and CACA_ANTIALIASING variables | ||||
* alpha channel support in cacaview | |||||
* BMP loading support in cacaview even if Imlib2 is not present | |||||
* cacafire, a libcaca port of aafire | |||||
- alpha channel support in cacaview | |||||
- BMP loading support in cacaview even if Imlib2 is not present | |||||
- cacafire, a libcaca port of aafire | |||||
Changes between 0.1 and 0.2: | |||||
---------------------------- | |||||
\section news0_2 Changes between 0.1 and 0.2 | |||||
* rendering now uses 256 colour pairs instead of 16 | |||||
* mouse support for ncurses | |||||
* ncurses is now the preferred backend | |||||
* arbitrary color depth and bitmasks in the bitmap renderer | |||||
* cacaview, an image viewer based on libcaca | |||||
- rendering now uses 256 colour pairs instead of 16 | |||||
- mouse support for ncurses | |||||
- ncurses is now the preferred backend | |||||
- arbitrary color depth and bitmasks in the bitmap renderer | |||||
- cacaview, an image viewer based on libcaca | |||||
New in 0.1 | |||||
---------- | |||||
\section news_0_1 New in 0.1 | |||||
* initial release | |||||
* slang, ncurses and conio drivers | |||||
* basic line, box, ellipse and triangle primitives | |||||
* colour bitmap blitting | |||||
- initial release | |||||
- slang, ncurses and conio drivers | |||||
- basic line, box, ellipse and triangle primitives | |||||
- colour bitmap blitting | |||||
*/ |
@@ -1,21 +1,23 @@ | |||||
$Id$ | |||||
/* $Id$ */ /** \page thanks Thanks | |||||
Bugfixes and improvements | |||||
========================= | |||||
Gildas Bazin <gbazin@netcourrier.com> - win32 driver improvements | |||||
Jari Komppa <jari.komppa at gmail> - win32 speed improvements | |||||
\section thanks1 Bugfixes and improvements | |||||
Reused code | |||||
=========== | |||||
Jan Hubicka <hubicka@freesoft.cz> - aafire | |||||
Michele Bini <mibin@tin.it> - original SDL plasma | |||||
Free Software Foundation, Inc. - multiboot.S | |||||
- Gildas Bazin <gbazin@netcourrier.com> - win32 driver improvements | |||||
- Jari Komppa <jari.komppa at gmail> - win32 speed improvements | |||||
Porters and packagers | |||||
===================== | |||||
Derk-Jan Hartman <thedj@users.sourceforge.net> - Gentoo ebuild file | |||||
Ladislav Hagara <hgr@vabo.cz> - Source Mage spell | |||||
Philip Balinov - Slackware package | |||||
Richard Zidlicky <rz@linux-m68k.org> - rpm specfile | |||||
Thomas Klausner <wiz@NetBSD.org> - NetBSD port maintainer | |||||
Vincent Tantardini <vinc@FreeBSD-fr.org> - FreeBSD port maintainer | |||||
\section thanks2 Reused code | |||||
- Jan Hubicka <hubicka@freesoft.cz> - aafire | |||||
- Michele Bini <mibin@tin.it> - original SDL plasma | |||||
- Free Software Foundation, Inc. - multiboot.S | |||||
\section thanks3 Porters and packagers | |||||
- Derk-Jan Hartman <thedj@users.sourceforge.net> - Gentoo ebuild file | |||||
- Ladislav Hagara <hgr@vabo.cz> - Source Mage spell | |||||
- Philip Balinov - Slackware package | |||||
- Richard Zidlicky <rz@linux-m68k.org> - rpm specfile | |||||
- Thomas Klausner <wiz@NetBSD.org> - NetBSD port maintainer | |||||
- Vincent Tantardini <vinc@FreeBSD-fr.org> - FreeBSD port maintainer | |||||
*/ |
@@ -1,145 +1,134 @@ | |||||
$Id$ | |||||
/* $Id$ */ /** \page todo TODO list | |||||
libcucul | |||||
======== | |||||
\section libcucul libcucul | |||||
API-dependent stuff | |||||
------------------- | |||||
\subsection dep API-dependent stuff | |||||
o all the sprite stuff (loading, saving, blitting, transparency | |||||
- all the sprite stuff (loading, saving, blitting, transparency | |||||
support, background colour support, thinking of a storage format, | support, background colour support, thinking of a storage format, | ||||
etc.) | etc.) | ||||
o Or maybe, instead of doing shit with the sprites, just allow canvases | |||||
- Or maybe, instead of doing shit with the sprites, just allow canvases | |||||
to have several buffers, allow to change the active buffer, and treat | to have several buffers, allow to change the active buffer, and treat | ||||
sprites like that. | sprites like that. | ||||
o ASCII/ANSI art loading functions (maybe load them as sprites) | |||||
- ASCII/ANSI art loading functions (maybe load them as sprites) | |||||
API-independent stuff | |||||
--------------------- | |||||
\subsection indep API-independent stuff | |||||
o support for transparency (CUCUL_COLOR_TRANSPARENT) | |||||
- support for transparency (CUCUL_COLOR_TRANSPARENT) | |||||
o Brightness, contrast support for bitmaps (the functions are here, we | |||||
- Brightness, contrast support for bitmaps (the functions are here, we | |||||
just need to fill them) | just need to fill them) | ||||
o Error distribution dithering | |||||
- Error distribution dithering | |||||
o Add a random factor to the random ditherer. No need to change the API | |||||
- Add a random factor to the random ditherer. No need to change the API | |||||
for that, we can just pass "random:10" instead of "random" to the | for that, we can just pass "random:10" instead of "random" to the | ||||
cucul_set_bitmap_dithering() function. | cucul_set_bitmap_dithering() function. | ||||
o Implement the colour modes set in cucul_set_bitmap_color(). For the | |||||
- Implement the colour modes set in cucul_set_bitmap_color(). For the | |||||
moment only "full16" and "16" are implemented. | moment only "full16" and "16" are implemented. | ||||
o Fix the thin ellipse rendering (currently it's only |s and -s, we | |||||
- Fix the thin ellipse rendering (currently it's only |s and -s, we | |||||
could make them smoother by using ' ` , etc). | could make them smoother by using ' ` , etc). | ||||
o support for double width glyphs (also needs some libcaca changes) | |||||
- support for double width glyphs (also needs some libcaca changes) | |||||
o better mask support in cucul_blit() | |||||
- better mask support in cucul_blit() | |||||
o factor Unicode character conversions, especially UCS4 -> UTF-8 | |||||
- factor internal Unicode character conversions, especially UCS4 -> UTF-8 | |||||
- optimise exporters so that they do not allocate huge blocks of memory | |||||
when they only need half of it. | |||||
libcaca | |||||
======= | |||||
API-dependent stuff | |||||
------------------- | |||||
\section libcaca libcaca | |||||
o text edit widget with cursor support (I'm unsure about this, it | |||||
\subsection dep API-dependent stuff | |||||
- text edit widget with cursor support (I'm unsure about this, it | |||||
seems pretty difficult) | seems pretty difficult) | ||||
API-independent stuff | |||||
--------------------- | |||||
\subsection indep API-independent stuff | |||||
o Write a Linux console output | |||||
- Write a Linux console output | |||||
o Better keyboard driver in an X terminal, see | |||||
- Better keyboard driver in an X terminal, see | |||||
http://groups.yahoo.com/group/zepp/message/381 | http://groups.yahoo.com/group/zepp/message/381 | ||||
o Unicode support for X11 (maybe through Xft) | |||||
- Unicode support for X11 (maybe through Xft) | |||||
o fix Unicode support for ncurses | |||||
- fix Unicode support for ncurses | |||||
o Unicode support for GL | |||||
- Unicode support for GL | |||||
o and Jylam wants a framebuffer output | |||||
- and Jylam wants a framebuffer output | |||||
Language bindings | |||||
================= | |||||
\section bindings Language bindings | |||||
Needed | |||||
------ | |||||
\subsection needed Needed | |||||
o Fix Python | |||||
- Fix Python | |||||
o Fix Perl | |||||
- Fix Perl | |||||
o C# (it's the next big thing, believe me) | |||||
- C# (it's the next big thing, believe me) | |||||
o PHP (together with the HTML output it would allow for nice web | |||||
- PHP (together with the HTML output it would allow for nice web | |||||
applications) | applications) | ||||
Not that important | |||||
------------------ | |||||
\subsection notimp Not that important | |||||
o Ruby | |||||
- Ruby | |||||
o Java | |||||
- Java | |||||
Kernel mode | |||||
=========== | |||||
\section kernel Kernel mode | |||||
o keyboard support | |||||
- keyboard support | |||||
o printf/fprintf are missing | |||||
- printf/fprintf are missing | |||||
o Improve malloc/free so that we can reuse freed memory | |||||
- Improve malloc/free so that we can reuse freed memory | |||||
Documentation | |||||
============= | |||||
\section doc Documentation | |||||
o Write a tutorial. | |||||
- Write a tutorial. | |||||
o Draw a nicer logo | |||||
- Draw a nicer logo | |||||
Applications | |||||
============ | |||||
\section apps Applications | |||||
cacaview | |||||
-------- | |||||
\section cacaview cacaview | |||||
o File browser | |||||
- File browser | |||||
o open ANSI files | |||||
- open ANSI files | |||||
o save in different formats | |||||
- save in different formats | |||||
cacadraw | |||||
-------- | |||||
\section cacadraw cacadraw | |||||
o Does not exist yet, but I want it. A modern ANSI editor that can also | |||||
- Does not exist yet, but I want it. A modern ANSI editor that can also | |||||
do Unicode. | do Unicode. | ||||
CUCUlet | |||||
------- | |||||
\section cuculet CUCUlet | |||||
o Does not exist yet, but I want it. A replacement for FIGlet that can | |||||
- Does not exist yet, but I want it. A replacement for FIGlet that can | |||||
also do Unicode | also do Unicode | ||||
o Colour support, of course: outputs to IRC, ANSI, HTML... | |||||
- Colour support, of course: outputs to IRC, ANSI, HTML... | |||||
o Can open FIGlet fonts | |||||
- Can open FIGlet fonts | |||||
*/ |
@@ -20,60 +20,6 @@ | |||||
* using \e libcaca may use. | * using \e libcaca may use. | ||||
*/ | */ | ||||
/** \mainpage libcaca developer documentation | |||||
* | |||||
* \section intro Introduction | |||||
* | |||||
* \e libcaca is a graphics library that outputs text instead of pixels, | |||||
* so that it can work on older video cards or text terminals. It is not | |||||
* unlike the famous AAlib library. \e libcaca can use almost any virtual | |||||
* terminal to work, thus it should work on all Unix systems (including | |||||
* Mac OS X) using either the slang library or the ncurses library, on DOS | |||||
* using the conio library, and on Windows systems using either slang or | |||||
* ncurses (through Cygwin emulation) or conio. There is also a native X11 | |||||
* driver, and an OpenGL driver (through freeglut) that does not require a | |||||
* text terminal. For machines without a screen, the raw driver can be used | |||||
* to send the output to another machine, using for instance cacaserver. | |||||
* | |||||
* \e libcaca is free software, released under the Do What The Fuck You | |||||
* Want To Public License. This ensures that no one, not even the \e libcaca | |||||
* developers, will ever have anything to say about what you do with the | |||||
* software. It used to be licensed under the GNU Lesser General Public | |||||
* License, but that was not free enough. | |||||
* | |||||
* \section api The libcaca API | |||||
* | |||||
* \e libcaca relies on a low-level, device independent library, called | |||||
* \e libcucul. \e libcucul can be used alone as a simple ASCII and/or | |||||
* Unicode compositing canvas. | |||||
* | |||||
* The complete \e libcucul and \e libcaca programming interface is | |||||
* available from the cucul.h and caca.h headers. | |||||
* | |||||
* \section env Environment variables | |||||
* | |||||
* Some environment variables can be used to change the behaviour of | |||||
* \e libcaca without having to modify the program which uses them. These | |||||
* variables are: | |||||
* | |||||
* \li \b CACA_DRIVER: set the backend video driver. In order of preference: | |||||
* - \c conio uses the DOS conio.h interface. | |||||
* - \c ncurses uses the ncurses library. | |||||
* - \c slang uses the S-Lang library. | |||||
* - \c x11 uses the native X11 driver. | |||||
* - \c gl uses freeglut and opengl libraries. | |||||
* - \c raw outputs to the standard output instead of rendering the | |||||
* canvas. This is can be used together with cacaserver. | |||||
* | |||||
* \li \b CACA_GEOMETRY: set the video display size. The format of this | |||||
* variable must be XxY, with X and Y being integer values. This option | |||||
* currently works with the network, X11 and GL drivers. | |||||
* | |||||
* \li \b CACA_FONT: set the rendered font. The format of this variable is | |||||
* implementation dependent, but since it currently only works with the | |||||
* X11 driver, an X11 font name such as "fixed" or "5x7" is expected. | |||||
*/ | |||||
#ifndef __CACA_H__ | #ifndef __CACA_H__ | ||||
#define __CACA_H__ | #define __CACA_H__ | ||||
@@ -1,6 +1,6 @@ | |||||
# $Id$ | # $Id$ | ||||
EXTRA_DIST = doxygen.cfg.in footer.html header.html $(man_MANS) | |||||
EXTRA_DIST = doxygen.cfg.in footer.html header.html libcaca.dox $(man_MANS) | |||||
man_MANS = caca-config.1 cacafire.1 cacaview.1 | man_MANS = caca-config.1 cacafire.1 cacaview.1 | ||||
@@ -244,7 +244,7 @@ EXTRACT_STATIC = NO | |||||
# defined locally in source files will be included in the documentation. | # defined locally in source files will be included in the documentation. | ||||
# If set to NO only classes defined in header files are included. | # If set to NO only classes defined in header files are included. | ||||
EXTRACT_LOCAL_CLASSES = YES | |||||
EXTRACT_LOCAL_CLASSES = NO | |||||
# This flag is only useful for Objective-C code. When set to YES local | # This flag is only useful for Objective-C code. When set to YES local | ||||
# methods, which are defined in the implementation section but not in | # methods, which are defined in the implementation section but not in | ||||
@@ -319,7 +319,7 @@ INLINE_INFO = YES | |||||
# alphabetically by member name. If set to NO the members will appear in | # alphabetically by member name. If set to NO the members will appear in | ||||
# declaration order. | # declaration order. | ||||
SORT_MEMBER_DOCS = YES | |||||
SORT_MEMBER_DOCS = NO | |||||
# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the | # If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the | ||||
# brief documentation of file, namespace and class members alphabetically | # brief documentation of file, namespace and class members alphabetically | ||||
@@ -381,7 +381,7 @@ MAX_INITIALIZER_LINES = 30 | |||||
# at the bottom of the documentation of classes and structs. If set to YES the | # at the bottom of the documentation of classes and structs. If set to YES the | ||||
# list will mention the files that were used to generate the documentation. | # list will mention the files that were used to generate the documentation. | ||||
SHOW_USED_FILES = YES | |||||
SHOW_USED_FILES = NO | |||||
# If the sources in your project are distributed over multiple directories | # If the sources in your project are distributed over multiple directories | ||||
# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy | # then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy | ||||
@@ -459,7 +459,9 @@ WARN_LOGFILE = | |||||
# directories like "/usr/src/myproject". Separate the files or directories | # directories like "/usr/src/myproject". Separate the files or directories | ||||
# with spaces. | # with spaces. | ||||
INPUT = @top_srcdir@/cucul \ | |||||
INPUT = @top_srcdir@ \ | |||||
@top_srcdir@/doc \ | |||||
@top_srcdir@/cucul \ | |||||
@top_srcdir@/caca | @top_srcdir@/caca | ||||
# If the value of the INPUT tag contains directories, you can use the | # If the value of the INPUT tag contains directories, you can use the | ||||
@@ -469,21 +471,20 @@ INPUT = @top_srcdir@/cucul \ | |||||
# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx | # *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx | ||||
# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py | # *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py | ||||
FILE_PATTERNS = *.c \ | |||||
cucul.h \ | |||||
caca.h | |||||
FILE_PATTERNS = *.dox *.c cucul.h caca.h \ | |||||
NEWS AUTHORS THANKS TODO | |||||
# The RECURSIVE tag can be used to turn specify whether or not subdirectories | # The RECURSIVE tag can be used to turn specify whether or not subdirectories | ||||
# should be searched for input files as well. Possible values are YES and NO. | # should be searched for input files as well. Possible values are YES and NO. | ||||
# If left blank NO is used. | # If left blank NO is used. | ||||
RECURSIVE = YES | |||||
RECURSIVE = NO | |||||
# The EXCLUDE tag can be used to specify files and/or directories that should | # The EXCLUDE tag can be used to specify files and/or directories that should | ||||
# excluded from the INPUT source files. This way you can easily exclude a | # excluded from the INPUT source files. This way you can easily exclude a | ||||
# subdirectory from a directory tree whose root is specified with the INPUT tag. | # subdirectory from a directory tree whose root is specified with the INPUT tag. | ||||
EXCLUDE = ../src/config.h | |||||
EXCLUDE = | |||||
# The EXCLUDE_SYMLINKS tag can be used select whether or not files or | # The EXCLUDE_SYMLINKS tag can be used select whether or not files or | ||||
# directories that are symbolic links (a Unix filesystem feature) are excluded | # directories that are symbolic links (a Unix filesystem feature) are excluded | ||||
@@ -597,7 +598,7 @@ USE_HTAGS = NO | |||||
# will generate a verbatim copy of the header file for each class for | # will generate a verbatim copy of the header file for each class for | ||||
# which an include is specified. Set to NO to disable this. | # which an include is specified. Set to NO to disable this. | ||||
VERBATIM_HEADERS = YES | |||||
VERBATIM_HEADERS = NO | |||||
#--------------------------------------------------------------------------- | #--------------------------------------------------------------------------- | ||||
# configuration options related to the alphabetical class index | # configuration options related to the alphabetical class index | ||||
@@ -712,7 +713,7 @@ TOC_EXPAND = NO | |||||
# top of each HTML page. The value NO (the default) enables the index and | # top of each HTML page. The value NO (the default) enables the index and | ||||
# the value YES disables it. | # the value YES disables it. | ||||
DISABLE_INDEX = NO | |||||
DISABLE_INDEX = YES | |||||
# This tag can be used to set the number of enum values (range [1..20]) | # This tag can be used to set the number of enum values (range [1..20]) | ||||
# that doxygen will group on one line in the generated HTML documentation. | # that doxygen will group on one line in the generated HTML documentation. | ||||
@@ -808,7 +809,7 @@ LATEX_BATCHMODE = YES | |||||
# include the index chapters (such as File Index, Compound Index, etc.) | # include the index chapters (such as File Index, Compound Index, etc.) | ||||
# in the output. | # in the output. | ||||
LATEX_HIDE_INDICES = NO | |||||
LATEX_HIDE_INDICES = YES | |||||
#--------------------------------------------------------------------------- | #--------------------------------------------------------------------------- | ||||
# configuration options related to the RTF output | # configuration options related to the RTF output | ||||
@@ -0,0 +1,63 @@ | |||||
/* $Id$ */ | |||||
/** \mainpage libcaca Developer Documentation | |||||
\section intro Introduction | |||||
\e libcaca is a graphics library that outputs text instead of pixels, | |||||
so that it can work on older video cards or text terminals. It is not | |||||
unlike the famous AAlib library. \e libcaca can use almost any virtual | |||||
terminal to work, thus it should work on all Unix systems (including | |||||
Mac OS X) using either the slang library or the ncurses library, on DOS | |||||
using the conio library, and on Windows systems using either slang or | |||||
ncurses (through Cygwin emulation) or conio. There is also a native X11 | |||||
driver, and an OpenGL driver (through freeglut) that does not require a | |||||
text terminal. For machines without a screen, the raw driver can be used | |||||
to send the output to another machine, using for instance cacaserver. | |||||
\e libcaca is free software, released under the Do What The Fuck You | |||||
Want To Public License. This ensures that no one, not even the \e libcaca | |||||
developers, will ever have anything to say about what you do with the | |||||
software. It used to be licensed under the GNU Lesser General Public | |||||
License, but that was not free enough. | |||||
\section api The libcaca API | |||||
\e libcaca relies on a low-level, device independent library, called | |||||
\e libcucul. \e libcucul can be used alone as a simple ASCII and/or | |||||
Unicode compositing canvas. | |||||
The complete \e libcucul and \e libcaca programming interface is | |||||
available from the cucul.h and caca.h headers. | |||||
\section env Environment variables | |||||
Some environment variables can be used to change the behaviour of | |||||
\e libcaca without having to modify the program which uses them. These | |||||
variables are: | |||||
\li \b CACA_DRIVER: set the backend video driver. In order of preference: | |||||
- \c conio uses the DOS conio.h interface. | |||||
- \c ncurses uses the ncurses library. | |||||
- \c slang uses the S-Lang library. | |||||
- \c x11 uses the native X11 driver. | |||||
- \c gl uses freeglut and opengl libraries. | |||||
- \c raw outputs to the standard output instead of rendering the | |||||
canvas. This is can be used together with cacaserver. | |||||
\li \b CACA_GEOMETRY: set the video display size. The format of this | |||||
variable must be XxY, with X and Y being integer values. This option | |||||
currently works with the network, X11 and GL drivers. | |||||
\li \b CACA_FONT: set the rendered font. The format of this variable is | |||||
implementation dependent, but since it currently only works with the | |||||
X11 driver, an X11 font name such as "fixed" or "5x7" is expected. | |||||
\section Misc | |||||
- \subpage news | |||||
- \subpage authors | |||||
- \subpage thanks | |||||
- \subpage todo | |||||
*/ |