X-Git-Url: https://git.ralfj.de/gltest.git/blobdiff_plain/b4dc0596570275aa9def5ff63af951beb8473d58..b0ce9e768aed86e894dcffae75e69a80c51e7b5d:/glutil.h diff --git a/glutil.h b/glutil.h index e7a39ad..dd1051e 100644 --- a/glutil.h +++ b/glutil.h @@ -23,5 +23,24 @@ #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);