#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.
}
/// \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);
}
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);
}
#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