From fad2fec57122e7690963391d72e90b21715ea822 Mon Sep 17 00:00:00 2001 From: Jonathan Wilkes <jon.w.wilkes@gmail.com> Date: Sat, 1 Aug 2015 00:23:08 -0400 Subject: [PATCH] fix redraw of drawimage sprite when index is a field variable --- pd/src/g_template.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/pd/src/g_template.c b/pd/src/g_template.c index 429957819..b89b9f142 100644 --- a/pd/src/g_template.c +++ b/pd/src/g_template.c @@ -1040,6 +1040,8 @@ todo: some better way than drawcurve has for defining click widgetbehaviors t_class *draw_class; +t_class *drawimage_class; + t_class *svg_class; /* this is a wrapper around t_fielddesc-- it adds a flag for two reasons: @@ -3605,10 +3607,10 @@ void svg_grouptogui(t_glist *g, t_template *template, t_word *data) void svg_parentwidgettogui(t_gobj *z, t_glist *owner, t_word *data, t_template *template) { + char tagbuf[MAXPDSTRING]; if (pd_class(&z->g_pd) == draw_class) { t_draw *x = (t_draw *)z; - char tagbuf[MAXPDSTRING]; sprintf(tagbuf, "draw%lx.%lx", (long unsigned int)x, (long unsigned int)data); gui_start_vmess("gui_draw_configure_all", "xs", @@ -3616,6 +3618,19 @@ void svg_parentwidgettogui(t_gobj *z, t_glist *owner, t_word *data, svg_togui((t_svg *)x->x_attr, template, data); gui_end_vmess(); } + else if (pd_class(&z->g_pd) == drawimage_class) + { + t_drawimage *x = (t_drawimage *)z; + sprintf(tagbuf, "draw%lx.%lx", (long unsigned int)x, + (long unsigned int)data); + gui_start_vmess("gui_draw_configure_all", "xs", + glist_getcanvas(owner), tagbuf); + svg_togui((t_svg *)x->x_attr, template, data); + gui_end_vmess(); + gui_vmess("gui_drawimage_index", "xxxi", + glist_getcanvas(owner), x, data, + drawimage_getindex(x, template, data)); + } } @@ -6842,7 +6857,6 @@ static void drawsymbol_setup(void) (drawimage|drawsprite) [-v <visible>] variable x y directory */ -t_class *drawimage_class; #define DRAW_SPRITE 1 -- GitLab