glut_swidth.c
上传用户:xk288cn
上传日期:2007-05-28
资源大小:4876k
文件大小:1k
源码类别:

GIS编程

开发平台:

Visual C++

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