| @@ -3,8 +3,6 @@ | |||||
| * Copyright (c) 2002, 2003 Sam Hocevar <sam@zoy.org> | * Copyright (c) 2002, 2003 Sam Hocevar <sam@zoy.org> | ||||
| * All Rights Reserved | * All Rights Reserved | ||||
| * | * | ||||
| * $Id$ | |||||
| * | |||||
| * This library is free software; you can redistribute it and/or | * This library is free software; you can redistribute it and/or | ||||
| * modify it under the terms of the GNU Lesser General Public | * modify it under the terms of the GNU Lesser General Public | ||||
| * License as published by the Free Software Foundation; either | * License as published by the Free Software Foundation; either | ||||
| @@ -21,6 +19,14 @@ | |||||
| * 02111-1307 USA | * 02111-1307 USA | ||||
| */ | */ | ||||
| /** \file blit.c | |||||
| * \version \$Id$ | |||||
| * \author Sam Hocevar <sam@zoy.org> | |||||
| * \brief Bitmap functions | |||||
| * | |||||
| * This file contains bitmap blitting functions. | |||||
| */ | |||||
| #include "config.h" | #include "config.h" | ||||
| #ifdef HAVE_INTTYPES_H | #ifdef HAVE_INTTYPES_H | ||||
| @@ -3,8 +3,6 @@ | |||||
| * Copyright (c) 2002, 2003 Sam Hocevar <sam@zoy.org> | * Copyright (c) 2002, 2003 Sam Hocevar <sam@zoy.org> | ||||
| * All Rights Reserved | * All Rights Reserved | ||||
| * | * | ||||
| * $Id$ | |||||
| * | |||||
| * This library is free software; you can redistribute it and/or | * This library is free software; you can redistribute it and/or | ||||
| * modify it under the terms of the GNU Lesser General Public | * modify it under the terms of the GNU Lesser General Public | ||||
| * License as published by the Free Software Foundation; either | * License as published by the Free Software Foundation; either | ||||
| @@ -21,6 +19,14 @@ | |||||
| * 02111-1307 USA | * 02111-1307 USA | ||||
| */ | */ | ||||
| /** \file box.c | |||||
| * \version \$Id$ | |||||
| * \author Sam Hocevar <sam@zoy.org> | |||||
| * \brief Simple box drawing functions | |||||
| * | |||||
| * This file contains box drawing functions, both filled and outline. | |||||
| */ | |||||
| #include "config.h" | #include "config.h" | ||||
| #include <stdlib.h> | #include <stdlib.h> | ||||
| @@ -3,8 +3,6 @@ | |||||
| * Copyright (c) 2002, 2003 Sam Hocevar <sam@zoy.org> | * Copyright (c) 2002, 2003 Sam Hocevar <sam@zoy.org> | ||||
| * All Rights Reserved | * All Rights Reserved | ||||
| * | * | ||||
| * $Id$ | |||||
| * | |||||
| * This library is free software; you can redistribute it and/or | * This library is free software; you can redistribute it and/or | ||||
| * modify it under the terms of the GNU Lesser General Public | * modify it under the terms of the GNU Lesser General Public | ||||
| * License as published by the Free Software Foundation; either | * License as published by the Free Software Foundation; either | ||||
| @@ -21,6 +19,16 @@ | |||||
| * 02111-1307 USA | * 02111-1307 USA | ||||
| */ | */ | ||||
| /** \file caca.c | |||||
| * \version \$Id$ | |||||
| * \author Sam Hocevar <sam@zoy.org> | |||||
| * \brief Main \e libcaca functions | |||||
| * | |||||
| * This file contains the main functions used by \e libcaca applications to | |||||
| * initialise the library, get the screen properties, set the framerate and | |||||
| * so on. | |||||
| */ | |||||
| #include "config.h" | #include "config.h" | ||||
| #if defined(USE_SLANG) | #if defined(USE_SLANG) | ||||
| @@ -3,8 +3,6 @@ | |||||
| * Copyright (c) 2002, 2003 Sam Hocevar <sam@zoy.org> | * Copyright (c) 2002, 2003 Sam Hocevar <sam@zoy.org> | ||||
| * All Rights Reserved | * All Rights Reserved | ||||
| * | * | ||||
| * $Id$ | |||||
| * | |||||
| * This library is free software; you can redistribute it and/or | * This library is free software; you can redistribute it and/or | ||||
| * modify it under the terms of the GNU Lesser General Public | * modify it under the terms of the GNU Lesser General Public | ||||
| * License as published by the Free Software Foundation; either | * License as published by the Free Software Foundation; either | ||||
| @@ -21,6 +19,37 @@ | |||||
| * 02111-1307 USA | * 02111-1307 USA | ||||
| */ | */ | ||||
| /** \file caca.h | |||||
| * \version \$Id$ | |||||
| * \author Sam Hocevar <sam@zoy.org> | |||||
| * \brief The \e libcaca public header. | |||||
| * | |||||
| * This header contains the public types and functions that applications | |||||
| * 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. libcaca needs a 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. | |||||
| * | |||||
| * \e libcaca is free software, released under the GNU Lesser General | |||||
| * Public License. This ensures that \e libcaca will always remain free | |||||
| * software. | |||||
| * | |||||
| * \section api The libcaca API | |||||
| * | |||||
| * The complete \e libcaca programming interface is available from the | |||||
| * caca.h file. | |||||
| */ | |||||
| #ifndef __CACA_H__ | #ifndef __CACA_H__ | ||||
| #define __CACA_H__ | #define __CACA_H__ | ||||
| @@ -29,8 +58,8 @@ extern "C" | |||||
| { | { | ||||
| #endif | #endif | ||||
| /* | |||||
| * Colors | |||||
| /** | |||||
| * The colour definitions to be used with caca_set_color(). | |||||
| */ | */ | ||||
| enum caca_color | enum caca_color | ||||
| { | { | ||||
| @@ -52,8 +81,8 @@ enum caca_color | |||||
| CACA_COLOR_WHITE = 15 | CACA_COLOR_WHITE = 15 | ||||
| }; | }; | ||||
| /* | |||||
| * Dithering modes | |||||
| /** | |||||
| * The dithering modes to be used with caca_set_dithering(). | |||||
| */ | */ | ||||
| enum caca_dithering | enum caca_dithering | ||||
| { | { | ||||
| @@ -62,8 +91,8 @@ enum caca_dithering | |||||
| CACA_DITHER_RANDOM | CACA_DITHER_RANDOM | ||||
| }; | }; | ||||
| /* | |||||
| * Events | |||||
| /** | |||||
| * The event types returned by caca_get_event(). | |||||
| */ | */ | ||||
| enum caca_event | enum caca_event | ||||
| { | { | ||||
| @@ -73,8 +102,8 @@ enum caca_event | |||||
| CACA_EVENT_MOUSE_CLICK = 0x04000000 | CACA_EVENT_MOUSE_CLICK = 0x04000000 | ||||
| }; | }; | ||||
| /* | |||||
| * Keys | |||||
| /** | |||||
| * The special key values returned by caca_get_event(). | |||||
| */ | */ | ||||
| enum caca_key | enum caca_key | ||||
| { | { | ||||
| @@ -100,12 +129,6 @@ enum caca_key | |||||
| CACA_KEY_F15 = 296 | CACA_KEY_F15 = 296 | ||||
| }; | }; | ||||
| /* | |||||
| * Internal types | |||||
| */ | |||||
| struct caca_sprite; | |||||
| struct caca_bitmap; | |||||
| /* | /* | ||||
| * Basic functions | * Basic functions | ||||
| */ | */ | ||||
| @@ -164,6 +187,7 @@ unsigned int caca_sqrt(unsigned int); | |||||
| /* | /* | ||||
| * Sprite handling | * Sprite handling | ||||
| */ | */ | ||||
| struct caca_sprite; | |||||
| struct caca_sprite * caca_load_sprite(const char *); | struct caca_sprite * caca_load_sprite(const char *); | ||||
| int caca_get_sprite_frames(struct caca_sprite *); | int caca_get_sprite_frames(struct caca_sprite *); | ||||
| int caca_get_sprite_width(struct caca_sprite *, int); | int caca_get_sprite_width(struct caca_sprite *, int); | ||||
| @@ -176,6 +200,7 @@ void caca_free_sprite(struct caca_sprite *); | |||||
| /* | /* | ||||
| * Bitmap handling | * Bitmap handling | ||||
| */ | */ | ||||
| struct caca_bitmap; | |||||
| struct caca_bitmap *caca_create_bitmap(int, int, int, int, int, int, int); | struct caca_bitmap *caca_create_bitmap(int, int, int, int, int, int, int); | ||||
| void caca_draw_bitmap(int, int, int, int, struct caca_bitmap *, char *); | void caca_draw_bitmap(int, int, int, int, struct caca_bitmap *, char *); | ||||
| void caca_free_bitmap(struct caca_bitmap *); | void caca_free_bitmap(struct caca_bitmap *); | ||||
| @@ -3,8 +3,6 @@ | |||||
| * Copyright (c) 2002, 2003 Sam Hocevar <sam@zoy.org> | * Copyright (c) 2002, 2003 Sam Hocevar <sam@zoy.org> | ||||
| * All Rights Reserved | * All Rights Reserved | ||||
| * | * | ||||
| * $Id$ | |||||
| * | |||||
| * This library is free software; you can redistribute it and/or | * This library is free software; you can redistribute it and/or | ||||
| * modify it under the terms of the GNU Lesser General Public | * modify it under the terms of the GNU Lesser General Public | ||||
| * License as published by the Free Software Foundation; either | * License as published by the Free Software Foundation; either | ||||
| @@ -21,6 +19,14 @@ | |||||
| * 02111-1307 USA | * 02111-1307 USA | ||||
| */ | */ | ||||
| /** \file caca_internals.h | |||||
| * \version \$Id$ | |||||
| * \author Sam Hocevar <sam@zoy.org> | |||||
| * \brief The \e libcaca private header. | |||||
| * | |||||
| * This header contains the private types and functions used by \e libcaca. | |||||
| */ | |||||
| #ifndef __CACA_INTERNALS_H__ | #ifndef __CACA_INTERNALS_H__ | ||||
| #define __CACA_INTERNALS_H__ | #define __CACA_INTERNALS_H__ | ||||
| @@ -3,8 +3,6 @@ | |||||
| * Copyright (c) 2002, 2003 Sam Hocevar <sam@zoy.org> | * Copyright (c) 2002, 2003 Sam Hocevar <sam@zoy.org> | ||||
| * All Rights Reserved | * All Rights Reserved | ||||
| * | * | ||||
| * $Id$ | |||||
| * | |||||
| * This library is free software; you can redistribute it and/or | * This library is free software; you can redistribute it and/or | ||||
| * modify it under the terms of the GNU Lesser General Public | * modify it under the terms of the GNU Lesser General Public | ||||
| * License as published by the Free Software Foundation; either | * License as published by the Free Software Foundation; either | ||||
| @@ -21,6 +19,15 @@ | |||||
| * 02111-1307 USA | * 02111-1307 USA | ||||
| */ | */ | ||||
| /** \file conic.c | |||||
| * \version \$Id$ | |||||
| * \author Sam Hocevar <sam@zoy.org> | |||||
| * \brief Ellipse and circle drawing functions | |||||
| * | |||||
| * This file contains ellipse and circle drawing functions, both filled | |||||
| * and outline. | |||||
| */ | |||||
| #include "config.h" | #include "config.h" | ||||
| #ifdef HAVE_INTTYPES_H | #ifdef HAVE_INTTYPES_H | ||||
| @@ -3,8 +3,6 @@ | |||||
| * Copyright (c) 2002, 2003 Sam Hocevar <sam@zoy.org> | * Copyright (c) 2002, 2003 Sam Hocevar <sam@zoy.org> | ||||
| * All Rights Reserved | * All Rights Reserved | ||||
| * | * | ||||
| * $Id$ | |||||
| * | |||||
| * This library is free software; you can redistribute it and/or | * This library is free software; you can redistribute it and/or | ||||
| * modify it under the terms of the GNU Lesser General Public | * modify it under the terms of the GNU Lesser General Public | ||||
| * License as published by the Free Software Foundation; either | * License as published by the Free Software Foundation; either | ||||
| @@ -21,6 +19,14 @@ | |||||
| * 02111-1307 USA | * 02111-1307 USA | ||||
| */ | */ | ||||
| /** \file graphics.c | |||||
| * \version \$Id$ | |||||
| * \author Sam Hocevar <sam@zoy.org> | |||||
| * \brief Character drawing functions | |||||
| * | |||||
| * This file contains character and string drawing functions. | |||||
| */ | |||||
| #include "config.h" | #include "config.h" | ||||
| #if defined(USE_SLANG) | #if defined(USE_SLANG) | ||||
| @@ -3,8 +3,6 @@ | |||||
| * Copyright (c) 2002, 2003 Sam Hocevar <sam@zoy.org> | * Copyright (c) 2002, 2003 Sam Hocevar <sam@zoy.org> | ||||
| * All Rights Reserved | * All Rights Reserved | ||||
| * | * | ||||
| * $Id$ | |||||
| * | |||||
| * This library is free software; you can redistribute it and/or | * This library is free software; you can redistribute it and/or | ||||
| * modify it under the terms of the GNU Lesser General Public | * modify it under the terms of the GNU Lesser General Public | ||||
| * License as published by the Free Software Foundation; either | * License as published by the Free Software Foundation; either | ||||
| @@ -21,6 +19,14 @@ | |||||
| * 02111-1307 USA | * 02111-1307 USA | ||||
| */ | */ | ||||
| /** \file io.c | |||||
| * \version \$Id$ | |||||
| * \author Sam Hocevar <sam@zoy.org> | |||||
| * \brief Event handling functions | |||||
| * | |||||
| * This file contains event handling functions for keyboard and mouse input. | |||||
| */ | |||||
| #include "config.h" | #include "config.h" | ||||
| #if defined(USE_SLANG) | #if defined(USE_SLANG) | ||||
| @@ -3,8 +3,6 @@ | |||||
| * Copyright (c) 2002, 2003 Sam Hocevar <sam@zoy.org> | * Copyright (c) 2002, 2003 Sam Hocevar <sam@zoy.org> | ||||
| * All Rights Reserved | * All Rights Reserved | ||||
| * | * | ||||
| * $Id$ | |||||
| * | |||||
| * This library is free software; you can redistribute it and/or | * This library is free software; you can redistribute it and/or | ||||
| * modify it under the terms of the GNU Lesser General Public | * modify it under the terms of the GNU Lesser General Public | ||||
| * License as published by the Free Software Foundation; either | * License as published by the Free Software Foundation; either | ||||
| @@ -21,6 +19,15 @@ | |||||
| * 02111-1307 USA | * 02111-1307 USA | ||||
| */ | */ | ||||
| /** \file line.c | |||||
| * \version \$Id$ | |||||
| * \author Sam Hocevar <sam@zoy.org> | |||||
| * \brief Line drawing functions | |||||
| * | |||||
| * This file contains line and polyline drawing functions, with both thin | |||||
| * and thick styles. | |||||
| */ | |||||
| #include "config.h" | #include "config.h" | ||||
| #ifdef HAVE_INTTYPES_H | #ifdef HAVE_INTTYPES_H | ||||
| @@ -55,7 +62,7 @@ static void draw_thin_line(struct line*); | |||||
| * \param x2 X coordinate of the second point. | * \param x2 X coordinate of the second point. | ||||
| * \param y2 Y coordinate of the second point. | * \param y2 Y coordinate of the second point. | ||||
| * \param c Character to draw the line with. | * \param c Character to draw the line with. | ||||
| * \return nothing | |||||
| * \return void | |||||
| */ | */ | ||||
| void caca_draw_line(int x1, int y1, int x2, int y2, char c) | void caca_draw_line(int x1, int y1, int x2, int y2, char c) | ||||
| { | { | ||||
| @@ -93,7 +100,7 @@ void caca_draw_polyline(const int x[], const int y[], int n, char c) | |||||
| * \param y1 Y coordinate of the first point. | * \param y1 Y coordinate of the first point. | ||||
| * \param x2 X coordinate of the second point. | * \param x2 X coordinate of the second point. | ||||
| * \param y2 Y coordinate of the second point. | * \param y2 Y coordinate of the second point. | ||||
| * \return nothing | |||||
| * \return void | |||||
| */ | */ | ||||
| void caca_draw_thin_line(int x1, int y1, int x2, int y2) | void caca_draw_thin_line(int x1, int y1, int x2, int y2) | ||||
| { | { | ||||
| @@ -130,7 +137,7 @@ void caca_draw_thin_polyline(const int x[], const int y[], int n) | |||||
| * \brief Generic Cohen-Sutherland line clipping function. | * \brief Generic Cohen-Sutherland line clipping function. | ||||
| * | * | ||||
| * \param s a line structure | * \param s a line structure | ||||
| * \return nothing | |||||
| * \return void | |||||
| */ | */ | ||||
| static void clip_line(struct line* s) | static void clip_line(struct line* s) | ||||
| { | { | ||||
| @@ -212,7 +219,7 @@ static uint8_t clip_bits(int x, int y) | |||||
| * scan-conversion algorithm. | * scan-conversion algorithm. | ||||
| * | * | ||||
| * \param s a line structure | * \param s a line structure | ||||
| * \return nothing | |||||
| * \return void | |||||
| */ | */ | ||||
| static void draw_solid_line(struct line* s) | static void draw_solid_line(struct line* s) | ||||
| { | { | ||||
| @@ -279,7 +286,7 @@ static void draw_solid_line(struct line* s) | |||||
| * scan-conversion algorithm and ASCII art graphics. | * scan-conversion algorithm and ASCII art graphics. | ||||
| * | * | ||||
| * \param s a line structure | * \param s a line structure | ||||
| * \return nothing | |||||
| * \return void | |||||
| */ | */ | ||||
| static void draw_thin_line(struct line* s) | static void draw_thin_line(struct line* s) | ||||
| { | { | ||||
| @@ -3,8 +3,6 @@ | |||||
| * Copyright (c) 2002, 2003 Sam Hocevar <sam@zoy.org> | * Copyright (c) 2002, 2003 Sam Hocevar <sam@zoy.org> | ||||
| * All Rights Reserved | * All Rights Reserved | ||||
| * | * | ||||
| * $Id$ | |||||
| * | |||||
| * This library is free software; you can redistribute it and/or | * This library is free software; you can redistribute it and/or | ||||
| * modify it under the terms of the GNU Lesser General Public | * modify it under the terms of the GNU Lesser General Public | ||||
| * License as published by the Free Software Foundation; either | * License as published by the Free Software Foundation; either | ||||
| @@ -21,6 +19,14 @@ | |||||
| * 02111-1307 USA | * 02111-1307 USA | ||||
| */ | */ | ||||
| /** \file math.c | |||||
| * \version \$Id$ | |||||
| * \author Sam Hocevar <sam@zoy.org> | |||||
| * \brief Math functions | |||||
| * | |||||
| * This file contains simple mathematical routines. | |||||
| */ | |||||
| #include "config.h" | #include "config.h" | ||||
| #include <stdlib.h> | #include <stdlib.h> | ||||
| @@ -3,8 +3,6 @@ | |||||
| * Copyright (c) 2002, 2003 Sam Hocevar <sam@zoy.org> | * Copyright (c) 2002, 2003 Sam Hocevar <sam@zoy.org> | ||||
| * All Rights Reserved | * All Rights Reserved | ||||
| * | * | ||||
| * $Id$ | |||||
| * | |||||
| * This library is free software; you can redistribute it and/or | * This library is free software; you can redistribute it and/or | ||||
| * modify it under the terms of the GNU Lesser General Public | * modify it under the terms of the GNU Lesser General Public | ||||
| * License as published by the Free Software Foundation; either | * License as published by the Free Software Foundation; either | ||||
| @@ -21,6 +19,14 @@ | |||||
| * 02111-1307 USA | * 02111-1307 USA | ||||
| */ | */ | ||||
| /** \file sprite.c | |||||
| * \version \$Id$ | |||||
| * \author Sam Hocevar <sam@zoy.org> | |||||
| * \brief Sprite loading and blitting | |||||
| * | |||||
| * This file contains a small framework for sprite loading and blitting. | |||||
| */ | |||||
| #include "config.h" | #include "config.h" | ||||
| #include <stdio.h> | #include <stdio.h> | ||||
| @@ -3,8 +3,6 @@ | |||||
| * Copyright (c) 2002, 2003 Sam Hocevar <sam@zoy.org> | * Copyright (c) 2002, 2003 Sam Hocevar <sam@zoy.org> | ||||
| * All Rights Reserved | * All Rights Reserved | ||||
| * | * | ||||
| * $Id$ | |||||
| * | |||||
| * This library is free software; you can redistribute it and/or | * This library is free software; you can redistribute it and/or | ||||
| * modify it under the terms of the GNU Lesser General Public | * modify it under the terms of the GNU Lesser General Public | ||||
| * License as published by the Free Software Foundation; either | * License as published by the Free Software Foundation; either | ||||
| @@ -21,6 +19,14 @@ | |||||
| * 02111-1307 USA | * 02111-1307 USA | ||||
| */ | */ | ||||
| /** \file triangle.c | |||||
| * \version \$Id$ | |||||
| * \author Sam Hocevar <sam@zoy.org> | |||||
| * \brief Triangle drawing functions | |||||
| * | |||||
| * This file contains triangle drawing functions, both filled and outline. | |||||
| */ | |||||
| #include "config.h" | #include "config.h" | ||||
| #include <stdlib.h> | #include <stdlib.h> | ||||