diff options
Diffstat (limited to 'src/glut/beos/glut_swidth.cpp')
-rw-r--r-- | src/glut/beos/glut_swidth.cpp | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/src/glut/beos/glut_swidth.cpp b/src/glut/beos/glut_swidth.cpp new file mode 100644 index 00000000000..228c8fc2552 --- /dev/null +++ b/src/glut/beos/glut_swidth.cpp @@ -0,0 +1,59 @@ + +/* Copyright (c) Mark J. Kilgard, 1995. */ + +/* This program is freely distributable without licensing fees + and is provided without guarantee or warrantee expressed or + implied. This program is -not- in the public domain. */ + +#include <GL/glut.h> +#include "glutint.h" +#include "glutstroke.h" + +/* CENTRY */ +int APIENTRY +glutStrokeWidth(GLUTstrokeFont font, int c) +{ + StrokeFontPtr fontinfo; + const StrokeCharRec *ch; + +#if defined(WIN32) + fontinfo = (StrokeFontPtr) __glutFont(font); +#else + fontinfo = (StrokeFontPtr) font; +#endif + + if (c < 0 || c >= fontinfo->num_chars) + return 0; + ch = &(fontinfo->ch[c]); + if (ch) + return (int)ch->right; + else + return 0; +} + +int APIENTRY +glutStrokeLength(GLUTstrokeFont font, const char *string) +{ + int c, length; + StrokeFontPtr fontinfo; + const StrokeCharRec *ch; + +#if defined(WIN32) + fontinfo = (StrokeFontPtr) __glutFont(font); +#else + fontinfo = (StrokeFontPtr) font; +#endif + + length = 0; + for (; *string != '\0'; string++) { + c = *string; + if (c >= 0 && c < fontinfo->num_chars) { + ch = &(fontinfo->ch[c]); + if (ch) + length += (int)ch->right; + } + } + return length; +} + +/* ENDCENTRY */ |