X-Git-Url: https://git.ralfj.de/gltest.git/blobdiff_plain/8dd990b1ed5cb3a4b78dfdf48b1f39d3f8bb0f0f..7204186779e096ceab7b39f54dcf6f606062f29b:/glutil.h diff --git a/glutil.h b/glutil.h index 704d2cb..dd1051e 100644 --- a/glutil.h +++ b/glutil.h @@ -17,11 +17,30 @@ */ -#ifdef USE_GLES +#ifdef CON_GLES2 #include #else #include #endif +/** + * GNUC has the ability to check format strings that follow the syntax used in printf and others. +Hide the differences between different compilers in this GNUC_FORMAT_CHECK macro. +Copied from Wireshark sources. +*/ +#if __GNUC__ >= 2 + #define GNUC_FORMAT_CHECK(archetype, string_index, first_to_check) __attribute__((format (archetype, string_index, first_to_check))) +#else + #define GNUC_FORMAT_CHECK(archetype, string_index, first_to_check) +#endif + +/* Function name resolving: Call this after initialising the context, but before any utility function is called */ +typedef void (*T_proc)(void); +typedef T_proc (*T_glGetProcAddress)(char const * procname); +void resolveFunctionPointers(T_glGetProcAddress p_glGetProcAddress); + +/* The actual utility functions */ +void die(const char *msg, ...) GNUC_FORMAT_CHECK(printf, 1, 2); +void checkGlError(const char *what); void initialise2dProjection(); void drawQuad(GLfloat red, GLfloat green, GLfloat blue, GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2);