]> de.git.xonotic.org Git - xonotic/netradiant.git/blobdiff - include/igl.h
simplify font drawing a bit so we only have to move one function to pango
[xonotic/netradiant.git] / include / igl.h
index 8cd81f8664c44db723a66dfda9615000a494f615..7ea3b944d93d33ec27dc9e460f360d5c7786c4ca 100644 (file)
@@ -1995,10 +1995,12 @@ struct OpenGLBinding
   }
 
   /// \brief Asserts that there no OpenGL errors have occurred since the last call to glGetError.
-  void (*assertNoErrors)();
+  void (*assertNoErrors)(const char *file, int line);
 
   GLuint m_font;
   int m_fontHeight;
+  int m_fontAscent;
+  int m_fontDescent;
 
   /// \brief Renders \p string at the current raster-position of the current context.
   void drawString(const char* string) const
@@ -2010,8 +2012,10 @@ struct OpenGLBinding
   /// \brief Renders \p character at the current raster-position of the current context.
   void drawChar(char character) const
   {
-    m_glListBase(m_font);
-    m_glCallLists(1, GL_UNSIGNED_BYTE, reinterpret_cast<const GLubyte*>(&character));
+    char s[2];
+    s[0] = character;
+    s[1] = 0;
+    drawString(s);
   }
 
 
@@ -2316,8 +2320,14 @@ struct OpenGLBinding
   void (QGL_DLLEXPORT *m_glTexGenfv)(GLenum coord, GLenum pname, const GLfloat *params);
   void (QGL_DLLEXPORT *m_glTexGeni)(GLenum coord, GLenum pname, GLint param);
   void (QGL_DLLEXPORT *m_glTexGeniv)(GLenum coord, GLenum pname, const GLint *params);
+#if defined(MACVERSION) && MACVERSION > 15
+       //Snow Leopard 16, Leopard 15, Tiger 14, Panther 13, ... 
+  void (QGL_DLLEXPORT *m_glTexImage1D)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
+  void (QGL_DLLEXPORT *m_glTexImage2D)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
+#else
   void (QGL_DLLEXPORT *m_glTexImage1D)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
-  void (QGL_DLLEXPORT *m_glTexImage2D)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
+  void (QGL_DLLEXPORT *m_glTexImage2D)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);       
+#endif
   void (QGL_DLLEXPORT *m_glTexParameterf)(GLenum target, GLenum pname, GLfloat param);
   void (QGL_DLLEXPORT *m_glTexParameterfv)(GLenum target, GLenum pname, const GLfloat *params);
   void (QGL_DLLEXPORT *m_glTexParameteri)(GLenum target, GLenum pname, GLint param);
@@ -2818,14 +2828,9 @@ inline OpenGLBinding& GlobalOpenGL()
 }
 
 #if defined(_DEBUG)
-inline void GlobalOpenGL_debugAssertNoErrors()
-{
-  GlobalOpenGL().assertNoErrors();
-}
+#define GlobalOpenGL_debugAssertNoErrors() GlobalOpenGL().assertNoErrors(__FILE__, __LINE__)
 #else
-inline void GlobalOpenGL_debugAssertNoErrors()
-{
-}
+#define GlobalOpenGL_debugAssertNoErrors()
 #endif