ToglText.cc
上传用户:kellyonhid
上传日期:2013-10-12
资源大小:932k
文件大小:1k
源码类别:

3D图形编程

开发平台:

Visual C++

  1. // ToglText.cc            Wrapper for easy text output in a Togl widget
  2. // created 4/30/99        magi@cs.stanford.edu
  3. #include "ToglText.h"
  4. #include "togl.h"
  5. #include <hash_map.h>
  6. struct eqtoglptr
  7. {
  8.   bool operator()(unsigned long t1, unsigned long t2) const
  9.   {
  10.     return (t1 == t2);
  11.   }
  12. };
  13. typedef hash_map<unsigned long, GLuint, hash<unsigned long>,
  14.   eqtoglptr> FontlistToglHash;
  15. static FontlistToglHash fonthash;
  16. GLuint InitForTogl (struct Togl* togl,
  17.     const char* font = TOGL_BITMAP_9_BY_15)
  18. {
  19.   GLuint fontbase = Togl_LoadBitmapFont (togl, font);
  20.   return fontbase;
  21. }
  22. void DrawText (struct Togl* togl, char* string)
  23. {
  24.   Togl_MakeCurrent (togl);
  25.   GLuint fontbase = fonthash[(unsigned long)togl];
  26.   if (!fontbase) {
  27.     fontbase = InitForTogl (togl);
  28.     fonthash[(unsigned long)togl] = fontbase;
  29.   }
  30.   glListBase (fontbase);
  31.   glCallLists (strlen (string), GL_BYTE, string);
  32. }