glx.py (1042B)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | from glad.lang.common.loader import BaseLoader from glad.lang.d.loader import LOAD_OPENGL_DLL _GLX_LOADER = \ LOAD_OPENGL_DLL % {'pre':'private', 'init':'open_gl', 'proc':'get_proc', 'terminate':'close_gl'} + ''' bool gladLoadGLX() { bool status = false; if(open_gl()) { status = gladLoadGLX(x => get_proc(x)); close_gl(); } return status; } ''' _GLX_HAS_EXT = ''' private bool has_ext(const(char)* name) @nogc { return true; } ''' class GLXDLoader(BaseLoader): def write_header_end(self, fobj): pass def write_header(self, fobj): pass def write(self, fobj): fobj.write('alias Loader = void* delegate(const(char)*);\n') if not self.disabled: fobj.write(_GLX_LOADER) def write_begin_load(self, fobj): pass def write_end_load(self, fobj): fobj.write('\treturn true;\n') def write_find_core(self, fobj): pass def write_has_ext(self, fobj): fobj.write(_GLX_HAS_EXT) |