Update of /cvsroot/pure-data/pd/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16167
Modified Files: Tag: devel_0_39 desire.tk Log Message: sorting out the visible/invisible objects for GOP
Index: desire.tk =================================================================== RCS file: /cvsroot/pure-data/pd/src/Attic/desire.tk,v retrieving revision 1.1.2.490 retrieving revision 1.1.2.491 diff -C2 -d -r1.1.2.490 -r1.1.2.491 *** desire.tk 2 Oct 2006 15:31:05 -0000 1.1.2.490 --- desire.tk 4 Oct 2006 15:21:10 -0000 1.1.2.491 *************** *** 183,187 **** unset poolset($o) # $o draw ! if {[catch {$o draw}]} {puts [error_dump]} } set @q {} --- 183,188 ---- unset poolset($o) # $o draw ! #if {[catch {$o draw}]} {puts [error_dump]} ! if {[catch {$o draw_maybe}]} {puts [error_dump]} } set @q {} *************** *** 1093,1096 **** --- 1094,1131 ---- def View canvas {} {return $@canvas} def View canvas= {c} {set @canvas $c} + + def View outside_of_the_box {} { + if {[$self class] == "Array"} {set @inside_box 1; return} + if {[$@canvas gop]} { + set mess [$@canvas get_mess] + set pixwidth [lindex $mess 4] + set pixheight [lindex $mess 5] + set xmargin [lindex $mess 6] + set ymargin [lindex $mess 7] + mset {x1 y1} [$self xy] + if {$x1 < [expr $pixwidth + $xmargin] && $y1 < [expr $pixheight + $ymargin]} { + set @inside_box 1 + } else { + set @inside_box 0 + } + if {[$self class] == "Wire"} {set @inside_box 0} + } else { + set @inside_box 1 + } + } + + def View draw_maybe {} { + if {[$self class] == "Canvas" && $@canvas == ""} {return} + if {[$self class] != "Canvas"} { + if {$@inside_box} { + $self draw + } else { + puts "skipping $self, don't draw it...." + } + } else { + if {[$self gop]} {$self draw} + } + + } #-----------------------------------------------------------------------------------#
*************** *** 1329,1333 **** set @pixwidth [lindex $mess 6] set @pixheight [lindex $mess 7] - puts " pixwidth:: $@pixwidth <------------" switch [llength $mess] { 8 {set @gop 0; set @goprect 0; set @mess_len 8} --- 1364,1367 ---- *************** *** 1981,1984 **** --- 2015,2019 ---- foreach x $new {$x subscribe $self; $x changed; $x canvas= $self} set @children $children + foreach x $@children {$x outside_of_the_box} $self changed } *************** *** 2028,2031 **** --- 2063,2067 ---- } set @wires $wires + foreach x $@wires {$x outside_of_the_box} $self changed } *************** *** 4526,4531 **** super $mess set @name [lindex $mess 2] - puts " my name is :::: $@name" - puts " my canvas is ---> $@canvas" set @length 0 set @data {} --- 4562,4565 ----