Update of /cvsroot/pure-data/pd/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv407
Modified Files: Tag: impd_0_37 g_all_guis.c g_all_guis.h g_bang.c g_canvas.h g_editor.c g_hslider.c g_rtext.c g_text.c g_toggle.c u_main.tk u_object.tk Log Message: fixed bugs (incl GOP)
Index: g_toggle.c =================================================================== RCS file: /cvsroot/pure-data/pd/src/g_toggle.c,v retrieving revision 1.1.1.3.2.2.2.8 retrieving revision 1.1.1.3.2.2.2.9 diff -C2 -d -r1.1.1.3.2.2.2.8 -r1.1.1.3.2.2.2.9 *** g_toggle.c 30 Mar 2004 01:35:09 -0000 1.1.1.3.2.2.2.8 --- g_toggle.c 3 Apr 2004 23:10:26 -0000 1.1.1.3.2.2.2.9 *************** *** 32,35 **** --- 32,36 ---- else { pd_upload((t_gobj *)x); + pd_upload2((t_gobj *)x,glist); sys_mgui((t_iemgui *)x,"toggle","draw",""); if(glist_isvisible(glist)) sys_mgui((t_iemgui *)x,"toggle","set","i",x->x_on!=0.0);
Index: g_text.c =================================================================== RCS file: /cvsroot/pure-data/pd/src/g_text.c,v retrieving revision 1.1.1.4.2.2.2.8 retrieving revision 1.1.1.4.2.2.2.9 diff -C2 -d -r1.1.1.4.2.2.2.8 -r1.1.1.4.2.2.2.9 *** g_text.c 2 Apr 2004 00:16:43 -0000 1.1.1.4.2.2.2.8 --- g_text.c 3 Apr 2004 23:10:26 -0000 1.1.1.4.2.2.2.9 *************** *** 17,28 **** #include <math.h>
! static t_class *text_class; ! static t_class *message_class; ! static t_class *gatom_class; static void text_vis(t_gobj *z, t_glist *glist, int vis); ! static void text_displace(t_gobj *z, t_glist *glist, ! int dx, int dy); ! static void text_getrect(t_gobj *z, t_glist *glist, ! int *xp1, int *yp1, int *xp2, int *yp2);
void canvas_startmotion(t_canvas *x); --- 17,24 ---- #include <math.h>
! static t_class *text_class, *message_class, *gatom_class; static void text_vis(t_gobj *z, t_glist *glist, int vis); ! static void text_displace(t_gobj *z, t_glist *glist, int dx, int dy); ! static void text_getrect(t_gobj *z, t_glist *glist, int *xp1, int *yp1, int *xp2, int *yp2);
void canvas_startmotion(t_canvas *x); *************** *** 889,893 **** rtext_select(y, state); if (glist_isvisible(glist) && text_shouldvis(x, glist)) { ! sys_vgui("%s_select %s .x%x.c %d\n", text_classname(x), rtext_gettag(y),glist, state); } } --- 885,890 ---- rtext_select(y, state); if (glist_isvisible(glist) && text_shouldvis(x, glist)) { ! sys_vgui("%s_select %s .x%x.c %d\n", text_classname(x), rtext_gettag(y), ! glist_getcanvas(glist), state); } } *************** *** 925,929 **** if (x->te_type == T_ATOM) glist_retext(glist, x); ! text_drawborder(x, glist, rtext_gettag(y), rtext_width(y), rtext_height(y), 1); rtext_draw(y); --- 922,926 ---- if (x->te_type == T_ATOM) glist_retext(glist, x); ! text_drawborder(x, glist_getcanvas(glist), rtext_gettag(y), rtext_width(y), rtext_height(y), 1); rtext_draw(y); *************** *** 1009,1014 **** { t_atomtype t = ((t_gatom *)x)->a_atom.a_type; ! t_symbol *sel = (t == A_SYMBOL ? gensym("symbolatom") : ! (t == A_FLOAT ? gensym("floatatom") : gensym("intatom"))); t_symbol *label = gatom_escapit(((t_gatom *)x)->a_label); t_symbol *symfrom = gatom_escapit(((t_gatom *)x)->a_symfrom); --- 1006,1013 ---- { t_atomtype t = ((t_gatom *)x)->a_atom.a_type; ! t_symbol *sel = ! t==A_SYMBOL ? gensym("symbolatom") : ! t==A_FLOAT ? gensym("floatatom") : ! gensym("BOOM"); t_symbol *label = gatom_escapit(((t_gatom *)x)->a_label); t_symbol *symfrom = gatom_escapit(((t_gatom *)x)->a_symfrom); *************** *** 1078,1083 **** text_getrect(&x->te_g, glist, &x1, &y1, &x2, &y2); ob = pd_checkobject(&x->te_pd); ! sys_vgui("%s_draw %s .x%x.c %d %d %d %d %d %d\n", ! text_classname(x),tag,glist,x1,y1,x2-x1,y2-y1, ob?obj_ninlets(ob):0, ob?obj_noutlets(ob):0); } --- 1077,1084 ---- text_getrect(&x->te_g, glist, &x1, &y1, &x2, &y2); ob = pd_checkobject(&x->te_pd); ! pd_upload((t_gobj *)x); ! pd_upload2((t_gobj *)x,glist); ! sys_vgui("%s_draw %x .x%x.c %d %d %d %d\n", ! text_classname(x),x,glist_getcanvas(glist),x2-x1,y2-y1, ob?obj_ninlets(ob):0, ob?obj_noutlets(ob):0); }
Index: u_main.tk =================================================================== RCS file: /cvsroot/pure-data/pd/src/u_main.tk,v retrieving revision 1.1.1.4.2.7.4.33 retrieving revision 1.1.1.4.2.7.4.34 diff -C2 -d -r1.1.1.4.2.7.4.33 -r1.1.1.4.2.7.4.34 *** u_main.tk 3 Apr 2004 14:28:15 -0000 1.1.1.4.2.7.4.33 --- u_main.tk 3 Apr 2004 23:10:26 -0000 1.1.1.4.2.7.4.34 *************** *** 3,10 **** # line is automatically munged by the relevant makefiles.)
# Copyright (c) 1997-1999 Miller Puckette. # Copyright 2004 Mathieu Bouchard. # For information on usage and redistribution, and for a DISCLAIMER OF ALL ! # WARRANTIES, see the file, "LICENSE.txt," in this distribution.
#option add *background pink widgetDefault --- 3,12 ---- # line is automatically munged by the relevant makefiles.)
+ # $Id$ + # Copyright (c) 1997-1999 Miller Puckette. # Copyright 2004 Mathieu Bouchard. # For information on usage and redistribution, and for a DISCLAIMER OF ALL ! # WARRANTIES, see the file, "LICENSE.txt", in this distribution.
#option add *background pink widgetDefault *************** *** 527,531 **** proc stat_pos_update {self x y} { set canvas $self.c ! $self.stat.pos configure -text "([$canvas canvasx $x],[$canvas canvasy $y])" set stack [$canvas find overlapping [expr $x-2] [expr $y-2] [expr $x+2] [expr $y+2]] set tags [$canvas gettags [lindex $stack end]] --- 529,535 ---- proc stat_pos_update {self x y} { set canvas $self.c ! set x [$canvas canvasx $x] ! set y [$canvas canvasy $y] ! $self.stat.pos configure -text "($x,$y)" set stack [$canvas find overlapping [expr $x-2] [expr $y-2] [expr $x+2] [expr $y+2]] set tags [$canvas gettags [lindex $stack end]] *************** *** 751,756 **** bind $name.c <Button-5> "$name.c yview scroll +1 units" }} ! #image create photo mybackground -file "/home/matju/lena.ppm" ! #$name.c create image 0 0 -anchor nw -image mybackground }
--- 755,762 ---- bind $name.c <Button-5> "$name.c yview scroll +1 units" }} ! #catch {image create photo mybackground -file "test2.gif"} ! #catch {$name.c create image -6 -39 -anchor nw -image mybackground -tag bg} ! #scale $name.bbar.bg -orient horizontal -showvalue false -from 0 -to 255 -command {} ! #pack $name.bbar.bg -side right }
*************** *** 780,797 ****
proc pdtk_canvas_click {canvas x y b f} { ! pd [canvastosym $canvas] mouse [$canvas canvasx $x] [$canvas canvasy $y] $b $f ; ! set stack [$canvas find overlapping [expr $x-2] [expr $y-2] [expr $x+2] [expr $y+2]] set tags [$canvas gettags [lindex $stack end]] ! puts stderr "(click) $canvas $x $y $b $f : $tags " if {[regexp {^(?:.x)?([a-f0-9]{7})} $tags tag]} { global _ if {[info exists _($tag:class)]} {set class $_($tag:class)} {set class unknown} puts stderr "(.....) $tag is a [$class] object" ! pd "[canvastosym $canvas] click-on-object $tag $x $y $b $f;" return } if {[regexp {^l([a-f0-9]{7})} $tags tag]} { puts stderr "(.....) this is a wire" ! pd "[canvastosym $canvas] click-on-wire $tag $x $y $b $f;" return } --- 786,811 ----
proc pdtk_canvas_click {canvas x y b f} { ! set cx [$canvas canvasx $x] ! set cy [$canvas canvasy $y] ! pd [canvastosym $canvas] mouse $cx $cy $b $f ; ! set stack [$canvas find overlapping [expr $cx-2] [expr $cy-2] [expr $cx+2] [expr $cy+2]] set tags [$canvas gettags [lindex $stack end]] ! puts stderr "(click) $canvas $cx $cy $b $f : $tags " if {[regexp {^(?:.x)?([a-f0-9]{7})} $tags tag]} { global _ if {[info exists _($tag:class)]} {set class $_($tag:class)} {set class unknown} puts stderr "(.....) $tag is a [$class] object" ! if {[llength [$canvas bbox ${tag}BASE]]} { ! foreach {x1 y1 x2 y2} [$canvas bbox ${tag}BASE] {} ! post "x=$cx y=$cy x1=$x1 y1=$y1 x2=$x2 y2=$y2" ! } { ! post "BASEless object?" ! } ! pd "[canvastosym $canvas] click-on-object $tag $cx $cy $b $f;" return } if {[regexp {^l([a-f0-9]{7})} $tags tag]} { puts stderr "(.....) this is a wire" ! pd "[canvastosym $canvas] click-on-wire $tag $cx $cy $b $f;" return } *************** *** 799,802 **** --- 813,833 ---- }
+ proc pdtk_start_wire {canvas x y b f} { + if (ob && (noutlet = obj_noutlets(ob)) && ypos >= y2-4) {} {return} + # width = x2-x1 + # nout1 = noutlet>1 ? noutlet-1 : 1 + # closest = ((xpos-x1) * nout1 + width/2)/width + # hotspot = x1 + (width-IOWIDTH)*closest/nout1 + # if (closest < noutlet && xpos >= hotspot-1 && xpos <= hotspot + IOWIDTH+1) { + # if (doit) { + # issignal = obj_issignaloutlet(ob, closest) + # x->gl_editor->e_onmotion = MA_CONNECT + # x->gl_editor->e_xwas = xpos + # x->gl_editor->e_ywas = ypos + # wire_draw x .x%x.c %d %d %d %d %d\n", x, (issignal ? 2 : 1), xpos, ypos, xpos, ypos + # } {canvas_setcursor(x, CURSOR_EDITMODE_CONNECT)} + # } {if (doit) goto nooutletafterall} + } + set pdtk_canvas_mouseup(name) 0 set pdtk_canvas_mouseup(xmin) 0 *************** *** 1185,1192 **** set popup_xpix $xpix set popup_ypix $ypix ! if {$canprop == 0} {$name.popup entryconfigure 0 -state disabled} ! if {$canprop == 1} {$name.popup entryconfigure 0 -state active} ! if {$canopen == 0} {$name.popup entryconfigure 1 -state disabled} ! if {$canopen == 1} {$name.popup entryconfigure 1 -state active} tk_popup $name.popup [expr $xpix + [winfo rootx $name.c]] \ [expr $ypix + [winfo rooty $name.c]] 0 --- 1216,1227 ---- set popup_xpix $xpix set popup_ypix $ypix ! set xpix [expr 2*$xpix-round([$name.c canvasx $xpix])] ! set ypix [expr 2*$ypix-round([$name.c canvasy $ypix])] ! if {$canprop} { ! $name.popup entryconfigure 0 -state active} { ! $name.popup entryconfigure 0 -state disabled} ! if {$canopen} { ! $name.popup entryconfigure 1 -state active} { ! $name.popup entryconfigure 1 -state disabled} tk_popup $name.popup [expr $xpix + [winfo rootx $name.c]] \ [expr $ypix + [winfo rooty $name.c]] 0 *************** *** 1227,1231 **** set _($self:ypix) $ypix toplevel $id ! wm title $id {graph} wm protocol $id WM_DELETE_WINDOW "graph_cancel $id" label $id.label -text "GRAPH BOUNDS" --- 1262,1266 ---- set _($self:ypix) $ypix toplevel $id ! wm title $id "Graph" wm protocol $id WM_DELETE_WINDOW "graph_cancel $id" label $id.label -text "GRAPH BOUNDS" *************** *** 1233,1240 **** cancel_apply_ok $self graph global properties ! properties_dialog $self graph_ok $properties(graph) ! $id.xrangef.x2 select from 0 ! $id.xrangef.x2 select adjust end ! focus $id.xrangef.x2 }
--- 1268,1275 ---- cancel_apply_ok $self graph global properties ! properties_dialog $self .$self graph_ok $properties(graph) ! #$id.xrangef.x2 select from 0 ! #$id.xrangef.x2 select adjust end ! #focus $id.xrangef.x2 }
*************** *** 1972,1978 **** text .log.1 -width 60 -height 10 -yscrollcommand ".log.2 set" scrollbar .log.2 -command ".log.1 yview" ! global tcl_version tk_version pd_myversion .log.1 insert end "$pd_myversion" ! .log.1 insert end "Tcl $tcl_version, Tk $tk_version\n" pack .log.1 -side left -fill both -expand yes pack .log.2 -side left -fill y -expand no --- 2007,2016 ---- text .log.1 -width 60 -height 10 -yscrollcommand ".log.2 set" scrollbar .log.2 -command ".log.1 yview" ! global tcl_version tk_version pd_myversion tcl_platform pd_nt .log.1 insert end "$pd_myversion" ! .log.1 insert end "Tcl $tcl_version, Tk $tk_version, pd_nt=$pd_nt\n" ! foreach k [array names tcl_platform] { ! .log.1 insert end "tcl_platform($k) = $tcl_platform($k)\n" ! } pack .log.1 -side left -fill both -expand yes pack .log.2 -side left -fill y -expand no *************** *** 2002,2005 **** --- 2040,2048 ---- }
+ proc post {args} { + post_to_gui [eval [linsert $args 0 format]] + post_to_gui "\n" + } + ############ evaluator
*************** *** 2473,2477 ****
global env ! #if [catch {source $env(HOME)/.pd.tk}] {post_to_gui ".pd.tk: $errorInfo\n"} ! if [catch {source $env(HOME)/.pd.tk}] {puts stderr ".pd.tk: $errorInfo"}
--- 2516,2520 ----
global env ! #if [catch {source $env(HOME)/.pd.tk}] {puts stderr ".pd.tk: $errorInfo"} ! catch {source $env(HOME)/.pd.tk}
Index: g_canvas.h =================================================================== RCS file: /cvsroot/pure-data/pd/src/g_canvas.h,v retrieving revision 1.1.1.4.2.4 retrieving revision 1.1.1.4.2.4.2.1 diff -C2 -d -r1.1.1.4.2.4 -r1.1.1.4.2.4.2.1 *** g_canvas.h 25 Nov 2003 19:19:57 -0000 1.1.1.4.2.4 --- g_canvas.h 3 Apr 2004 23:10:25 -0000 1.1.1.4.2.4.2.1 *************** *** 198,202 ****
! /* T.Grill - changed t_pd member to t_pdobj to avoid name clashed */ typedef struct _template { --- 198,202 ----
! /* T.Grill - changed t_pd member to t_pdobj to avoid name clash */ typedef struct _template {
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.14 retrieving revision 1.1.1.4.2.4.2.15 diff -C2 -d -r1.1.1.4.2.4.2.14 -r1.1.1.4.2.4.2.15 *** g_all_guis.c 2 Apr 2004 00:16:42 -0000 1.1.1.4.2.4.2.14 --- g_all_guis.c 3 Apr 2004 23:10:25 -0000 1.1.1.4.2.4.2.15 *************** *** 662,665 **** --- 662,670 ---- }
+ void pd_upload2(t_gobj *self, t_canvas *can) { + sys_vgui("global _; set _(%x:cx) %d; set _(%x:cy) %d\n", + self, text_xpix((t_object *)self,can), self, text_ypix((t_object *)self,can)); + } + void sys_mgui(t_iemgui *self, const char *qlass, const char *sel, const char *fmt, ...) { char buf[4096];
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.7 retrieving revision 1.1.1.4.2.2.2.8 diff -C2 -d -r1.1.1.4.2.2.2.7 -r1.1.1.4.2.2.2.8 *** g_all_guis.h 30 Mar 2004 01:35:09 -0000 1.1.1.4.2.2.2.7 --- g_all_guis.h 3 Apr 2004 23:10:25 -0000 1.1.1.4.2.2.2.8 *************** *** 67,74 **** #define IEM_RADIO_MAX 128
! #define IEM_SYM_UNIQUE_SND 256 ! #define IEM_SYM_UNIQUE_RCV 512 ! #define IEM_SYM_UNIQUE_LAB 1024 ! #define IEM_SYM_UNIQUE_ALL 1792 #define IEM_FONT_STYLE_ALL 255
--- 67,74 ---- #define IEM_RADIO_MAX 128
! #define IEM_SYM_UNIQUE_SND (1<<8) ! #define IEM_SYM_UNIQUE_RCV (1<<9) ! #define IEM_SYM_UNIQUE_LAB (1<<10) ! #define IEM_SYM_UNIQUE_ALL ((1<<10)|(1<<9)|(1<<8)) #define IEM_FONT_STYLE_ALL 255
*************** *** 319,322 **** --- 319,323 ---- EXTERN int pd_scanargs(int argc, t_atom *argv, char *format, ...); EXTERN void pd_upload(t_gobj *self); + EXTERN void pd_upload2(t_gobj *self, t_canvas *can); EXTERN void sys_mgui(t_iemgui *self, const char *qlass, const char *sel, const char *fmt, ...); EXTERN void iemgui_set_font_style(t_iemgui *self, int font);
Index: g_rtext.c =================================================================== RCS file: /cvsroot/pure-data/pd/src/g_rtext.c,v retrieving revision 1.1.1.2.2.6.2.6 retrieving revision 1.1.1.2.2.6.2.7 diff -C2 -d -r1.1.1.2.2.6.2.6 -r1.1.1.2.2.6.2.7 *** g_rtext.c 1 Apr 2004 23:22:01 -0000 1.1.1.2.2.6.2.6 --- g_rtext.c 3 Apr 2004 23:10:26 -0000 1.1.1.2.2.6.2.7 *************** *** 146,151 **** int font = glist_getfont(x->x_glist); int fontwidth = sys_fontwidth(font), fontheight = sys_fontheight(font); ! int findx = (*widthp + (fontwidth/2)) / fontwidth, ! findy = *heightp / fontheight; int reportedindex = 0; t_canvas *canvas = glist_getcanvas(x->x_glist); --- 146,150 ---- int font = glist_getfont(x->x_glist); int fontwidth = sys_fontwidth(font), fontheight = sys_fontheight(font); ! int findx = (*widthp + fontwidth/2)/fontwidth, findy = *heightp/fontheight; int reportedindex = 0; t_canvas *canvas = glist_getcanvas(x->x_glist); *************** *** 208,212 **** pixhigh = nlines * fontheight + (TMARGIN + BMARGIN); if (action == SEND_FIRST) { ! post("rtext_senditup pdtk_text_new"); sys_vgui("global look; pdtk_text_new .x%x.c %s %f %f {%.*s} %d %s\n", canvas, x->x_tag, --- 207,211 ---- pixhigh = nlines * fontheight + (TMARGIN + BMARGIN); if (action == SEND_FIRST) { ! /* post("rtext_senditup pdtk_text_new: %.*s",outchars,tempbuf);*/ sys_vgui("global look; pdtk_text_new .x%x.c %s %f %f {%.*s} %d %s\n", canvas, x->x_tag, *************** *** 218,222 **** else if (action == SEND_UPDATE) { ! post("rtext_senditup pdtk_text_set"); sys_vgui("pdtk_text_set .x%x.c %s {%.*s}\n", canvas, x->x_tag, outchars, tempbuf); --- 217,221 ---- else if (action == SEND_UPDATE) { ! /* post("rtext_senditup pdtk_text_set: %.*s",outchars,tempbuf);*/ sys_vgui("pdtk_text_set .x%x.c %s {%.*s}\n", canvas, x->x_tag, outchars, tempbuf); *************** *** 446,449 **** --- 445,451 ---- x->x_selstart = x->x_selend; } + else { + post("<%s>: dropped",keysym->s_name); + } rtext_senditup(x, SEND_UPDATE, &w, &h, &indx); }
Index: u_object.tk =================================================================== RCS file: /cvsroot/pure-data/pd/src/Attic/u_object.tk,v retrieving revision 1.1.2.14 retrieving revision 1.1.2.15 diff -C2 -d -r1.1.2.14 -r1.1.2.15 *** u_object.tk 1 Apr 2004 23:22:01 -0000 1.1.2.14 --- u_object.tk 3 Apr 2004 23:10:27 -0000 1.1.2.15 *************** *** 1,5 **** # Copyright 2004 Mathieu Bouchard. # For information on usage and redistribution, and for a DISCLAIMER OF ALL ! # WARRANTIES, see the file, "LICENSE.txt," in this distribution.
############ colouring --- 1,6 ---- + # $Id$ # Copyright 2004 Mathieu Bouchard. # For information on usage and redistribution, and for a DISCLAIMER OF ALL ! # WARRANTIES, see the file, "LICENSE.txt", in this distribution.
############ colouring *************** *** 41,44 **** --- 42,46 ----
# real classes + set fields(obj) [eval list $fields1] set fields(tgl) [eval list $fields1 w isa $fields2 on nonzero] set fields(bng) [eval list $fields1 w hold break isa $fields2] *************** *** 55,59 **** --- 57,63 ---- global _ global fields + set d [string trimright $d ";\n"] set class [lindex $d 4] + if {![info exists fields($class)]} {set class obj} #puts "${class} $x = $d" #if {[llength $fields] != [llength $d]} {huh} *************** *** 65,68 **** --- 69,82 ---- }
+ proc object_xy {self canvas} { + global _ + if {[info exists _($self:cx)]} { + return [list $_($self:cx) $_($self:cy)] + } { + return [list $_($self:x1) $_($self:y1)] + } + return [list $x $y] + } + ############ rendering
*************** *** 146,151 **** }
! proc objectbox_draw {self canvas x1 y1 xs ys ins outs} { global look set x2 [expr $x1+$xs] set y2 [expr $y1+$ys] --- 160,166 ---- }
! proc objectbox_draw {self canvas xs ys ins outs} { global look + foreach {x1 y1} [object_xy $self $canvas] {} set x2 [expr $x1+$xs] set y2 [expr $y1+$ys] *************** *** 185,190 **** proc brokenbox_erase {self canvas} {objectbox_erase $self $canvas}
! proc message_draw {self canvas x1 y1 xs ys ins outs} { global look set x2 [expr $x1+$xs] set y2 [expr $y1+$ys] --- 200,206 ---- proc brokenbox_erase {self canvas} {objectbox_erase $self $canvas}
! proc message_draw {self canvas xs ys ins outs} { global look + foreach {x1 y1} [object_xy $self $canvas] {} set x2 [expr $x1+$xs] set y2 [expr $y1+$ys] *************** *** 213,221 **** #proc message_tick {self canvas} {}
! proc atom_draw {self canvas x1 y1 xs ys ins outs} { global look set x2 [expr $x1+$xs] set y2 [expr $y1+$ys] set points [list $x1 $y1 [expr $x2-4] $y1 $x2 [expr $y1+4] $x2 $y2 $x1 $y2] if {[llength [$canvas gettags ${self}BASE]] != 0} { $canvas coords ${self}BASE $points --- 229,242 ---- #proc message_tick {self canvas} {}
! proc atom_draw {self canvas xs ys ins outs} { global look + foreach {x1 y1} [object_xy $self $canvas] {} set x2 [expr $x1+$xs] set y2 [expr $y1+$ys] set points [list $x1 $y1 [expr $x2-4] $y1 $x2 [expr $y1+4] $x2 $y2 $x1 $y2] + if {[catch {$canvas canvasx $x1}]} { + post "atom_draw: canvas $canvas does not exist" + return + } if {[llength [$canvas gettags ${self}BASE]] != 0} { $canvas coords ${self}BASE $points *************** *** 240,245 **** global look global _ ! set x1 $_($self:x1) ! set y1 $_($self:y1) set xs [expr 10*$_($self:w)] set ys $_($self:h) --- 261,265 ---- global look global _ ! foreach {x1 y1} [object_xy $self $canvas] {} set xs [expr 10*$_($self:w)] set ys $_($self:h) *************** *** 333,338 **** }
! proc comment_draw {self canvas x1 y1 xs ys ins outs} { if {[llength [$canvas gettags $self]] != 0} {} } proc comment_select {self canvas flag} {} --- 353,359 ---- }
! proc comment_draw {self canvas xs ys ins outs} { if {[llength [$canvas gettags $self]] != 0} {} + foreach {x1 y1} [object_xy $self $canvas] {} } proc comment_select {self canvas flag} {} *************** *** 385,390 **** vradio {set orient 1} vdl {set orient 1} } ! set x1 $_($self:x1) ! set y1 $_($self:y1) set n $_($self:n) set xs [expr $_($self:w)*($orient?1:$n)] --- 406,410 ---- vradio {set orient 1} vdl {set orient 1} } ! foreach {x1 y1} [object_xy $self $canvas] {} set n $_($self:n) set xs [expr $_($self:w)*($orient?1:$n)] *************** *** 431,436 **** set isnew [expr [llength [$canvas gettags ${self}BASE]] == 0] global _ ! set x1 $_($self:x1) ! set y1 $_($self:y1) set xs $_($self:w) set ys $_($self:h) --- 451,455 ---- set isnew [expr [llength [$canvas gettags ${self}BASE]] == 0] global _ ! foreach {x1 y1} [object_xy $self $canvas] {} set xs $_($self:w) set ys $_($self:h) *************** *** 456,461 **** global _ set pos [$canvas coords ${self}BASE] ! set x1 [lindex $pos 0] ! set y1 [lindex $pos 1] switch $_($self:class) { hsl { set orient 0 } --- 475,479 ---- global _ set pos [$canvas coords ${self}BASE] ! foreach {x1 y1} [object_xy $self $canvas] {} switch $_($self:class) { hsl { set orient 0 } *************** *** 491,496 **** global _ set isnew [expr [llength [$canvas gettags ${self}LABEL]] == 0] ! set x1 $_($self:x1) ! set y1 $_($self:y1) set lx [expr $x1+$_($self:ldx)] set ly [expr $y1+$_($self:ldy)] --- 509,513 ---- global _ set isnew [expr [llength [$canvas gettags ${self}LABEL]] == 0] ! foreach {x1 y1} [object_xy $self $canvas] {} set lx [expr $x1+$_($self:ldx)] set ly [expr $y1+$_($self:ldy)] *************** *** 516,521 **** global _ set isnew [expr [llength [$canvas gettags ${self}BASE]] == 0] ! set x1 $_($self:x1) ! set y1 $_($self:y1) set xs $_($self:w) set ys $_($self:w) --- 533,537 ---- global _ set isnew [expr [llength [$canvas gettags ${self}BASE]] == 0] ! foreach {x1 y1} [object_xy $self $canvas] {} set xs $_($self:w) set ys $_($self:w) *************** *** 556,561 **** proc toggle_draw {self canvas} { global _ ! set x1 $_($self:x1) ! set y1 $_($self:y1) set xs $_($self:w) set ys $_($self:w) --- 572,576 ---- proc toggle_draw {self canvas} { global _ ! foreach {x1 y1} [object_xy $self $canvas] {} set xs $_($self:w) set ys $_($self:w) *************** *** 618,623 **** global _ set isnew [expr [llength [$canvas gettags ${self}BASE]] == 0] ! set x1 $_($self:x1) ! set y1 $_($self:y1) set xs $_($self:w) set ys $_($self:h) --- 633,637 ---- global _ set isnew [expr [llength [$canvas gettags ${self}BASE]] == 0] ! foreach {x1 y1} [object_xy $self $canvas] {} set xs $_($self:w) set ys $_($self:h) *************** *** 669,674 **** proc vu_set {self canvas i} { global _ ! set x1 $_($self:x1) ! set y1 $_($self:y1) set xs $_($self:w) set ys $_($self:h) --- 683,687 ---- proc vu_set {self canvas i} { global _ ! foreach {x1 y1} [object_xy $self $canvas] {} set xs $_($self:w) set ys $_($self:h) *************** *** 682,686 **** proc vu_peak {self canvas i} { global _ vu_col ! set x1 $_($self:x1) set y1 $_($self:y1) set xs $_($self:w) --- 695,699 ---- proc vu_peak {self canvas i} { global _ vu_col ! foreach {x1 y1} [object_xy $self $canvas] {} set y1 $_($self:y1) set xs $_($self:w)
Index: g_editor.c =================================================================== RCS file: /cvsroot/pure-data/pd/src/g_editor.c,v retrieving revision 1.1.1.4.2.3.2.9 retrieving revision 1.1.1.4.2.3.2.10 diff -C2 -d -r1.1.1.4.2.3.2.9 -r1.1.1.4.2.3.2.10 *** g_editor.c 2 Apr 2004 00:16:42 -0000 1.1.1.4.2.3.2.9 --- g_editor.c 3 Apr 2004 23:10:25 -0000 1.1.1.4.2.3.2.10 *************** *** 885,894 **** t_linetraverser t; t_glist *g = glist_getcanvas(self); ! if (sscanf(linesym->s_name,"l%x",(unsigned*)&oc)<1) { ! bug("%s:%d BERSERK!\n",__FILE__,__LINE__); } linetraverser_start(&t, g); while (0!=(w=linetraverser_next(&t))) if (*oc==w) break; ! if (!w) bug("%s:%d BERSERK!\n",__FILE__,__LINE__); *obj1 = canvas_getindex(g, &t.tr_ob->ob_g); *port1 = t.tr_outno; *obj2 = canvas_getindex(g, &t.tr_ob2->ob_g); *port2 = t.tr_inno; --- 885,895 ---- t_linetraverser t; t_glist *g = glist_getcanvas(self); ! if (sscanf(linesym->s_name,"l%x",(unsigned*)oc)<1) { ! bug("%s:%d BERSERK! linesym=%s sscanf error\n",__FILE__,__LINE__,linesym->s_name); ! return; } linetraverser_start(&t, g); while (0!=(w=linetraverser_next(&t))) if (*oc==w) break; ! if (!w) bug("%s:%d BERSERK! linesym=%s not found\n",__FILE__,__LINE__,linesym->s_name); *obj1 = canvas_getindex(g, &t.tr_ob->ob_g); *port1 = t.tr_outno; *obj2 = canvas_getindex(g, &t.tr_ob2->ob_g); *port2 = t.tr_inno;
Index: g_hslider.c =================================================================== RCS file: /cvsroot/pure-data/pd/src/g_hslider.c,v retrieving revision 1.1.1.3.2.2.2.11 retrieving revision 1.1.1.3.2.2.2.12 diff -C2 -d -r1.1.1.3.2.2.2.11 -r1.1.1.3.2.2.2.12 *** g_hslider.c 2 Apr 2004 00:16:43 -0000 1.1.1.3.2.2.2.11 --- g_hslider.c 3 Apr 2004 23:10:26 -0000 1.1.1.3.2.2.2.12 *************** *** 46,49 **** --- 46,50 ---- } else { pd_upload((t_gobj *)x); + pd_upload2((t_gobj *)x,glist); sys_mgui((t_iemgui *)x,"slider","draw",""); sys_mgui((t_iemgui *)x,"slider","set","i",x->x_val);
Index: g_bang.c =================================================================== RCS file: /cvsroot/pure-data/pd/src/g_bang.c,v retrieving revision 1.1.1.3.2.2.2.11 retrieving revision 1.1.1.3.2.2.2.12 diff -C2 -d -r1.1.1.3.2.2.2.11 -r1.1.1.3.2.2.2.12 *** g_bang.c 2 Apr 2004 00:16:42 -0000 1.1.1.3.2.2.2.11 --- g_bang.c 3 Apr 2004 23:10:25 -0000 1.1.1.3.2.2.2.12 *************** *** 31,35 **** else if (mode==IEM_GUI_DRAW_MODE_SELECT) sys_mgui((t_iemgui *)x,"bang","select","i",x->x_gui.x_fsf.x_selected); ! else {pd_upload((t_gobj *)x); sys_mgui((t_iemgui *)x,"bang","draw","");} }
--- 31,38 ---- else if (mode==IEM_GUI_DRAW_MODE_SELECT) sys_mgui((t_iemgui *)x,"bang","select","i",x->x_gui.x_fsf.x_selected); ! else { ! pd_upload((t_gobj *)x); ! pd_upload2((t_gobj *)x,glist); ! sys_mgui((t_iemgui *)x,"bang","draw","");} }