ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/common/font.h
Revision: 2.9
Committed: Sat Nov 20 00:40:33 2021 UTC (2 years, 6 months ago) by greg
Content type: text/plain
Branch: MAIN
Changes since 2.8: +4 -6 lines
Log Message:
refactor: reordered struct members more logically

File Contents

# Content
1 /* RCSid $Id: font.h,v 2.8 2021/11/19 22:51:31 greg Exp $ */
2 /*
3 * Header file for font handling routines
4 */
5 #ifndef _RAD_FONT_H_
6 #define _RAD_FONT_H_
7
8 #ifdef __cplusplus
9 extern "C" {
10 #endif
11
12 typedef unsigned char GORD;
13
14 typedef struct {
15 short nverts; /* number of vertices */
16 GORD left, right, top, bottom; /* glyph extent */
17 /* followed by vertex list */
18 } GLYPH;
19
20 #define gvlist(g) ((GORD *)((g)+1))
21
22 typedef struct font {
23 char name[64]; /* font file name */
24 struct font *next; /* next font in list */
25 int nref; /* number of references */
26 short mwidth, mheight; /* mean glyph width and height */
27 GLYPH *fg[256]; /* font glyphs */
28 } FONT;
29
30 extern int retainfonts; /* retain loaded fonts? */
31
32 extern FONT *getfont(char *fname);
33 extern void freefont(FONT *f);
34 extern int uniftext(short *sp, char *tp, FONT *f);
35 extern int squeeztext(short *sp, char *tp, FONT *f, int cis);
36 extern int proptext(short *sp, char *tp, FONT *f, int cis, int nsi);
37
38 #ifdef __cplusplus
39 }
40 #endif
41 #endif /* _RAD_FONT_H_ */
42