source: libcaca/trunk/libee/ee.h @ 171

Last change on this file since 171 was 171, checked in by Sam Hocevar, 17 years ago
  • libee/math.c: + ee_sqrt() now uses unsigned ints. + Avoid overflows in ee_sqrt().
  • Property svn:keywords set to Id
File size: 2.8 KB
Line 
1/*
2 *   libee         ASCII-Art library
3 *   Copyright (c) 2002, 2003 Sam Hocevar <sam@zoy.org>
4 *                 All Rights Reserved
5 *
6 *   $Id: ee.h 171 2003-11-14 16:55:58Z sam $
7 *
8 *   This program is free software; you can redistribute it and/or modify
9 *   it under the terms of the GNU General Public License as published by
10 *   the Free Software Foundation; either version 2 of the License, or
11 *   (at your option) any later version.
12 *
13 *   This program is distributed in the hope that it will be useful,
14 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
15 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 *   GNU General Public License for more details.
17 *
18 *   You should have received a copy of the GNU General Public License
19 *   along with this program; if not, write to the Free Software
20 *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
21 */
22
23#ifndef __EE_H__
24#define __EE_H__
25
26#ifdef __cplusplus
27extern "C"
28{
29#endif
30
31/*
32 * Colors
33 */
34enum ee_colors
35{
36    EE_BLACK = 0,
37    EE_BLUE = 1,
38    EE_GREEN = 2,
39    EE_CYAN = 3,
40    EE_RED = 4,
41    EE_MAGENTA = 5,
42    EE_BROWN = 6,
43    EE_LIGHTGRAY = 7,
44    EE_DARKGRAY = 8,
45    EE_LIGHTBLUE = 9,
46    EE_LIGHTGREEN = 10,
47    EE_LIGHTCYAN = 11,
48    EE_LIGHTRED = 12,
49    EE_LIGHTMAGENTA = 13,
50    EE_YELLOW = 14,
51    EE_WHITE = 15
52};
53
54extern char *ee_color_names[16];
55
56/*
57 * Types
58 */
59struct ee_sprite;
60
61/*
62 * Prototypes
63 */
64int ee_init(void);
65void ee_set_delay(int);
66int ee_get_width(void);
67int ee_get_height(void);
68void ee_refresh(void);
69void ee_end(void);
70
71char ee_get_key(void);
72
73void ee_set_color(int);
74int ee_get_color(void);
75void ee_putchar(int, int, char);
76void ee_putstr(int, int, char *);
77void ee_clear(void);
78
79void ee_draw_line(int, int, int, int, char);
80void ee_draw_polyline(int[], int[], int, char);
81void ee_draw_thin_line(int, int, int, int);
82void ee_draw_thin_polyline(int[], int[], int);
83
84void ee_draw_circle(int, int, int, char);
85void ee_draw_ellipse(int, int, int, int, char);
86void ee_draw_thin_ellipse(int, int, int, int);
87void ee_fill_ellipse(int, int, int, int, char);
88
89void ee_draw_box(int, int, int, int, char);
90void ee_draw_thin_box(int, int, int, int);
91void ee_fill_box(int, int, int, int, char);
92
93void ee_draw_triangle(int, int, int, int, int, int, char);
94void ee_draw_thin_triangle(int, int, int, int, int, int);
95void ee_fill_triangle(int, int, int, int, int, int, char);
96
97int ee_rand(int, int);
98unsigned int ee_sqrt(unsigned int);
99
100struct ee_sprite * ee_load_sprite(const char *);
101int ee_get_sprite_frames(struct ee_sprite *);
102int ee_get_sprite_width(struct ee_sprite *, int);
103int ee_get_sprite_height(struct ee_sprite *, int);
104int ee_get_sprite_dx(struct ee_sprite *, int);
105int ee_get_sprite_dy(struct ee_sprite *, int);
106void ee_draw_sprite(int, int, struct ee_sprite *, int);
107void ee_free_sprite(struct ee_sprite *);
108
109#ifdef __cplusplus
110}
111#endif
112
113#endif /* __EE_H__ */
Note: See TracBrowser for help on using the repository browser.