libc3: remerged
[simavr] / examples / shared / libc3 / src / c3types.h
1 /*
2         c3types.h
3
4         Copyright 2008-2012 Michel Pollet <buserror@gmail.com>
5
6         This file is part of libc3.
7
8         libc3 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 3 of the License, or
11         (at your option) any later version.
12
13         libc3 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 libc3.  If not, see <http://www.gnu.org/licenses/>.
20  */
21
22
23 #ifndef __C3TYPES_H___
24 #define __C3TYPES_H___
25
26 #include <stdint.h>
27 #include "c3algebra.h"
28
29 typedef c3vec3 c3vertex_t, *c3vertex_p;
30 typedef c3vec4 c3colorf_t, *c3colorf_p;
31 typedef c3vec2 c3tex_t, *c3tex_p;
32 typedef uint16_t        c3index_t, *c3index_p;
33
34 /* this type is used to store an API object (texture id etc
35  * it is made to force a cast in most cases as OpenGL uses integers
36  * for object ids
37  */
38 typedef void * c3apiobject_t;
39
40 //! Bounding box
41 typedef struct c3bbox_t {
42         c3vec3  min, max;
43 } c3bbox_t;
44
45 #endif /* __C3TYPES_H___ */