fixed spacing in the headers to get rid of some warnings and some other
[blender.git] / source / blender / include / objfnt.h
1 /* $Id$ 
2 */
3 /*
4  * ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
5  *
6  * This program is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU General Public License
8  * as published by the Free Software Foundation; either version 2
9  * of the License, or (at your option) any later version. The Blender
10  * Foundation also sells licenses for use in proprietary software under
11  * the Blender License.  See http://www.blender.org/BL/ for information
12  * about this.
13  *
14  * This program is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17  * GNU General Public License for more details.
18  *
19  * You should have received a copy of the GNU General Public License
20  * along with this program; if not, write to the Free Software Foundation,
21  * Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
22  *
23  * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
24  * All rights reserved.
25  *
26  * The Original Code is: all of this file.
27  *
28  * Contributor(s): none yet.
29  *
30  * ***** END GPL/BL DUAL LICENSE BLOCK *****
31 #ifndef OBJFNTDEF
32 #define OBJFNTDEF
33
34 typedef struct chardesc {
35     short movex, movey;         /* advance */
36     short llx, lly;             /* bounding box */
37     short urx, ury;
38     short *data;                /* char data */
39     long datalen;               
40 } chardesc;
41
42 typedef struct objfnt {
43     struct objfnt *freeaddr;    /* if freeaddr != 0, objfnt is one chunck */
44     short type;
45     short charmin, charmax;
46     short my_nchars;
47     short scale;
48     chardesc *my_chars;
49 } objfnt;
50
51 #define OFMAGIC         0x93339333
52
53 #define TM_TYPE         1
54 #define PO_TYPE         2
55 #define SP_TYPE         3
56
57 /* ops for tmesh characters */
58
59 #define TM_BGNTMESH     (1)
60 #define TM_SWAPTMESH    (2)
61 #define TM_ENDBGNTMESH  (3)
62 #define TM_RETENDTMESH  (4)
63 #define TM_RET          (5)
64
65 /* ops for poly characters */
66
67 #define PO_BGNLOOP      (1)
68 #define PO_ENDBGNLOOP   (2)
69 #define PO_RETENDLOOP   (3)
70 #define PO_RET          (4)
71
72 /* ops for spline  characters */
73
74 #define SP_MOVETO       (1)
75 #define SP_LINETO       (2)
76 #define SP_CURVETO      (3)
77 #define SP_CLOSEPATH    (4)
78 #define SP_RETCLOSEPATH (5)
79 #define SP_RET          (6)
80
81
82 #define MIN_ASCII       ' '
83 #define MAX_ASCII       '~'
84 #define NASCII          (256 - 32)
85
86 #define NOBBOX          (30000)
87
88 typedef struct pschar {
89     char *name;
90     int code;
91     int prog;
92 } pschar;
93
94 extern pschar charlist[NASCII];
95
96 /*  objfnt *fontname(void); */
97 /*  objfnt *readobjfnt(void); */
98 /*  objfnt *newobjfnt(void); */
99 /*  float fontstringwidth(void); */
100 /*  short *getcharprog(void); */
101 /*  chardesc *BLI_getchardesc(void); */
102 /*  char *asciiname(void); */
103
104 #endif
105