]> git.xonotic.org Git - xonotic/netradiant.git/blobdiff - include/igl.h
Merge commit '48410b113dd2036e69dbf723a39ec9af02fc9b12'
[xonotic/netradiant.git] / include / igl.h
index bd5f27c799270759c1718d2b18569ca3e27945dc..35174967608d8fed17ea6aaf193f25d709b7bd43 100644 (file)
@@ -1976,6 +1976,7 @@ typedef unsigned int GLhandleARB;
 
 #endif
 
+#include "gtkutil/glfont.h"
 
 /// \brief A module which wraps a runtime-binding of the standard OpenGL functions.
 /// Provides convenience functions for querying availabiliy of extensions, rendering text and error-checking.
@@ -1995,23 +1996,23 @@ 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;
+  GLFont *m_font; // MUST be set!
 
   /// \brief Renders \p string at the current raster-position of the current context.
   void drawString(const char* string) const
   {
-    m_glListBase(m_font);
-    m_glCallLists(GLsizei(strlen(string)), GL_UNSIGNED_BYTE, reinterpret_cast<const GLubyte*>(string));
+    m_font->printString(string);
   }
 
   /// \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 +2317,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);
@@ -2645,7 +2652,7 @@ struct OpenGLBinding
   GLhandleARB (QGL_DLLEXPORT *m_glCreateShaderObjectARB)(GLenum shaderType);
   void (QGL_DLLEXPORT *m_glShaderSourceARB)(GLhandleARB shaderObj, GLsizei count, const GLcharARB **string, const GLint *length);
   void (QGL_DLLEXPORT *m_glCompileShaderARB)(GLhandleARB shaderObj);
-  GLhandleARB (QGL_DLLEXPORT *m_glCreateProgramObjectARB)(GLvoid);
+  GLhandleARB (QGL_DLLEXPORT *m_glCreateProgramObjectARB)(void);
   void (QGL_DLLEXPORT *m_glAttachObjectARB)(GLhandleARB containerObj, GLhandleARB obj);
   void (QGL_DLLEXPORT *m_glLinkProgramARB)(GLhandleARB programObj);
   void (QGL_DLLEXPORT *m_glUseProgramObjectARB)(GLhandleARB programObj);
@@ -2818,14 +2825,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