1 
2 /* Copyright (c) Mark J. Kilgard, 1995. */
3 
4 /* This program is freely distributable without licensing fees
5    and is provided without guarantee or warrantee expressed or
6    implied. This program is -not- in the public domain. */
7 
8 #include "glutint.h"
9 #include "glutstroke.h"
10 
11 /* CENTRY */
12 int APIENTRY
glutStrokeWidth(GLUTstrokeFont font,int c)13 glutStrokeWidth(GLUTstrokeFont font, int c)
14 {
15   StrokeFontPtr fontinfo;
16   const StrokeCharRec *ch;
17 
18 #if defined(_WIN32)
19   fontinfo = (StrokeFontPtr) __glutFont(font);
20 #else
21   fontinfo = (StrokeFontPtr) font;
22 #endif
23 
24   if (c < 0 || c >= fontinfo->num_chars)
25     return 0;
26   ch = &(fontinfo->ch[c]);
27   if (ch)
28     return ch->right;
29   else
30     return 0;
31 }
32 
33 int APIENTRY
glutStrokeLength(GLUTstrokeFont font,const unsigned char * string)34 glutStrokeLength(GLUTstrokeFont font, const unsigned char *string)
35 {
36   int c, length;
37   StrokeFontPtr fontinfo;
38   const StrokeCharRec *ch;
39 
40 #if defined(_WIN32)
41   fontinfo = (StrokeFontPtr) __glutFont(font);
42 #else
43   fontinfo = (StrokeFontPtr) font;
44 #endif
45 
46   length = 0;
47   for (; *string != '\0'; string++) {
48     c = *string;
49     if (c >= 0 && c < fontinfo->num_chars) {
50       ch = &(fontinfo->ch[c]);
51       if (ch)
52         length += ch->right;
53     }
54   }
55   return length;
56 }
57 
58 /* ENDCENTRY */
59