class Function:
def __init__(self, name):
self.name = name
+ self.typedef = None
self.version = None
self.category = None
self.vectorequiv = None
for f in funcs:
if f.extfunc:
+ f.typedef = "PFNGL%sPROC"%f.extfunc.name.upper()
if not ver:
ver = f.version
if not f.category.startswith("VERSION_"):
bp_ext = f.category
- if not f.extfunc and not f.name.endswith(exttype):
- bp_ext = f.category
+ else:
+ f.typedef = "PFNGL%sPROC"%f.name.upper()
+ if not f.name.endswith(exttype):
+ bp_ext = f.category
if ver:
ver = map(int, ver.split('.'))
if funcs:
out.write("\n")
for f in funcs:
- out.write("extern PFNGL%sPROC gl%s;\n"%(f.name.upper(), f.name))
+ out.write("extern %s gl%s;\n"%(f.typedef, f.name))
out.write("\nextern Extension %s;\n"%ext)
if funcs:
out.write("\n")
for f in funcs:
- out.write("PFNGL%sPROC gl%s = 0;\n"%(f.name.upper(), f.name))
+ out.write("%s gl%s = 0;\n"%(f.typedef, f.name))
out.write("\nExtension::SupportLevel init_%s()\n{\n"%ext.lower())
if ver:
out.write(" || is_supported(\"GL_%s\")"%bp_ext)
out.write(")\n\t{\n")
for f in funcs:
- out.write("\t\tgl%s = reinterpret_cast<PFNGL%sPROC>(get_proc_address(\"gl%s\"));\n"%(f.name, f.name.upper(), f.name))
+ out.write("\t\tgl%s = reinterpret_cast<%s>(get_proc_address(\"gl%s\"));\n"%(f.name, f.typedef, f.name))
out.write("\t\treturn Extension::CORE;\n")
out.write("\t}\n")
if ext!=bp_ext:
n = f.name
if f.extfunc:
n = f.extfunc.name
- out.write("\t\tgl%s = reinterpret_cast<PFNGL%sPROC>(get_proc_address(\"gl%s\"));\n"%(f.name, f.name.upper(), n))
+ out.write("\t\tgl%s = reinterpret_cast<%s>(get_proc_address(\"gl%s\"));\n"%(f.name, f.typedef, n))
out.write("\t\treturn Extension::EXTENSION;\n")
out.write("\t}\n")
out.write("\treturn Extension::UNSUPPORTED;\n")