aboutsummaryrefslogtreecommitdiff
path: root/pd/src/g_numbox.c
diff options
context:
space:
mode:
authorMiller Puckette <millerpuckette@users.sourceforge.net>2005-08-16 04:06:28 +0000
committerMiller Puckette <millerpuckette@users.sourceforge.net>2005-08-16 04:06:28 +0000
commit8892fb6aabcbfd2c4695c154c22751b5fe5c9004 (patch)
treebd44e093cbc928e32560f70d4ca64fd593d5dc3c /pd/src/g_numbox.c
parentccd93386bb8edff9991df8d8cabf71b73039c5e3 (diff)
Configure.in was broken. Also, better GUI update queueing for
IEM guis and for 'data' (which should affect arrays.) svn path=/trunk/; revision=3430
Diffstat (limited to 'pd/src/g_numbox.c')
-rw-r--r--pd/src/g_numbox.c36
1 files changed, 19 insertions, 17 deletions
diff --git a/pd/src/g_numbox.c b/pd/src/g_numbox.c
index 547641c5..68e1399d 100644
--- a/pd/src/g_numbox.c
+++ b/pd/src/g_numbox.c
@@ -26,6 +26,7 @@
/*------------------ global functions -------------------------*/
static void my_numbox_key(void *z, t_floatarg fkey);
+static void my_numbox_draw_update(t_gobj *client, t_glist *glist);
/* ------------ nmx gui-my number box ----------------------- */
@@ -39,13 +40,13 @@ static void my_numbox_tick_reset(t_my_numbox *x)
if(x->x_gui.x_fsf.x_change && x->x_gui.x_glist)
{
x->x_gui.x_fsf.x_change = 0;
- (*x->x_gui.x_draw)(x, x->x_gui.x_glist, IEM_GUI_DRAW_MODE_UPDATE);
+ sys_queuegui(x, x->x_gui.x_glist, my_numbox_draw_update);
}
}
static void my_numbox_tick_wait(t_my_numbox *x)
{
- (*x->x_gui.x_draw)(x, x->x_gui.x_glist, IEM_GUI_DRAW_MODE_UPDATE);
+ sys_queuegui(x, x->x_gui.x_glist, my_numbox_draw_update);
}
void my_numbox_clip(t_my_numbox *x)
@@ -127,8 +128,9 @@ void my_numbox_ftoa(t_my_numbox *x)
}
}
-static void my_numbox_draw_update(t_my_numbox *x, t_glist *glist)
+static void my_numbox_draw_update(t_gobj *client, t_glist *glist)
{
+ t_my_numbox *x = (t_my_numbox *)client;
if (glist_isvisible(glist))
{
if(x->x_gui.x_fsf.x_change)
@@ -315,7 +317,7 @@ static void my_numbox_draw_select(t_my_numbox *x, t_glist *glist)
x->x_gui.x_fsf.x_change = 0;
clock_unset(x->x_clock_reset);
x->x_buf[0] = 0;
- (*x->x_gui.x_draw)(x, x->x_gui.x_glist, IEM_GUI_DRAW_MODE_UPDATE);
+ sys_queuegui(x, x->x_gui.x_glist, my_numbox_draw_update);
}
sys_vgui(".x%lx.c itemconfigure %lxBASE1 -outline #%6.6x\n",
canvas, x, IEM_GUI_COLOR_SELECTED);
@@ -342,7 +344,7 @@ static void my_numbox_draw_select(t_my_numbox *x, t_glist *glist)
void my_numbox_draw(t_my_numbox *x, t_glist *glist, int mode)
{
if(mode == IEM_GUI_DRAW_MODE_UPDATE)
- my_numbox_draw_update(x, glist);
+ sys_queuegui(x, glist, my_numbox_draw_update);
else if(mode == IEM_GUI_DRAW_MODE_MOVE)
my_numbox_draw_move(x, glist);
else if(mode == IEM_GUI_DRAW_MODE_NEW)
@@ -382,7 +384,7 @@ static void my_numbox_save(t_gobj *z, t_binbuf *b)
{
x->x_gui.x_fsf.x_change = 0;
clock_unset(x->x_clock_reset);
- (*x->x_gui.x_draw)(x, x->x_gui.x_glist, IEM_GUI_DRAW_MODE_UPDATE);
+ sys_queuegui(x, x->x_gui.x_glist, my_numbox_draw_update);
}
binbuf_addv(b, "ssiisiiffiisssiiiiiiifi", gensym("#X"),gensym("obj"),
(int)x->x_gui.x_obj.te_xpix, (int)x->x_gui.x_obj.te_ypix,
@@ -446,7 +448,7 @@ static void my_numbox_properties(t_gobj *z, t_glist *owner)
{
x->x_gui.x_fsf.x_change = 0;
clock_unset(x->x_clock_reset);
- (*x->x_gui.x_draw)(x, x->x_gui.x_glist, IEM_GUI_DRAW_MODE_UPDATE);
+ sys_queuegui(x, x->x_gui.x_glist, my_numbox_draw_update);
}
sprintf(buf, "pdtk_iemgui_dialog %%s NUMBERBOX \
@@ -522,7 +524,7 @@ static void my_numbox_motion(t_my_numbox *x, t_floatarg dx, t_floatarg dy)
else
x->x_val -= k2*dy;
my_numbox_clip(x);
- (*x->x_gui.x_draw)(x, x->x_gui.x_glist, IEM_GUI_DRAW_MODE_UPDATE);
+ sys_queuegui(x, x->x_gui.x_glist, my_numbox_draw_update);
my_numbox_bang(x);
clock_unset(x->x_clock_reset);
}
@@ -560,7 +562,7 @@ static int my_numbox_newclick(t_gobj *z, struct _glist *glist,
x->x_gui.x_fsf.x_change = 0;
clock_unset(x->x_clock_reset);
x->x_buf[0] = 0;
- (*x->x_gui.x_draw)(x, x->x_gui.x_glist, IEM_GUI_DRAW_MODE_UPDATE);
+ sys_queuegui(x, x->x_gui.x_glist, my_numbox_draw_update);
}
}
return (1);
@@ -570,7 +572,7 @@ static void my_numbox_set(t_my_numbox *x, t_floatarg f)
{
x->x_val = f;
my_numbox_clip(x);
- (*x->x_gui.x_draw)(x, x->x_gui.x_glist, IEM_GUI_DRAW_MODE_UPDATE);
+ sys_queuegui(x, x->x_gui.x_glist, my_numbox_draw_update);
}
static void my_numbox_log_height(t_my_numbox *x, t_floatarg lh)
@@ -622,7 +624,7 @@ static void my_numbox_range(t_my_numbox *x, t_symbol *s, int ac, t_atom *av)
if(my_numbox_check_minmax(x, (double)atom_getfloatarg(0, ac, av),
(double)atom_getfloatarg(1, ac, av)))
{
- (*x->x_gui.x_draw)(x, x->x_gui.x_glist, IEM_GUI_DRAW_MODE_UPDATE);
+ sys_queuegui(x, x->x_gui.x_glist, my_numbox_draw_update);
/*my_numbox_bang(x);*/
}
}
@@ -663,7 +665,7 @@ static void my_numbox_log(t_my_numbox *x)
x->x_lin0_log1 = 1;
if(my_numbox_check_minmax(x, x->x_min, x->x_max))
{
- (*x->x_gui.x_draw)(x, x->x_gui.x_glist, IEM_GUI_DRAW_MODE_UPDATE);
+ sys_queuegui(x, x->x_gui.x_glist, my_numbox_draw_update);
/*my_numbox_bang(x);*/
}
}
@@ -682,7 +684,7 @@ static void my_numbox_loadbang(t_my_numbox *x)
{
if(!sys_noloadbang && x->x_gui.x_isa.x_loadinit)
{
- (*x->x_gui.x_draw)(x, x->x_gui.x_glist, IEM_GUI_DRAW_MODE_UPDATE);
+ sys_queuegui(x, x->x_gui.x_glist, my_numbox_draw_update);
my_numbox_bang(x);
}
}
@@ -698,7 +700,7 @@ static void my_numbox_key(void *z, t_floatarg fkey)
{
x->x_gui.x_fsf.x_change = 0;
clock_unset(x->x_clock_reset);
- (*x->x_gui.x_draw)(x, x->x_gui.x_glist, IEM_GUI_DRAW_MODE_UPDATE);
+ sys_queuegui(x, x->x_gui.x_glist, my_numbox_draw_update);
return;
}
if(((c>='0')&&(c<='9'))||(c=='.')||(c=='-')||
@@ -708,7 +710,7 @@ static void my_numbox_key(void *z, t_floatarg fkey)
{
buf[0] = c;
strcat(x->x_buf, buf);
- (*x->x_gui.x_draw)(x, x->x_gui.x_glist, IEM_GUI_DRAW_MODE_UPDATE);
+ sys_queuegui(x, x->x_gui.x_glist, my_numbox_draw_update);
}
}
else if((c=='\b')||(c==127))
@@ -718,7 +720,7 @@ static void my_numbox_key(void *z, t_floatarg fkey)
if(sl < 0)
sl = 0;
x->x_buf[sl] = 0;
- (*x->x_gui.x_draw)(x, x->x_gui.x_glist, IEM_GUI_DRAW_MODE_UPDATE);
+ sys_queuegui(x, x->x_gui.x_glist, my_numbox_draw_update);
}
else if((c=='\n')||(c==13))
{
@@ -728,7 +730,7 @@ static void my_numbox_key(void *z, t_floatarg fkey)
clock_unset(x->x_clock_reset);
my_numbox_clip(x);
my_numbox_bang(x);
- (*x->x_gui.x_draw)(x, x->x_gui.x_glist, IEM_GUI_DRAW_MODE_UPDATE);
+ sys_queuegui(x, x->x_gui.x_glist, my_numbox_draw_update);
}
clock_delay(x->x_clock_reset, 3000);
}