source: libcaca/trunk/src/caca_internals.h @ 336

Last change on this file since 336 was 336, checked in by Sam Hocevar, 19 years ago
  • src/caca.c src/graphics.c src/io.c src/time.c: + Native win32 port.
  • Property svn:keywords set to Id
File size: 2.4 KB
Line 
1/*
2 *  libcaca       ASCII-Art library
3 *  Copyright (c) 2002, 2003 Sam Hocevar <sam@zoy.org>
4 *                All Rights Reserved
5 *
6 *  This library is free software; you can redistribute it and/or
7 *  modify it under the terms of the GNU Lesser General Public
8 *  License as published by the Free Software Foundation; either
9 *  version 2 of the License, or (at your option) any later version.
10 *
11 *  This library is distributed in the hope that it will be useful,
12 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
13 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14 *  Lesser General Public License for more details.
15 *
16 *  You should have received a copy of the GNU Lesser General Public
17 *  License along with this library; if not, write to the Free Software
18 *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
19 *  02111-1307  USA
20 */
21
22/** \file caca_internals.h
23 *  \version \$Id: caca_internals.h 336 2004-01-11 05:09:02Z sam $
24 *  \author Sam Hocevar <sam@zoy.org>
25 *  \brief The \e libcaca private header.
26 *
27 *  This header contains the private types and functions used by \e libcaca.
28 */
29
30#ifndef __CACA_INTERNALS_H__
31#define __CACA_INTERNALS_H__
32
33/* Graphics driver */
34enum caca_driver
35{
36#if defined(USE_CONIO)
37    CACA_DRIVER_CONIO = 1,
38#endif
39#if defined(USE_NCURSES)
40    CACA_DRIVER_NCURSES = 2,
41#endif
42#if defined(USE_SLANG)
43    CACA_DRIVER_SLANG = 3,
44#endif
45#if defined(USE_X11)
46    CACA_DRIVER_X11 = 4,
47#endif
48#if defined(USE_WIN32)
49    CACA_DRIVER_WIN32 = 5,
50#endif
51    CACA_DRIVER_NONE = 0
52};
53
54/* Timer structure */
55#define CACA_TIMER_INITIALIZER { 0, 0 }
56struct caca_timer
57{
58    int last_sec, last_usec;
59};
60
61extern enum caca_driver _caca_driver;
62
63/* Initialisation functions */
64extern int _caca_init_graphics(void);
65extern int _caca_end_graphics(void);
66extern int _caca_init_bitmap(void);
67extern int _caca_end_bitmap(void);
68
69/* Timer functions */
70extern void _caca_sleep(unsigned int);
71extern unsigned int _caca_getticks(struct caca_timer *);
72
73/* Cached screen size */
74extern unsigned int _caca_width;
75extern unsigned int _caca_height;
76
77/* Internal libcaca features */
78extern enum caca_feature _caca_background;
79extern enum caca_feature _caca_dithering;
80extern enum caca_feature _caca_antialiasing;
81
82#if defined(USE_X11)
83#include <X11/Xlib.h>
84extern Display *x11_dpy;
85extern Window x11_window;
86extern int x11_font_width, x11_font_height;
87#endif
88
89#if defined(USE_WIN32)
90#include <windows.h>
91extern HANDLE win32_hin, win32_hout;
92#endif
93
94#endif /* __CACA_INTERNALS_H__ */
Note: See TracBrowser for help on using the repository browser.