summaryrefslogtreecommitdiff
path: root/src/glut/beos/glut_bwidth.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/glut/beos/glut_bwidth.cpp')
-rw-r--r--src/glut/beos/glut_bwidth.cpp59
1 files changed, 59 insertions, 0 deletions
diff --git a/src/glut/beos/glut_bwidth.cpp b/src/glut/beos/glut_bwidth.cpp
new file mode 100644
index 0000000000..711dfa569e
--- /dev/null
+++ b/src/glut/beos/glut_bwidth.cpp
@@ -0,0 +1,59 @@
+
+/* Copyright (c) Mark J. Kilgard, 1994. */
+
+/* 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 "glutbitmap.h"
+
+/* CENTRY */
+int APIENTRY
+glutBitmapWidth(GLUTbitmapFont font, int c)
+{
+ BitmapFontPtr fontinfo;
+ const BitmapCharRec *ch;
+
+#if defined(WIN32)
+ fontinfo = (BitmapFontPtr) __glutFont(font);
+#else
+ fontinfo = (BitmapFontPtr) font;
+#endif
+
+ if (c < fontinfo->first || c >= fontinfo->first + fontinfo->num_chars)
+ return 0;
+ ch = fontinfo->ch[c - fontinfo->first];
+ if (ch)
+ return (int)ch->advance;
+ else
+ return 0;
+}
+
+int APIENTRY
+glutBitmapLength(GLUTbitmapFont font, const char *string)
+{
+ int c, length;
+ BitmapFontPtr fontinfo;
+ const BitmapCharRec *ch;
+
+#ifdef WIN32
+ fontinfo = (BitmapFontPtr) __glutFont(font);
+#else
+ fontinfo = (BitmapFontPtr) font;
+#endif
+
+ length = 0;
+ for (; *string != '\0'; string++) {
+ c = *string;
+ if (c >= fontinfo->first && c < fontinfo->first + fontinfo->num_chars) {
+ ch = fontinfo->ch[c - fontinfo->first];
+ if (ch)
+ length += (int)ch->advance;
+ }
+ }
+ return length;
+}
+
+/* ENDCENTRY */