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

Last change on this file since 483 was 483, checked in by Jean-Yves Lamoureux, 17 years ago

OpenGL support.

  • Property svn:keywords set to Id
File size: 2.7 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 483 2005-06-21 13:28:51Z jylam $
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#if defined(USE_GL)
52    CACA_DRIVER_GL = 6,
53#endif
54    CACA_DRIVER_NONE = 0
55};
56
57/* Timer structure */
58#define CACA_TIMER_INITIALIZER { 0, 0 }
59struct caca_timer
60{
61    int last_sec, last_usec;
62};
63
64extern enum caca_driver _caca_driver;
65
66/* Initialisation functions */
67extern int _caca_init_graphics(void);
68extern int _caca_end_graphics(void);
69extern int _caca_init_bitmap(void);
70extern int _caca_end_bitmap(void);
71
72/* Timer functions */
73extern void _caca_sleep(unsigned int);
74extern unsigned int _caca_getticks(struct caca_timer *);
75
76/* Cached screen size */
77extern unsigned int _caca_width;
78extern unsigned int _caca_height;
79extern int _caca_resize;
80extern int _caca_resize_event;
81
82/* Internal libcaca features */
83extern enum caca_feature _caca_background;
84extern enum caca_feature _caca_dithering;
85extern enum caca_feature _caca_antialiasing;
86
87#if defined(USE_X11)
88#include <X11/Xlib.h>
89extern Display *x11_dpy;
90extern Window x11_window;
91extern Pixmap x11_pixmap;
92extern GC x11_gc;
93extern long int x11_event_mask;
94extern int x11_font_width, x11_font_height;
95extern unsigned int x11_new_width, x11_new_height;
96#endif
97
98#if defined(USE_WIN32)
99#include <windows.h>
100extern HANDLE win32_hin, win32_hout;
101#endif
102
103#if defined(USE_GL)
104#include <GL/glut.h>
105extern unsigned int gl_width, gl_height;
106#endif
107
108
109#endif /* __CACA_INTERNALS_H__ */
Note: See TracBrowser for help on using the repository browser.