egl.py (1502B)
1 from glad.lang.common.loader import BaseLoader 2 3 4 _EGL_LOADER = ''' 5 int gladLoadEGL(void) { 6 return gladLoadEGLLoader((GLADloadproc)eglGetProcAddress); 7 } 8 ''' 9 10 _EGL_HEADER = ''' 11 #ifndef __glad_egl_h_ 12 13 #ifdef __egl_h_ 14 #error EGL header already included, remove this include, glad already provides it 15 #endif 16 17 #define __glad_egl_h_ 18 #define __egl_h_ 19 20 #if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) 21 #ifndef WIN32_LEAN_AND_MEAN 22 #define WIN32_LEAN_AND_MEAN 1 23 #endif 24 #include <windows.h> 25 #endif 26 27 #ifndef APIENTRY 28 #define APIENTRY 29 #endif 30 #ifndef APIENTRYP 31 #define APIENTRYP APIENTRY * 32 #endif 33 #ifndef GLAPI 34 #define GLAPI extern 35 #endif 36 37 #ifdef __cplusplus 38 extern "C" { 39 #endif 40 41 typedef void* (* GLADloadproc)(const char *name); 42 ''' 43 44 _EGL_HEADER_LOADER = ''' 45 GLAPI int gladLoadEGL(void); 46 ''' 47 48 _EGL_HEADER_END = ''' 49 #ifdef __cplusplus 50 } 51 #endif 52 53 #endif 54 ''' 55 56 _EGL_HAS_EXT = ''' 57 ''' 58 59 60 class EGLCLoader(BaseLoader): 61 def write(self, fobj): 62 if not self.disabled: 63 fobj.write(_EGL_LOADER) 64 65 def write_begin_load(self, fobj): 66 pass 67 68 def write_end_load(self, fobj): 69 fobj.write('\treturn 1;\n') 70 71 def write_find_core(self, fobj): 72 pass 73 74 def write_has_ext(self, fobj): 75 fobj.write(_EGL_HAS_EXT) 76 77 def write_header(self, fobj): 78 fobj.write(_EGL_HEADER) 79 if not self.disabled: 80 fobj.write(_EGL_HEADER_LOADER) 81 82 def write_header_end(self, fobj): 83 fobj.write(_EGL_HEADER_END) 84