From 64fdb009695828b788fce074135b20a5e52c5fc4 Mon Sep 17 00:00:00 2001 From: Thomas Grill Date: Tue, 23 Sep 2003 00:21:28 +0000 Subject: imported version 0.37-0 svn path=/trunk/; revision=1016 --- pd/src/g_bang.c | 43 +++++++++++++++++++------------------------ 1 file changed, 19 insertions(+), 24 deletions(-) (limited to 'pd/src/g_bang.c') diff --git a/pd/src/g_bang.c b/pd/src/g_bang.c index 07553972..1b1d6f4a 100644 --- a/pd/src/g_bang.c +++ b/pd/src/g_bang.c @@ -196,20 +196,18 @@ static void bng_getrect(t_gobj *z, t_glist *glist, int *xp1, int *yp1, int *xp2, static void bng_save(t_gobj *z, t_binbuf *b) { t_bng *x = (t_bng *)z; - int bflcol[3], *ip1, *ip2; + int bflcol[3]; t_symbol *srl[3]; iemgui_save(&x->x_gui, srl, bflcol); - ip1 = (int *)(&x->x_gui.x_isa); - ip2 = (int *)(&x->x_gui.x_fsf); binbuf_addv(b, "ssiisiiiisssiiiiiii", gensym("#X"),gensym("obj"), (t_int)x->x_gui.x_obj.te_xpix, (t_int)x->x_gui.x_obj.te_ypix, gensym("bng"), x->x_gui.x_w, x->x_flashtime_hold, x->x_flashtime_break, - (*ip1)&IEM_INIT_ARGS_ALL, + iem_symargstoint(&x->x_gui.x_isa), srl[0], srl[1], srl[2], x->x_gui.x_ldx, x->x_gui.x_ldy, - (*ip2)&IEM_FSTYLE_FLAGS_ALL, x->x_gui.x_fontsize, + iem_fstyletoint(&x->x_gui.x_fsf), x->x_gui.x_fontsize, bflcol[0], bflcol[1], bflcol[2]); binbuf_addv(b, ";"); } @@ -437,12 +435,13 @@ static void *bng_new(t_symbol *s, int argc, t_atom *argv) t_symbol *srl[3]; int a=IEM_GUI_DEFAULTSIZE; int ldx=0, ldy=-6; - int fs=8, iinit=0, ifstyle=0; - int ftbreak=IEM_BNG_DEFAULTBREAKFLASHTIME, fthold=IEM_BNG_DEFAULTHOLDFLASHTIME; - t_iem_init_symargs *init=(t_iem_init_symargs *)(&iinit); - t_iem_fstyle_flags *fstyle=(t_iem_fstyle_flags *)(&ifstyle); + int fs=8; + int ftbreak=IEM_BNG_DEFAULTBREAKFLASHTIME, + fthold=IEM_BNG_DEFAULTHOLDFLASHTIME; char str[144]; + iem_inttosymargs(&x->x_gui.x_isa, 0); + iem_inttofstyle(&x->x_gui.x_fsf, 0); srl[0] = gensym("empty"); srl[1] = gensym("empty"); srl[2] = gensym("empty"); @@ -461,7 +460,7 @@ static void *bng_new(t_symbol *s, int argc, t_atom *argv) a = (int)atom_getintarg(0, argc, argv); fthold = (int)atom_getintarg(1, argc, argv); ftbreak = (int)atom_getintarg(2, argc, argv); - iinit = (int)(atom_getintarg(3, argc, argv)); + iem_inttosymargs(&x->x_gui.x_isa, atom_getintarg(3, argc, argv)); if(IS_A_SYMBOL(argv,4)) srl[0] = atom_getsymbolarg(4, argc, argv); else if(IS_A_FLOAT(argv,4)) @@ -485,7 +484,7 @@ static void *bng_new(t_symbol *s, int argc, t_atom *argv) } ldx = (int)atom_getintarg(7, argc, argv); ldy = (int)atom_getintarg(8, argc, argv); - ifstyle = (int)(atom_getintarg(9, argc, argv)); + iem_inttofstyle(&x->x_gui.x_fsf, atom_getintarg(9, argc, argv)); fs = (int)atom_getintarg(10, argc, argv); bflcol[0] = (int)atom_getintarg(11, argc, argv); bflcol[1] = (int)atom_getintarg(12, argc, argv); @@ -493,22 +492,18 @@ static void *bng_new(t_symbol *s, int argc, t_atom *argv) } x->x_gui.x_draw = (t_iemfunptr)bng_draw; - iinit &= IEM_INIT_ARGS_ALL; - ifstyle &= IEM_FSTYLE_FLAGS_ALL; - fstyle->x_snd_able = 1; - fstyle->x_rcv_able = 1; + x->x_gui.x_fsf.x_snd_able = 1; + x->x_gui.x_fsf.x_rcv_able = 1; x->x_flashed = 0; x->x_gui.x_glist = (t_glist *)canvas_getcurrent(); - x->x_gui.x_isa = *init; - if(!strcmp(srl[0]->s_name, "empty")) fstyle->x_snd_able = 0; - if(!strcmp(srl[1]->s_name, "empty")) fstyle->x_rcv_able = 0; + if(!strcmp(srl[0]->s_name, "empty")) x->x_gui.x_fsf.x_snd_able = 0; + if(!strcmp(srl[1]->s_name, "empty")) x->x_gui.x_fsf.x_rcv_able = 0; x->x_gui.x_unique_num = 0; - if(fstyle->x_font_style == 1) strcpy(x->x_gui.x_font, "helvetica"); - else if(fstyle->x_font_style == 2) strcpy(x->x_gui.x_font, "times"); - else { fstyle->x_font_style = 0; + if(x->x_gui.x_fsf.x_font_style == 1) strcpy(x->x_gui.x_font, "helvetica"); + else if(x->x_gui.x_fsf.x_font_style == 2) strcpy(x->x_gui.x_font, "times"); + else { x->x_gui.x_fsf.x_font_style = 0; strcpy(x->x_gui.x_font, "courier"); } - x->x_gui.x_fsf = *fstyle; iemgui_first_dollararg2sym(&x->x_gui, srl); if(x->x_gui.x_fsf.x_rcv_able) pd_bind(&x->x_gui.x_obj.ob_pd, srl[1]); @@ -577,8 +572,8 @@ void g_bang_setup(void) bng_widgetbehavior.w_deletefn = iemgui_delete; bng_widgetbehavior.w_visfn = iemgui_vis; bng_widgetbehavior.w_clickfn = bng_newclick; - bng_widgetbehavior.w_propertiesfn = bng_properties; - bng_widgetbehavior.w_savefn = bng_save; class_setwidget(bng_class, &bng_widgetbehavior); class_sethelpsymbol(bng_class, gensym("bng")); + class_setsavefn(bng_class, bng_save); + class_setpropertiesfn(bng_class, bng_properties); } -- cgit v1.2.1