2 w('static void print_%s(void *user_data', func.name)
4 w(', %s ret', ret.ctype)
6 w(', %s %s', p.ctype, p.name)
9 wl(' GlPrintData *gpd = (GlPrintData *)user_data;')
10 w(' snprintf(gpd->buffer, gpd->bufsize, "%s(', func.name)
17 elif p.kind=="reference":
21 w('<ref:%s %%p>', p.type)
29 for p in params+[ret]:
32 if len(p.io)>=3 and p.io[2]:
33 f = p.io[2].split(':')
34 w(', %s(%s)', f[0], ", ".join(eval(x) for x in f[1:]))
37 elif p.kind=="reference":
44 w(', print_data(%s, 0)', p.name)
45 elif p.base_ctype=="GLvoid" or p.base_ctype=="void":
46 w(', print_data(%s, %s)', p.name, p.csize)
48 w(', print_array("%s", %s, sizeof(%s), %s)', p.io[1], p.name, p.base_ctype, p.csize)
51 :static void init_print(GlDecoder *dec)
53 wl(' dec->%s = print_%s;', func.name, func.name)