1 /* ************************************************************************ */
2 
3 
4 /* Header file for the `xvertext' routines.
5 
6    Copyright (c) 1992 Alan Richardson (mppa3@uk.ac.sussex.syma) */
7 
8 
9 /* ************************************************************************ */
10 
11 
12 #ifndef _XVERTEXT_INCLUDED_
13 #define _XVERTEXT_INCLUDED_
14 
15 
16 #define XV_VERSION      2.0
17 #define XV_COPYRIGHT    "xvertext routines Copyright (c) 1992 Alan Richardson"
18 
19 
20 /* ---------------------------------------------------------------------- */
21 
22 
23 /* *** The font structures *** */
24 
25 struct BitmapStruct {
26     int			 bit_w;
27     int			 bit_h;
28 
29     Pixmap bm;
30 };
31 
32 struct XRotCharStruct {
33     int			 ascent;
34     int			 descent;
35     int			 lbearing;
36     int			 rbearing;
37     int			 width;
38 
39     BitmapStruct	 glyph;
40 };
41 
42 struct XRotFontStruct {
43     int			 dir;
44     int			 height;
45     int			 max_ascent;
46     int			 max_descent;
47     int			 max_char;
48     int			 min_char;
49     char 		*name;
50 
51     XFontStruct		*xfontstruct;
52 
53     XRotCharStruct	 per_char[95];
54 };
55 
56 
57 /* ---------------------------------------------------------------------- */
58 
59 
60 extern float XRotVersion(char *, int);
61 extern XRotFontStruct *XRotLoadFont(Display *, char *, float);
62 extern void XRotUnloadFont(Display *, XRotFontStruct *);
63 extern int XRotTextWidth(XRotFontStruct *, char *, int);
64 extern void XRotDrawString(Display *, XRotFontStruct *, Drawable, GC,
65 			   int, int, char *, int);
66 extern void XRotDrawAlignedString(Display *, XRotFontStruct *, Drawable, GC,
67 				  int, int, char *, int);
68 
69 
70 /* ---------------------------------------------------------------------- */
71 
72 
73 #define TLEFT	 	 1
74 #define TCENTRE	 	 2
75 #define TRIGHT	 	 3
76 #define MLEFT	 	 4
77 #define MCENTRE	 	 5
78 #define MRIGHT	 	 6
79 #define BLEFT	 	 7
80 #define BCENTRE	 	 8
81 #define BRIGHT	 	 9
82 
83 
84 /* ---------------------------------------------------------------------- */
85 
86 
87 extern int		 xv_errno;
88 
89 #define XV_NOFONT	 1  /* no such font on X server */
90 #define XV_NOMEM	 2  /* couldn't do malloc */
91 #define XV_NOXIMAGE	 3  /* couldn't create an XImage */
92 
93 
94 /* ---------------------------------------------------------------------- */
95 
96 
97 #else
98 
99 extern int		 xv_errno;
100 
101 #endif
102