diff --git a/pd/src/g_all_guis.c b/pd/src/g_all_guis.c index 917c23b03938559d0ed219e28564d988ad21825c..7785aedd4aea2838576d614ee7b9f93e98c73e73 100644 --- a/pd/src/g_all_guis.c +++ b/pd/src/g_all_guis.c @@ -654,26 +654,25 @@ void scalehandle_draw_select(t_scalehandle *h, t_glist *canvas, int px, int py) int sx = h->h_scale ? SCALEHANDLE_WIDTH : LABELHANDLE_WIDTH; int sy = h->h_scale ? SCALEHANDLE_HEIGHT : LABELHANDLE_HEIGHT; - if (h->h_vis) scalehandle_draw_erase(h,canvas); - - sys_vgui("canvas %s -width %d -height %d -bg $pd_colors(selection) -bd 0 " -// sys_vgui("canvas %s -width %d -height %d -bg #0080ff -bd 0 " - "-cursor %s\n", h->h_pathname, sx, sy, cursor); - // there was a %lxBNG tag (or similar) in every scalehandle, - // but it didn't seem to be used —mathieu - if (h->h_scale) { - sprintf(tags,"x%lx %lxSCALE iemgui", - (long)x,(long)x); + if (!h->h_vis) { + sys_vgui("canvas %s -width %d -height %d -bg $pd_colors(selection) -bd 0 " + "-cursor %s\n", h->h_pathname, sx, sy, cursor); + if (h->h_scale) { + sprintf(tags,"x%lx %lxSCALE iemgui", (long)x,(long)x); + } else { + sprintf(tags,"x%lx %lx%s iemgui", (long)x, + (long)x,pd_class((t_pd *)x)==canvas_class?"MOVE":"LABELH"); + } + sys_vgui(".x%x.c create window %d %d -anchor nw -width %d -height %d " + "-window %s -tags {%s}\n", canvas, + x->x_obj.te_xpix+px-sx, x->x_obj.te_ypix+py-sy, sx, sy, + h->h_pathname, tags); + scalehandle_bind(h); + h->h_vis = 1; } else { - //sprintf(tags,"%lx%s %lxLABEL %lxLABELH iemgui %s", // causes unknown option "-fill" - sprintf(tags,"x%lx %lx%s iemgui", (long)x, - (long)x,pd_class((t_pd *)x)==canvas_class?"MOVE":"LABELH"); + sys_vgui(".x%x.c coords %s %d %d\n", canvas, h->h_pathname, + x->x_obj.te_xpix+px-sx, x->x_obj.te_ypix+py-sy); } - sys_vgui(".x%x.c create window %d %d -anchor nw -width %d -height %d " - "-window %s -tags {%s}\n", canvas, x->x_obj.te_xpix+px-sx, x->x_obj.te_ypix+py-sy, - sx, sy, h->h_pathname, tags); - scalehandle_bind(h); - h->h_vis = 1; } extern t_class *my_canvas_class; @@ -695,14 +694,15 @@ void scalehandle_draw_select2(t_iemgui *x, t_glist *canvas) { } void scalehandle_draw_erase(t_scalehandle *h, t_glist *canvas) { - sys_vgui("destroy %s\n", h->h_pathname); - sys_vgui(".x%lx.c delete %lx%s\n", canvas, h->h_master, h->h_scale ? "SCALE" : "LABELH"); - h->h_vis = 0; + if (!h->h_vis) return; + sys_vgui("destroy %s\n", h->h_pathname); + sys_vgui(".x%lx.c delete %lx%s\n", canvas, h->h_master, h->h_scale ? "SCALE" : "LABELH"); + h->h_vis = 0; } void scalehandle_draw_erase2(t_iemgui *x, t_glist *canvas) { - t_scalehandle *sh = (t_scalehandle *)(x->x_handle); - t_scalehandle *lh = (t_scalehandle *)(x->x_lhandle); + t_scalehandle *sh = (t_scalehandle *)(x->x_handle); + t_scalehandle *lh = (t_scalehandle *)(x->x_lhandle); if (sh->h_vis) scalehandle_draw_erase(sh,canvas); if (lh->h_vis) scalehandle_draw_erase(lh,canvas); } @@ -997,7 +997,6 @@ void iemgui_draw_new(t_iemgui *x, t_glist *glist) { void iemgui_draw_erase(t_iemgui *x, t_glist *glist) { t_canvas *canvas=glist_getcanvas(glist); sys_vgui(".x%lx.c delete x%lx\n", canvas, x); - sys_vgui(".x%lx.c dtag all x%lx\n", canvas, x); scalehandle_draw_erase2(x,glist); x->x_vis = 0; } diff --git a/pd/src/g_numbox.c b/pd/src/g_numbox.c index df8f5c81d60219af46e8927c5f3f2fb6171b0bc6..2de66bdcc7171d0a48e8b04401de902780290259 100644 --- a/pd/src/g_numbox.c +++ b/pd/src/g_numbox.c @@ -198,13 +198,12 @@ static void my_numbox_draw_move(t_my_numbox *x, t_glist *glist) static void my_numbox_draw_config(t_my_numbox* x,t_glist* glist) { t_canvas *canvas=glist_getcanvas(glist); - char fcol[8]; sprintf(fcol, "%6.6x", x->x_gui.x_fcol); + char fcol[8]; sprintf(fcol, "#%6.6x", x->x_gui.x_fcol); int issel = x->x_gui.x_selected == canvas && x->x_gui.x_glist == canvas; sys_vgui(".x%lx.c itemconfigure %lxNUMBER -font %s -fill %s\n", canvas, x, iemgui_font(&x->x_gui), issel ? selection_color : fcol); sys_vgui(".x%lx.c itemconfigure %lxBASE2 -stroke %s\n", canvas, x, issel ? selection_color : fcol); - iemgui_label_draw_config(&x->x_gui,canvas); sys_vgui(".x%lx.c itemconfigure %lxBASE1 -fill #%6.6x\n", canvas, x, x->x_gui.x_bcol); @@ -434,23 +433,18 @@ static void my_numbox_properties(t_gobj *z, t_glist *owner) } sprintf(buf, "pdtk_iemgui_dialog %%s |nbx| \ - -------dimensions(digits)(pix):------- %d %d width: %d %d height: \ - -----------output-range:----------- %g min: %g max: %d \ - %d lin log %d %d log-height: %d \ - {%s} {%s} \ - {%s} %d %d \ - %d %d \ - %d %d %d\n", - x->x_gui.x_w, 1, x->x_gui.x_h, 8, - x->x_min, x->x_max, - x->x_hide_frame, /*EXCEPTION: x_hide_frame instead of schedule*/ - x->x_lin0_log1, x->x_gui.x_loadinit, -1, - x->x_log_height, /*no multi, but iem-characteristic*/ - srl[0]->s_name, srl[1]->s_name, - srl[2]->s_name, x->x_gui.x_ldx, x->x_gui.x_ldy, - x->x_gui.x_font_style, x->x_gui.x_fontsize, - 0xffffff & x->x_gui.x_bcol, 0xffffff & x->x_gui.x_fcol, - 0xffffff & x->x_gui.x_lcol); + -------dimensions(digits)(pix):------- %d %d width: %d %d height: \ + -----------output-range:----------- %g min: %g max: %d \ + %d lin log %d %d log-height: %d {%s} {%s} {%s} %d %d %d %d %d %d %d\n", + x->x_gui.x_w, 1, x->x_gui.x_h, 8, x->x_min, x->x_max, + x->x_hide_frame, /*EXCEPTION: x_hide_frame instead of schedule*/ + x->x_lin0_log1, x->x_gui.x_loadinit, -1, + x->x_log_height, /*no multi, but iem-characteristic*/ + srl[0]->s_name, srl[1]->s_name, srl[2]->s_name, + x->x_gui.x_ldx, x->x_gui.x_ldy, + x->x_gui.x_font_style, x->x_gui.x_fontsize, + 0xffffff & x->x_gui.x_bcol, 0xffffff & x->x_gui.x_fcol, + 0xffffff & x->x_gui.x_lcol); gfxstub_new(&x->x_gui.x_obj.ob_pd, x, buf); } @@ -474,8 +468,8 @@ static void my_numbox_dialog(t_my_numbox *x, t_symbol *s, int argc, iemgui_dialog(&x->x_gui, argc, argv); x->x_numwidth = my_numbox_calc_fontwidth(x); my_numbox_check_minmax(x, min, max); - iemgui_draw_erase(&x->x_gui, x->x_gui.x_glist); - iemgui_shouldvis(&x->x_gui, IEM_GUI_DRAW_MODE_NEW); + x->x_gui.x_draw(x, x->x_gui.x_glist, IEM_GUI_DRAW_MODE_CONFIG); + x->x_gui.x_draw(x, x->x_gui.x_glist, IEM_GUI_DRAW_MODE_MOVE); scalehandle_draw(&x->x_gui, x->x_gui.x_glist); iemgui_label_draw_new(&x->x_gui, x->x_gui.x_glist); if (x->x_gui.x_selected) @@ -490,7 +484,7 @@ static void my_numbox_dialog(t_my_numbox *x, t_symbol *s, int argc, static void my_numbox_motion(t_my_numbox *x, t_floatarg dx, t_floatarg dy) { double k2=1.0; - int old = x->x_val; + int old = x->x_val; if(x->x_gui.x_finemoved) k2 = 0.01; diff --git a/pd/src/g_vumeter.c b/pd/src/g_vumeter.c index b45bf6456740d4e58054419ac890d6a4bd7f8087..34bba557614b0c537e6ca03cb87b7f2fd1231045 100644 --- a/pd/src/g_vumeter.c +++ b/pd/src/g_vumeter.c @@ -488,11 +488,9 @@ static void vu_properties(t_gobj *z, t_glist *owner) static void vu_dialog(t_vu *x, t_symbol *s, int argc, t_atom *argv) { canvas_apply_setundo(x->x_gui.x_glist, (t_gobj *)x); - //t_symbol *srl[3]; int w = atom_getintarg(0, argc, argv); int h = atom_getintarg(1, argc, argv); int scale = !!atom_getintarg(4, argc, argv); - //srl[0] = s_empty; int sr_flags = iemgui_dialog(&x->x_gui, argc, argv); x->x_gui.x_loadinit = 0; x->x_gui.x_w = iemgui_clip_size(w); @@ -500,8 +498,8 @@ static void vu_dialog(t_vu *x, t_symbol *s, int argc, t_atom *argv) vu_scale(x, (t_float)scale); x->x_gui.x_draw(x, x->x_gui.x_glist, IEM_GUI_DRAW_MODE_CONFIG); iemgui_draw_io(&x->x_gui, x->x_gui.x_glist, sr_flags); - scalehandle_draw(&x->x_gui, x->x_gui.x_glist); iemgui_shouldvis(&x->x_gui, IEM_GUI_DRAW_MODE_MOVE); + scalehandle_draw(&x->x_gui, x->x_gui.x_glist); scrollbar_update(x->x_gui.x_glist); } @@ -617,7 +615,7 @@ static void *vu_new(t_symbol *s, int argc, t_atom *argv) x->x_rms = 0; x->x_fp = -101.0; x->x_fr = -101.0; - iemgui_verify_snd_ne_rcv(&x->x_gui); + iemgui_verify_snd_ne_rcv(&x->x_gui); // makes no sense, because snd is unused inlet_new(&x->x_gui.x_obj, &x->x_gui.x_obj.ob_pd, &s_float, gensym("ft1")); x->x_out_rms = outlet_new(&x->x_gui.x_obj, &s_float); x->x_out_peak = outlet_new(&x->x_gui.x_obj, &s_float);