glx.py (1015B)
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 | from glad.lang.common.loader import BaseLoader from glad.lang.volt.loader import LOAD_OPENGL_DLL _GLX_LOADER = \ LOAD_OPENGL_DLL % {'pre':'private', 'init':'open_gl', 'proc':'get_proc', 'terminate':'close_gl'} + ''' bool gladLoadGLX() { StructToDg structToDg; structToDg.func = cast(void*)get_proc; auto dg = *cast(Loader*)&structToDg; bool status = false; if(open_gl()) { status = gladLoadGLX(dg); close_gl(); } return status; } ''' _GLX_HAS_EXT = ''' private bool has_ext(const(char)* name) { return true; } ''' class GLXVoltLoader(BaseLoader): def write(self, fobj): fobj.write('import watt.library;\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) |