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> | |||
o main programmer | |||
- main programmer | |||
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> | |||
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 | |||
* 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 | |||
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, | |||
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 | |||
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) | |||
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 | |||
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. | |||
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). | |||
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) | |||
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 | |||
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) | |||
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. | |||
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 | |||
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. | |||
*/ | |||
/** \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__ | |||
#define __CACA_H__ | |||
@@ -1,6 +1,6 @@ | |||
# $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 | |||
@@ -244,7 +244,7 @@ EXTRACT_STATIC = NO | |||
# defined locally in source files will be included in the documentation. | |||
# 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 | |||
# 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 | |||
# 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 | |||
# 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 | |||
# 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 | |||
# 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 | |||
# with spaces. | |||
INPUT = @top_srcdir@/cucul \ | |||
INPUT = @top_srcdir@ \ | |||
@top_srcdir@/doc \ | |||
@top_srcdir@/cucul \ | |||
@top_srcdir@/caca | |||
# 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 | |||
# *.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 | |||
# should be searched for input files as well. Possible values are YES and NO. | |||
# If left blank NO is used. | |||
RECURSIVE = YES | |||
RECURSIVE = NO | |||
# 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 | |||
# 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 | |||
# 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 | |||
# 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 | |||
@@ -712,7 +713,7 @@ TOC_EXPAND = NO | |||
# top of each HTML page. The value NO (the default) enables the index and | |||
# 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]) | |||
# 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.) | |||
# in the output. | |||
LATEX_HIDE_INDICES = NO | |||
LATEX_HIDE_INDICES = YES | |||
#--------------------------------------------------------------------------- | |||
# 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 | |||
*/ |