[PD-cvs] pd/src g_all_guis.c,1.1.1.4.2.4.2.37,1.1.1.4.2.4.2.38 g_all_guis.h,1.1.1.4.2.2.2.32,1.1.1.4.2.2.2.33 g_bang.c,1.1.1.3.2.2.2.29,1.1.1.3.2.2.2.30 g_dropper.c,1.1.2.21,1.1.2.22 g_hdial.c,1.1.1.4.2.2.2.26,1.1.1.4.2.2.2.27 g_hslider.c,1.1.1.3.2.2.2.31,1.1.1.3.2.2.2.32 g_mycanvas.c,1.1.1.3.2.2.2.17,1.1.1.3.2.2.2.18 g_numbox.c,1.1.1.4.2.2.2.26,1.1.1.4.2.2.2.27 g_toggle.c,1.1.1.3.2.2.2.25,1.1.1.3.2.2.2.26 g_vumeter.c,1.1.1.3.2.2.2.22,1.1.1.3.2.2.2.23

Mathieu Bouchard matju at users.sourceforge.net
Thu May 13 16:37:22 CEST 2004


Update of /cvsroot/pure-data/pd/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20133

Modified Files:
      Tag: impd_0_37
	g_all_guis.c g_all_guis.h g_bang.c g_dropper.c g_hdial.c 
	g_hslider.c g_mycanvas.c g_numbox.c g_toggle.c g_vumeter.c 
Log Message:
replacing iemgui_dodraw() by pd_changed(), and added more bugs.


Index: g_toggle.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/g_toggle.c,v
retrieving revision 1.1.1.3.2.2.2.25
retrieving revision 1.1.1.3.2.2.2.26
diff -C2 -d -r1.1.1.3.2.2.2.25 -r1.1.1.3.2.2.2.26
*** g_toggle.c	12 May 2004 10:25:02 -0000	1.1.1.3.2.2.2.25
--- g_toggle.c	13 May 2004 14:37:20 -0000	1.1.1.3.2.2.2.26
***************
*** 39,43 ****
  {
      x->x_on = x->x_on?0.0:x->x_nonzero;
!     iemgui_dodraw((t_iemgui *)x);
      toggle_action(x);
  }
--- 39,43 ----
  {
      x->x_on = x->x_on?0.0:x->x_nonzero;
!     pd_changed(x);
      toggle_action(x);
  }
***************
*** 48,52 ****
      x->x_on=f;
      if(f) x->x_nonzero=f;
!     if (on!=x->x_on) iemgui_dodraw((t_iemgui *)x);
  }
  
--- 48,52 ----
      x->x_on=f;
      if(f) x->x_nonzero=f;
!     if (on!=x->x_on) pd_changed(x);
  }
  
***************
*** 82,86 ****
      iemgui_constrain(y);
      if (y->x_rcv) pd_bind((t_pd *)x, y->x_rcv);
!     if (glist_isvisible(glist_getcanvas(y->x_glist))) iemgui_dodraw((t_iemgui *)x);
  }
  
--- 82,86 ----
      iemgui_constrain(y);
      if (y->x_rcv) pd_bind((t_pd *)x, y->x_rcv);
!     pd_changed(x);
  }
  

Index: g_hdial.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/g_hdial.c,v
retrieving revision 1.1.1.4.2.2.2.26
retrieving revision 1.1.1.4.2.2.2.27
diff -C2 -d -r1.1.1.4.2.2.2.26 -r1.1.1.4.2.2.2.27
*** g_hdial.c	12 May 2004 10:25:02 -0000	1.1.1.4.2.2.2.26
--- g_hdial.c	13 May 2004 14:37:20 -0000	1.1.1.4.2.2.2.27
***************
*** 44,48 ****
      if(x->x_on!=old) x->x_on_old = x->x_on;
      x->x_on = i;
!     iemgui_dodraw((t_iemgui *)x);
      if(x->x_on!=old) x->x_on_old = old;
  }
--- 44,48 ----
      if(x->x_on!=old) x->x_on_old = x->x_on;
      x->x_on = i;
!     pd_changed(x);
      if(x->x_on!=old) x->x_on_old = old;
  }
***************
*** 84,88 ****
  	x->x_on_old = x->x_on;
  	x->x_on = i;
! 	iemgui_dodraw((t_iemgui *)x);
  	x->x_on_old = x->x_on;
  	radio_send2(x,x->x_on,1.0);
--- 84,88 ----
  	x->x_on_old = x->x_on;
  	x->x_on = i;
! 	pd_changed(x);
  	x->x_on_old = x->x_on;
  	radio_send2(x,x->x_on,1.0);
***************
*** 90,94 ****
  	x->x_on = i;
  	radio_send(x,x->x_on);
! 	iemgui_dodraw((t_iemgui *)x);
  	x->x_on_old = x->x_on;
      }
--- 90,94 ----
  	x->x_on = i;
  	radio_send(x,x->x_on);
! 	pd_changed(x);
  	x->x_on_old = x->x_on;
      }
***************
*** 106,110 ****
  	x->x_on_old = x->x_on;
  	x->x_on = i;
! 	iemgui_dodraw((t_iemgui *)x);
  	x->x_on_old = x->x_on;
  	if(iemgui_forward(x)) radio_send2(x,x->x_on,1.0);
--- 106,110 ----
  	x->x_on_old = x->x_on;
  	x->x_on = i;
! 	pd_changed(x);
  	x->x_on_old = x->x_on;
  	if(iemgui_forward(x)) radio_send2(x,x->x_on,1.0);
***************
*** 112,116 ****
      	x->x_on = i;
  	if (iemgui_forward(x)) radio_send(x,x->x_on);
! 	iemgui_dodraw((t_iemgui *)x);
  	x->x_on_old = x->x_on;
      }
--- 112,116 ----
      	x->x_on = i;
  	if (iemgui_forward(x)) radio_send(x,x->x_on);
! 	pd_changed(x);
  	x->x_on_old = x->x_on;
      }
***************
*** 125,133 ****
      CLAMP(n,1,IEM_RADIO_MAX);
      if(n != x->x_number) {
! 	x->x_gui.x_draw(x, x->x_gui.x_glist, IEM_GUI_DRAW_MODE_ERASE);
  	x->x_number = n;
  	CLAMP(x->x_on,0,x->x_number-1);
  	x->x_on_old = x->x_on;
! 	iemgui_dodraw((t_iemgui *)x);
      }
  }
--- 125,133 ----
      CLAMP(n,1,IEM_RADIO_MAX);
      if(n != x->x_number) {
! 	sys_mgui(x,"erase","");
  	x->x_number = n;
  	CLAMP(x->x_on,0,x->x_number-1);
  	x->x_on_old = x->x_on;
! 	pd_changed(x);
      }
  }
***************
*** 152,156 ****
      iemgui_constrain(y);
      if (y->x_rcv) pd_bind((t_pd *)x, y->x_rcv);
!     if (glist_isvisible(glist_getcanvas(y->x_glist))) iemgui_dodraw((t_iemgui *)x);
  }
  
--- 152,156 ----
      iemgui_constrain(y);
      if (y->x_rcv) pd_bind((t_pd *)x, y->x_rcv);
!     pd_changed(x);
  }
  

Index: g_vumeter.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/g_vumeter.c,v
retrieving revision 1.1.1.3.2.2.2.22
retrieving revision 1.1.1.3.2.2.2.23
diff -C2 -d -r1.1.1.3.2.2.2.22 -r1.1.1.3.2.2.2.23
*** g_vumeter.c	12 May 2004 10:35:43 -0000	1.1.1.3.2.2.2.22
--- g_vumeter.c	13 May 2004 14:37:20 -0000	1.1.1.3.2.2.2.23
***************
*** 39,43 ****
  void vu_draw(t_vu *x, t_glist *glist, int mode) {
      iemgui_draw((t_iemgui *)x,glist,mode);
!     sys_mgui((t_iemgui *)x,"set","ii",x->x_rms,x->x_peak);
  }
  
--- 39,43 ----
  void vu_draw(t_vu *x, t_glist *glist, int mode) {
      iemgui_draw((t_iemgui *)x,glist,mode);
! //    sys_mgui((t_iemgui *)x,"set","ii",x->x_rms,x->x_peak);
  }
  
***************
*** 60,64 ****
  
  static void vu_scale(t_vu *x, t_floatarg fscale)
! {x->x_scale = !!fscale; iemgui_dodraw((t_iemgui *)x);}
  
  static void vu_size(t_vu *x, t_symbol *s, int ac, t_atom *av)
--- 60,64 ----
  
  static void vu_scale(t_vu *x, t_floatarg fscale)
! {x->x_scale = !!fscale; pd_changed(x);}
  
  static void vu_size(t_vu *x, t_symbol *s, int ac, t_atom *av)
***************
*** 66,73 ****
      x->x_gui.x_w = iemgui_clip_size((int)atom_getintarg(0, ac, av));
      if(ac > 1) vu_check_height(x, (int)atom_getintarg(1, ac, av));
!     if(glist_isvisible(x->x_gui.x_glist)) {
! 	iemgui_dodraw((t_iemgui *)x);
  	canvas_fixlinesfor(glist_getcanvas(x->x_gui.x_glist), (t_text*)x);
-     }
  }
  
--- 66,72 ----
      x->x_gui.x_w = iemgui_clip_size((int)atom_getintarg(0, ac, av));
      if(ac > 1) vu_check_height(x, (int)atom_getintarg(1, ac, av));
!     pd_changed(x);
!     if(glist_isvisible(x->x_gui.x_glist))
  	canvas_fixlinesfor(glist_getcanvas(x->x_gui.x_glist), (t_text*)x);
  }
  
***************
*** 100,104 ****
      iemgui_constrain(y);
      if(y->x_rcv) pd_bind((t_pd *)x, y->x_rcv);
!     if (glist_isvisible(glist_getcanvas(y->x_glist))) iemgui_dodraw((t_iemgui *)x);
  }
  
--- 99,103 ----
      iemgui_constrain(y);
      if(y->x_rcv) pd_bind((t_pd *)x, y->x_rcv);
!     pd_changed(x);
  }
  

Index: g_all_guis.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/g_all_guis.c,v
retrieving revision 1.1.1.4.2.4.2.37
retrieving revision 1.1.1.4.2.4.2.38
diff -C2 -d -r1.1.1.4.2.4.2.37 -r1.1.1.4.2.4.2.38
*** g_all_guis.c	12 May 2004 10:35:42 -0000	1.1.1.4.2.4.2.37
--- g_all_guis.c	13 May 2004 14:37:20 -0000	1.1.1.4.2.4.2.38
***************
*** 31,36 ****
  t_symbol *s_empty;
  
- EXTERN void iemgui_dodraw(t_iemgui *x) {x->x_draw(x,x->x_glist, 0);}
- 
  /*------------------ global varaibles -------------------------*/
  
--- 31,34 ----
***************
*** 86,90 ****
      x->x_snd = canvas_realizedollar(x->x_glist, s);
      if (x->x_snd==s_empty) x->x_snd=0;
!     iemgui_dodraw(x);
  }
  
--- 84,88 ----
      x->x_snd = canvas_realizedollar(x->x_glist, s);
      if (x->x_snd==s_empty) x->x_snd=0;
!     pd_changed(x);
  }
  
***************
*** 103,112 ****
  	x->x_rcv = rcv;
      }
!     if(glist_isvisible(x->x_glist)) iemgui_dodraw(x);
  }
  
  static void iemgui_label(t_iemgui *x, t_symbol *s) {
      x->x_lab = s;
!     if(glist_isvisible(x->x_glist)) iemgui_dodraw(x);
  }
  
--- 101,110 ----
  	x->x_rcv = rcv;
      }
!     pd_changed(x);
  }
  
  static void iemgui_label(t_iemgui *x, t_symbol *s) {
      x->x_lab = s;
!     pd_changed(x);
  }
  
***************
*** 114,118 ****
      x->x_ldx = (int)ldx;
      x->x_ldy = (int)ldy;
!     if(glist_isvisible(x->x_glist)) iemgui_dodraw(x);
  }
  
--- 112,116 ----
      x->x_ldx = (int)ldx;
      x->x_ldy = (int)ldy;
!     pd_changed(x);
  }
  
***************
*** 120,129 ****
      x->x_fontsize = MAX(4,(int)atom_getintarg(1, ac, av));
      x->x_font_style = atom_getintarg(0, ac, av);
!     if(glist_isvisible(x->x_glist)) iemgui_dodraw(x);
  }
  
  void iemgui_size(t_iemgui *x) {
      if(glist_isvisible(x->x_glist)) {
! 	iemgui_dodraw(x);
  	canvas_fixlinesfor(glist_getcanvas(x->x_glist), (t_text*)x);
      }
--- 118,127 ----
      x->x_fontsize = MAX(4,(int)atom_getintarg(1, ac, av));
      x->x_font_style = atom_getintarg(0, ac, av);
!     pd_changed(x);
  }
  
  void iemgui_size(t_iemgui *x) {
      if(glist_isvisible(x->x_glist)) {
! 	pd_changed(x);
  	canvas_fixlinesfor(glist_getcanvas(x->x_glist), (t_text*)x);
      }
***************
*** 153,157 ****
      if(ac > 2) x->x_fcol = iemgui_compatible_col(atom_getintarg(i++, ac, av));
      x->x_lcol = iemgui_compatible_col(atom_getintarg(i++, ac, av));
!     if(glist_isvisible(x->x_glist)) iemgui_dodraw(x);
  }
  
--- 151,155 ----
      if(ac > 2) x->x_fcol = iemgui_compatible_col(atom_getintarg(i++, ac, av));
      x->x_lcol = iemgui_compatible_col(atom_getintarg(i++, ac, av));
!     pd_changed(x);
  }
  
***************
*** 161,170 ****
      x->x_obj.te_xpix += dx;
      x->x_obj.te_ypix += dy;
!     x->x_draw(z, glist, 0);
      canvas_fixlinesfor(glist_getcanvas(glist), (t_text *)z);
  }
  
  void iemgui_select(t_gobj *z, t_glist *glist, int selected)
! {t_iemgui *x = (t_iemgui *)z; sys_vgui("canvas_select_object .x%x %x %d; ",glist,z,selected); x->x_draw(z,glist,0);}
  
  void iemgui_delete(t_gobj *z, t_glist *glist)
--- 159,168 ----
      x->x_obj.te_xpix += dx;
      x->x_obj.te_ypix += dy;
!     pd_changed(z);
      canvas_fixlinesfor(glist_getcanvas(glist), (t_text *)z);
  }
  
  void iemgui_select(t_gobj *z, t_glist *glist, int selected)
! {t_iemgui *x = (t_iemgui *)z; sys_vgui("canvas_select_object .x%x %x %d; ",glist,z,selected); pd_changed(z);}
  
  void iemgui_delete(t_gobj *z, t_glist *glist)
***************
*** 173,177 ****
  void iemgui_vis(t_gobj *z, t_glist *glist, int vis) {
  	t_iemgui *x = (t_iemgui *)z;
! 	if (vis) x->x_draw(z, glist, 0);
  	else sys_mgui(x,"erase","");
  }
--- 171,175 ----
  void iemgui_vis(t_gobj *z, t_glist *glist, int vis) {
  	t_iemgui *x = (t_iemgui *)z;
! 	if (vis) pd_changed(z);
  	else sys_mgui(x,"erase","");
  }
***************
*** 357,364 ****
  }
  
! EXTERN void iemgui_draw(t_iemgui *x, t_glist *glist, int mode) {
! /*if (!glist_isvisible(glist_getcanvas(glist))) return; <-- doesn't work because NEW object isn't visible yet */
! 	pd_upload((t_gobj *)x,glist);
! 	sys_mgui(x,"draw","");
  }
  
--- 355,367 ----
  }
  
! EXTERN void iemgui_draw(t_iemgui *self, t_glist *glist, int mode) {
! 	fprintf(stderr,"self=%08x, self->te_binbuf=%08x\n",self,self->x_obj.te_binbuf);
! 	if (!self->x_obj.te_binbuf) {
! 		pd_error(self,"trying to upload without binbuf");
! 		return;
! 	}
! 	pd_upload((t_gobj *)self,glist);
! 	//if (!glist_isvisible(glist_getcanvas(glist))) return; /* <-- doesn't really work */
! 	sys_mgui(self,"draw","");
  }
  
***************
*** 397,398 ****
--- 400,408 ----
  	return !self->x_snd || !self->x_rcv || self->x_snd != self->x_rcv;
  }
+ 
+ /* LATER this will instead maintain a hashtable of objects that should redrawn,
+    and the scheduler will flush it (or part of it) once in a while... */
+ EXTERN void pd_changed (/*t_gobj*/ void *x) {
+ 	t_iemgui *self = (t_iemgui *)x;
+ 	self->x_draw(self,self->x_glist, 0);
+ }

Index: g_mycanvas.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/g_mycanvas.c,v
retrieving revision 1.1.1.3.2.2.2.17
retrieving revision 1.1.1.3.2.2.2.18
diff -C2 -d -r1.1.1.3.2.2.2.17 -r1.1.1.3.2.2.2.18
*** g_mycanvas.c	12 May 2004 09:13:18 -0000	1.1.1.3.2.2.2.17
--- g_mycanvas.c	13 May 2004 14:37:20 -0000	1.1.1.3.2.2.2.18
***************
*** 30,47 ****
  static void my_canvas_get_pos(t_my_canvas *x)
  {
!     if(x->x_gui.x_snd && x->x_gui.x_snd->s_thing)
!     {
! 	x->x_at[0].a_w.w_float = text_xpix(&x->x_gui.x_obj, x->x_gui.x_glist);
! 	x->x_at[1].a_w.w_float = text_ypix(&x->x_gui.x_obj, x->x_gui.x_glist);
! 	pd_list(x->x_gui.x_snd->s_thing, &s_list, 2, x->x_at);
      }
  }
  
  static void my_canvas_size(t_my_canvas *x, t_symbol *s, int ac, t_atom *av)
! {
!     int i = (int)atom_getintarg(0, ac, av);
!     x->x_gui.x_w = x->x_gui.x_h = MAX(i,1);
!     iemgui_size((t_iemgui *)x);
! }
  
  static void my_canvas_vis_size(t_my_canvas *x, t_symbol *s, int ac, t_atom *av)
--- 30,43 ----
  static void my_canvas_get_pos(t_my_canvas *x)
  {
!     t_iemgui *y = (t_iemgui *)x;
!     if(y->x_snd && y->x_snd->s_thing) {
! 	x->x_at[0].a_w.w_float = text_xpix(&y->x_obj, y->x_glist);
! 	x->x_at[1].a_w.w_float = text_ypix(&y->x_obj, y->x_glist);
! 	pd_list(y->x_snd->s_thing, &s_list, 2, x->x_at);
      }
  }
  
  static void my_canvas_size(t_my_canvas *x, t_symbol *s, int ac, t_atom *av)
! {x->x_gui.x_w = x->x_gui.x_h = MAX(1,atom_getintarg(0, ac, av)); iemgui_size((t_iemgui *)x);}
  
  static void my_canvas_vis_size(t_my_canvas *x, t_symbol *s, int ac, t_atom *av)
***************
*** 49,53 ****
      x->x_vis_h = x->x_vis_w = MAX(1,(int)atom_getintarg(0, ac, av));
      if(ac > 1) x->x_vis_h = MAX(1,(int)atom_getintarg(1, ac, av));
!     if(glist_isvisible(x->x_gui.x_glist)) iemgui_dodraw((t_iemgui *)x);
  }
  
--- 45,49 ----
      x->x_vis_h = x->x_vis_w = MAX(1,(int)atom_getintarg(0, ac, av));
      if(ac > 1) x->x_vis_h = MAX(1,(int)atom_getintarg(1, ac, av));
!     pd_changed(x);
  }
  
***************
*** 65,69 ****
      iemgui_constrain(y);
      if (y->x_rcv) pd_bind((t_pd *)x, y->x_rcv);
!     if (glist_isvisible(glist_getcanvas(y->x_glist))) iemgui_dodraw((t_iemgui *)x);
  }
  
--- 61,65 ----
      iemgui_constrain(y);
      if (y->x_rcv) pd_bind((t_pd *)x, y->x_rcv);
!     pd_changed(x);
  }
  

Index: g_hslider.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/g_hslider.c,v
retrieving revision 1.1.1.3.2.2.2.31
retrieving revision 1.1.1.3.2.2.2.32
diff -C2 -d -r1.1.1.3.2.2.2.31 -r1.1.1.3.2.2.2.32
*** g_hslider.c	12 May 2004 10:25:02 -0000	1.1.1.3.2.2.2.31
--- g_hslider.c	13 May 2004 14:37:20 -0000	1.1.1.3.2.2.2.32
***************
*** 79,83 ****
      x->x_val = (int)(100.0*g + 0.49999);
      x->x_pos = x->x_val;
!     iemgui_dodraw((t_iemgui *)x);
  }
  
--- 79,83 ----
      x->x_val = (int)(100.0*g + 0.49999);
      x->x_pos = x->x_val;
!     pd_changed(x);
  }
  
***************
*** 118,122 ****
  {
      t_iemgui *y = (t_iemgui *)x;
-     int v;
      binbuf_update(y,gensym(isvert(x)?"vsl":"hsl"),argc,argv);
      if(!pd_scanargs(argc,argv,"iiddbiaaaiiiiccci;b",
--- 118,121 ----
***************
*** 124,129 ****
  	&y->x_snd,&y->x_rcv,&y->x_lab,
  	&y->x_ldx,&y->x_ldy,&y->x_font_style,&y->x_fontsize,
! 	&y->x_bcol,&y->x_fcol,&y->x_lcol,&v,&x->x_steady)) return;
!     x->x_pos = x->x_val = y->x_isa&1 ? v : 0;
      iemgui_constrain(y);
      slider_check_minmax(x);
--- 123,128 ----
  	&y->x_snd,&y->x_rcv,&y->x_lab,
  	&y->x_ldx,&y->x_ldy,&y->x_font_style,&y->x_fontsize,
! 	&y->x_bcol,&y->x_fcol,&y->x_lcol,&x->x_val,&x->x_steady)) return;
!     x->x_pos = x->x_val = y->x_isa&1 ? x->x_val : 0;
      iemgui_constrain(y);
      slider_check_minmax(x);
***************
*** 131,135 ****
      else           slider_check_width(x, y->x_w);
      if(y->x_rcv) pd_bind((t_pd *)x, y->x_rcv);
!     if (glist_isvisible(glist_getcanvas(y->x_glist))) iemgui_dodraw((t_iemgui *)x);
  }
  
--- 130,134 ----
      else           slider_check_width(x, y->x_w);
      if(y->x_rcv) pd_bind((t_pd *)x, y->x_rcv);
!     pd_changed(x);
  }
  

Index: g_dropper.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/Attic/g_dropper.c,v
retrieving revision 1.1.2.21
retrieving revision 1.1.2.22
diff -C2 -d -r1.1.2.21 -r1.1.2.22
*** g_dropper.c	12 May 2004 09:13:18 -0000	1.1.2.21
--- g_dropper.c	13 May 2004 14:37:20 -0000	1.1.2.22
***************
*** 57,61 ****
      if (y->x_rcv) pd_bind((t_pd *)x, y->x_rcv);
      iemgui_constrain(y);
!     if (glist_isvisible(glist_getcanvas(y->x_glist))) iemgui_dodraw((t_iemgui *)x);
  }
  
--- 57,61 ----
      if (y->x_rcv) pd_bind((t_pd *)x, y->x_rcv);
      iemgui_constrain(y);
!     pd_changed(x);
  }
  

Index: g_bang.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/g_bang.c,v
retrieving revision 1.1.1.3.2.2.2.29
retrieving revision 1.1.1.3.2.2.2.30
diff -C2 -d -r1.1.1.3.2.2.2.29 -r1.1.1.3.2.2.2.30
*** g_bang.c	12 May 2004 10:25:02 -0000	1.1.1.3.2.2.2.29
--- g_bang.c	13 May 2004 14:37:20 -0000	1.1.1.3.2.2.2.30
***************
*** 99,103 ****
      iemgui_constrain(y);
      if (y->x_rcv) pd_bind((t_pd *)x, y->x_rcv);
!     if (glist_isvisible(glist_getcanvas(y->x_glist))) iemgui_dodraw((t_iemgui *)x);
  }
  
--- 99,103 ----
      iemgui_constrain(y);
      if (y->x_rcv) pd_bind((t_pd *)x, y->x_rcv);
!     pd_changed(x);
  }
  

Index: g_numbox.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/g_numbox.c,v
retrieving revision 1.1.1.4.2.2.2.26
retrieving revision 1.1.1.4.2.2.2.27
diff -C2 -d -r1.1.1.4.2.2.2.26 -r1.1.1.4.2.2.2.27
*** g_numbox.c	12 May 2004 10:25:02 -0000	1.1.1.4.2.2.2.26
--- g_numbox.c	13 May 2004 14:37:20 -0000	1.1.1.4.2.2.2.27
***************
*** 13,17 ****
  #include "g_all_guis.h"
  #include <math.h>
! #define CH post("%d: change=%d", __LINE__, (int)x->x_change);
   
  static t_class *my_numbox_class;
--- 13,18 ----
  #include "g_all_guis.h"
  #include <math.h>
! //#define CH post("%d: change=%d", __LINE__, (int)x->x_change);
! #define CH
   
  static t_class *my_numbox_class;
***************
*** 24,35 ****
      x->x_change = 0; CH
      glist_grab(x->x_gui.x_glist, 0, 0, 0, 0, 0);
!     iemgui_dodraw((t_iemgui *)x);
  }
  
! static void my_numbox_tick_wait(t_my_numbox *x)
! {iemgui_dodraw((t_iemgui *)x);}
! 
! void my_numbox_clip(t_my_numbox *x)
! {CLAMP(x->x_val,x->x_min,x->x_max);}
  
  void my_numbox_calc_fontwidth(t_my_numbox *x)
--- 25,33 ----
      x->x_change = 0; CH
      glist_grab(x->x_gui.x_glist, 0, 0, 0, 0, 0);
!     pd_changed(x);
  }
  
! static void my_numbox_tick_wait(t_my_numbox *x) {pd_changed(x);}
! void my_numbox_clip(t_my_numbox *x) {CLAMP(x->x_val,x->x_min,x->x_max);}
  
  void my_numbox_calc_fontwidth(t_my_numbox *x)
***************
*** 80,84 ****
      if(x->x_is_log) x->x_val *= pow(x->x_k, -k2*dy); else x->x_val -= k2*dy;
      my_numbox_clip(x);
!     iemgui_dodraw((t_iemgui *)x);
      my_numbox_bang(x);
      clock_unset(x->x_clock_reset);
--- 78,82 ----
      if(x->x_is_log) x->x_val *= pow(x->x_k, -k2*dy); else x->x_val -= k2*dy;
      my_numbox_clip(x);
!     pd_changed(x);
      my_numbox_bang(x);
      clock_unset(x->x_clock_reset);
***************
*** 86,90 ****
  
  static void my_numbox_set(t_my_numbox *x, t_floatarg f)
! {x->x_val=f; my_numbox_clip(x); iemgui_dodraw((t_iemgui *)x);}
  
  static void my_numbox_log_height(t_my_numbox *x, t_floatarg lh)
--- 84,88 ----
  
  static void my_numbox_set(t_my_numbox *x, t_floatarg f)
! {x->x_val=f; my_numbox_clip(x); pd_changed(x);}
  
  static void my_numbox_log_height(t_my_numbox *x, t_floatarg lh)
***************
*** 107,115 ****
  static void my_numbox_range(t_my_numbox *x, t_float min, t_float max)
  {x->x_min=min; x->x_max=max;
!  if(my_numbox_check_minmax(x)) iemgui_dodraw((t_iemgui *)x);}
  
  static void my_numbox_lin(t_my_numbox *x) {x->x_is_log=0;}
  static void my_numbox_log(t_my_numbox *x) {x->x_is_log=1;
!     if(my_numbox_check_minmax(x)) iemgui_dodraw((t_iemgui *)x);}
  
  static void my_numbox_loadbang(t_my_numbox *x)
--- 105,113 ----
  static void my_numbox_range(t_my_numbox *x, t_float min, t_float max)
  {x->x_min=min; x->x_max=max;
!  if(my_numbox_check_minmax(x)) pd_changed(x);}
  
  static void my_numbox_lin(t_my_numbox *x) {x->x_is_log=0;}
  static void my_numbox_log(t_my_numbox *x) {x->x_is_log=1;
!     if(my_numbox_check_minmax(x)) pd_changed(x);}
  
  static void my_numbox_loadbang(t_my_numbox *x)
***************
*** 140,144 ****
      y->x_w = MAX(y->x_w,1);
      if (y->x_rcv) pd_bind((t_pd *)x, y->x_rcv);
!     if (glist_isvisible(glist_getcanvas(y->x_glist))) iemgui_dodraw((t_iemgui *)x);
  }
  
--- 138,142 ----
      y->x_w = MAX(y->x_w,1);
      if (y->x_rcv) pd_bind((t_pd *)x, y->x_rcv);
!     pd_changed(x);
  }
  

Index: g_all_guis.h
===================================================================
RCS file: /cvsroot/pure-data/pd/src/g_all_guis.h,v
retrieving revision 1.1.1.4.2.2.2.32
retrieving revision 1.1.1.4.2.2.2.33
diff -C2 -d -r1.1.1.4.2.2.2.32 -r1.1.1.4.2.2.2.33
*** g_all_guis.h	12 May 2004 10:35:43 -0000	1.1.1.4.2.2.2.32
--- g_all_guis.h	13 May 2004 14:37:20 -0000	1.1.1.4.2.2.2.33
***************
*** 141,145 ****
  EXTERN t_symbol *s_empty;
  EXTERN int convert_color2(int x);
- EXTERN void iemgui_dodraw(t_iemgui *x);
  EXTERN void iemgui_init(t_iemgui *x, t_floatarg f);
  EXTERN void binbuf_update(t_iemgui *x, t_symbol *qlass, int argc, t_atom *argv);
--- 141,144 ----





More information about the Pd-cvs mailing list