+#include "igl.h"
+
+// generic string printing with call lists
+class GLFontCallList: public GLFont
+{
+ GLuint m_displayList;
+ int m_pixelHeight;
+ int m_pixelAscent;
+ int m_pixelDescent;
+ public:
+ GLFontCallList(GLuint displayList, int asc, int desc, int pixelHeight) : m_displayList(displayList), m_pixelHeight(pixelHeight), m_pixelAscent(asc), m_pixelDescent(desc)
+ {
+ }
+ virtual ~GLFontCallList()
+ {
+ glDeleteLists(m_displayList, 256);
+ }
+ void printString(const char *s)
+ {
+ GlobalOpenGL().m_glListBase(m_displayList);
+ GlobalOpenGL().m_glCallLists(GLsizei(strlen(s)), GL_UNSIGNED_BYTE, reinterpret_cast<const GLubyte*>(s));
+ }
+ virtual int getPixelAscent() const
+ {
+ return m_pixelAscent;
+ }
+ virtual int getPixelDescent() const
+ {
+ return m_pixelDescent;
+ }
+ virtual int getPixelHeight() const
+ {
+ return m_pixelHeight;
+ }
+};
+