From 8c416cbdaab7025fdc48e896a02891a17d57f125 Mon Sep 17 00:00:00 2001 From: Jonathan Wilkes <jon.w.wilkes@gmail.com> Date: Mon, 13 Jul 2015 23:01:57 -0400 Subject: [PATCH] first stab at drawsymbol --- pd/src/g_template.c | 55 +++++++++++++++++++++++++++++++++------------ 1 file changed, 41 insertions(+), 14 deletions(-) diff --git a/pd/src/g_template.c b/pd/src/g_template.c index bf4e8055d..9833b27b7 100644 --- a/pd/src/g_template.c +++ b/pd/src/g_template.c @@ -6577,25 +6577,52 @@ static void drawsymbol_vis(t_gobj *z, t_glist *glist, t_glist *parentglist, else SETFLOAT(&at, fielddesc_getfloat(&x->x_value, template, data, 0)); drawsymbol_sprintf(x, buf, &at); - sys_vgui(".x%lx.c create ptext %d " - "[expr {[font metrics {{%s} %d} -ascent] + %d}] " - "-textanchor start -fill %s -text {%s}\\\n", - glist_getcanvas(glist), xloc, sys_font, - sys_hostfontsize(fontsize), yloc, colorstring, buf); - sys_vgui(" -fontfamily {%s} -fontsize %d ", sys_font, fontsize); - sys_vgui(" -matrix { {%g 0} {0 %g} {0 0} }", xscale, yscale); + //sys_vgui(".x%lx.c create ptext %d " + // "[expr {[font metrics {{%s} %d} -ascent] + %d}] " + // "-textanchor start -fill %s -text {%s}\\\n", + // glist_getcanvas(glist), xloc, sys_font, + // sys_hostfontsize(fontsize), yloc, colorstring, buf); + //sys_vgui(" -fontfamily {%s} -fontsize %d ", sys_font, fontsize); + //sys_vgui(" -matrix { {%g 0} {0 %g} {0 0} }", xscale, yscale); + char parent_tagbuf[MAXPDSTRING]; if (in_array) - sys_vgui(" -parent .scelem%lx.%lx \\\n", parentglist, data); + { + //sys_vgui(" -parent .scelem%lx.%lx \\\n", parentglist, data); + sprintf(parent_tagbuf, "scelem%lx.%lx", (long unsigned int)parentglist, (long unsigned int)data); + } else - sys_vgui(" -parent .dgroup%lx.%lx \\\n", - x->x_canvas, data); + { + //sys_vgui(" -parent .dgroup%lx.%lx \\\n", + // x->x_canvas, data); + sprintf(parent_tagbuf, "dgroup%lx.%lx", (long unsigned int)x->x_canvas, (long unsigned int)data); + } + char tagbuf[MAXPDSTRING]; + //sys_vgui(" -tags {.x%lx.x%lx.template%lx scalar%lx}\n", + // glist_getcanvas(glist), glist, data, sc); + sprintf(tagbuf, "drawnumber%lx.%lx", (long unsigned int)x, (long unsigned int)data); - sys_vgui(" -tags {.x%lx.x%lx.template%lx scalar%lx}\n", - glist_getcanvas(glist), glist, data, sc); + gui_vmess("gui_drawnumber_vis", "xssiiffsis", + glist_getcanvas(glist), + parent_tagbuf, + tagbuf, + xloc, + yloc, // Wrong-- we need to take font height into account + xscale, + yscale, + sys_font, + fontsize, + buf); + } + else + { + //sys_vgui(".x%lx.c delete .x%lx.x%lx.template%lx\n", + // glist_getcanvas(glist), glist_getcanvas(glist), glist, data); + char tagbuf[MAXPDSTRING]; + sprintf(tagbuf, "drawnumber%lx.%lx", (long unsigned int)x, (long unsigned int)data); + gui_vmess("gui_draw_erase_item", "xs", glist_getcanvas(glist), + tagbuf); } - else sys_vgui(".x%lx.c delete .x%lx.x%lx.template%lx\n", - glist_getcanvas(glist), glist_getcanvas(glist), glist, data); } static t_float drawsymbol_motion_ycumulative; -- GitLab