[PD-cvs] pd/src desire.tk,1.1.2.3,1.1.2.4
chunlee
chunlee at users.sourceforge.net
Mon Aug 1 10:18:23 CEST 2005
Update of /cvsroot/pure-data/pd/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28717
Modified Files:
Tag: devel_0_39
desire.tk
Log Message:
started to look into wire_draw stuff.
Index: desire.tk
===================================================================
RCS file: /cvsroot/pure-data/pd/src/Attic/desire.tk,v
retrieving revision 1.1.2.3
retrieving revision 1.1.2.4
diff -C2 -d -r1.1.2.3 -r1.1.2.4
*** desire.tk 30 Jul 2005 16:12:16 -0000 1.1.2.3
--- desire.tk 1 Aug 2005 08:18:20 -0000 1.1.2.4
***************
*** 1597,1602 ****
puts "wire reachs inlet, draw proper wire!!"
! pd "$self add-wire x$wire_from x$wire_to ;"
}
--- 1597,1621 ----
puts "wire reachs inlet, draw proper wire!!"
! set d $wire_from
! foreach item $wire_to {lappend d $item}
! #add a last 0 for wire_update, not sure what's for....
! lappend d 0
!
! puts "d = $d"
!
! #tmp only
! wire_update 18136070 $d
! wire_draw2 18136070 $name;
+ #trace:
+ #wire_update:: l8146070 813ea70 0 813f160 0 0
+ #what's the last argument of wire_update?
+ #wire_draw2:: l8146070 .x813e670.c
+ #wire_draw:: l8146070 .x813e670.c 1 43 57 156 138
+
+ #pd "$self add-wire x$wire_from x$wire_to ;"
+
+ puts "::::connect from $wire_from to $wire_to"
+ #::::connect from 81168af 2 to 81168ae 0
}
***************
*** 1862,1865 ****
--- 1881,1952 ----
#-----------------------------------------------------------------------------------#
+
+ # modes:
+ # 0: creation
+ # 1: resize (or move)
+ proc wire_draw {self canvas thick x1 y1 x2 y2} {
+ puts "wire_draw:: $self $canvas $thick $x1 $y1 $x2 $y2"
+
+ global look
+ set xys [list $x1 $y1 $x2 $y2]
+ set length [expr sqrt(pow($x2-$x1,2)+pow($y2-$y1,2))]
+ # set step [expr 1/floor(1+$length/4)]
+ # for {set i 0} {$i<=1.001} {set i [expr $i+$step]} {
+ # set r [expr (rand()-0.5)*$i*(1-$i)*150]
+ # set r [expr sin($i/$step)*$i*(1-$i)*100]
+ # set q [expr sin(1+$i/$step)*$i*(1-$i)*100]
+ # #lappend xys [expr $x1+($x2-$x1)*$i+$r*[expr ($y1-$y2)/$length]]
+ # #lappend xys [expr $y1+($y2-$y1)*$i+$q*[expr ($x2-$x1)/$length]]
+ # lappend xys [expr $x1+($x2-$x1)*$i+(rand()-0.5)*150*$i*(1-$i)]
+ # lappend xys [expr $y1+($y2-$y1)*$i+(rand()-0.5)*150*$i*(1-$i)]
+ # }
+
+ set arrowsize [expr $length<100 ? $length/10 : 10]
+ if {$arrowsize < 5} {set arrow none} {set arrow last}
+ set arrowshape [list $arrowsize [expr $arrowsize*4/5] [expr $arrowsize/3]]
+
+ if {[llength [$canvas gettags $self]] != 0} {
+ $canvas coords $self $xys
+ $canvas itemconfigure -arrow $arrow -arrowshape $arrowshape
+ } {
+ $canvas create line $xys -tags $self -width $thick \
+ -arrow $arrow -arrowshape $arrowshape -fill $look(wirefg)
+ # -smooth yes
+ }
+ }
+
+ #-----------------------------------------------------------------------------------#
+ proc wire_draw2 {self canvas} {
+ puts "wire_draw2:: $self $canvas"
+
+ global _
+ set bbox1 [$canvas bbox $_($self:obj1)o$_($self:port1)]
+ set bbox2 [$canvas bbox $_($self:obj2)i$_($self:port2)]
+ if {[llength $bbox1] < 4} {puts stderr "wire_draw2: crap ($_($self:obj1) outlet)"; return}
+ if {[llength $bbox2] < 4} {puts stderr "wire_draw2: crap ($_($self:obj2) inlet)"; return}
+ foreach {x1 y1} [l/2 [l+ [lrange $bbox1 0 1] [lrange $bbox1 2 3]]] {}
+ foreach {x2 y2} [l/2 [l+ [lrange $bbox2 0 1] [lrange $bbox2 2 3]]] {}
+ wire_draw $self $canvas 1 $x1 $y1 $x2 $y2
+ }
#-----------------------------------------------------------------------------------#
+ proc wire_select {self canvas flag} {
+ puts "wire_select:: $self $canvas $flag"
+
+ global _ look
+ if {$flag} {set colour #ff8000} {set colour $look(wirefg)}
+ $canvas itemconfigure $self -fill $colour
+ }
+ #-----------------------------------------------------------------------------------#
+ proc wire_erase {self canvas} {
+ puts "wire_erase:: $self $canvas"
+
+ $canvas delete $self
+ }
#-----------------------------------------------------------------------------------#
+ proc wire_update {self d} {
+ puts "wire_update:: $self $d"
+
+ global _
+ foreach [list _($self:obj1) _($self:port1) _($self:obj2) _($self:port2)] \
+ [lrange $d 0 3] {}
+ }
More information about the Pd-cvs
mailing list