http://slackware.bholcomb.com/slackware/slackware-11.0/source/xap/xscreensaver/xscree...
[xscreensaver] / hacks / glx / glut_swidth.c
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 #if 0   /* for Mesa */
9 # include "glutint.h"
10 #else   /* for xscreensaver */
11 # ifdef HAVE_CONFIG_H
12 #  include "config.h"
13 # endif
14 # ifdef HAVE_COCOA
15 #  include <OpenGL/gl.h>
16 # else
17 #  include <GL/gl.h>
18 #endif
19 # undef APIENTRY
20 # define APIENTRY /**/
21 #endif
22
23 #include "glutstroke.h"
24
25 /* CENTRY */
26 int APIENTRY 
27 glutStrokeWidth(GLUTstrokeFont font, int c)
28 {
29   StrokeFontPtr fontinfo;
30   const StrokeCharRec *ch;
31
32 #if defined(_WIN32)
33   fontinfo = (StrokeFontPtr) __glutFont(font);
34 #else
35   fontinfo = (StrokeFontPtr) font;
36 #endif
37
38   if (c < 0 || c >= fontinfo->num_chars)
39     return 0;
40   ch = &(fontinfo->ch[c]);
41   if (ch)
42     return ch->right;
43   else
44     return 0;
45 }
46
47 int APIENTRY 
48 glutStrokeLength(GLUTstrokeFont font, const unsigned char *string)
49 {
50   int c, length;
51   StrokeFontPtr fontinfo;
52   const StrokeCharRec *ch;
53
54 #if defined(_WIN32)
55   fontinfo = (StrokeFontPtr) __glutFont(font);
56 #else
57   fontinfo = (StrokeFontPtr) font;
58 #endif
59
60   length = 0;
61   for (; *string != '\0'; string++) {
62     c = *string;
63     if (c >= 0 && c < fontinfo->num_chars) {
64       ch = &(fontinfo->ch[c]);
65       if (ch)
66         length += ch->right;
67     }
68   }
69   return length;
70 }
71
72 /* ENDCENTRY */