Update of /cvsroot/pure-data/pd/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10760
Modified Files: Tag: devel_0_39 desire.tk Log Message: fixed slider rendering: out of bounds values; zoom.
Index: desire.tk =================================================================== RCS file: /cvsroot/pure-data/pd/src/Attic/desire.tk,v retrieving revision 1.1.2.350 retrieving revision 1.1.2.351 diff -C2 -d -r1.1.2.350 -r1.1.2.351 *** desire.tk 16 Aug 2006 15:56:48 -0000 1.1.2.350 --- desire.tk 16 Aug 2006 17:50:47 -0000 1.1.2.351 *************** *** 1945,1949 ****
#!@#$ this method is too long ! def* Canvas motion {x y f target} { global font canvas tooltip crosshair set canvas(current) $self --- 1945,1949 ----
#!@#$ this method is too long ! def Canvas motion {x y f target} { global font canvas tooltip crosshair set canvas(current) $self *************** *** 1976,1983 **** } none {} ! #default {error "unknown action '$@action'"} ! default { ! $@action motion $x $y $f $target ! } } switch $type { --- 1976,1980 ---- } none {} ! default {$@action motion $x $y $f $target} } switch $type { *************** *** 2010,2013 **** --- 2007,2011 ---- # now it's same priority, so just stacking order (and it's prolly wrong) set class [$id _class] + if {[$self == $id]} {continue} if {[$class inherit? Wire]} {return [list "wire" $id]} if {[$class inherit? Box]} { *************** *** 2277,2281 **** foreach tag $sel { if {[regexp {^[xz]?[0-9a-f]{6,8}} [$c gettags $tag] id]} { ! if {$@canvas == $id} {continue} switch $_($id:_class) { SelRect {} --- 2275,2279 ---- foreach tag $sel { if {[regexp {^[xz]?[0-9a-f]{6,8}} [$c gettags $tag] id]} { ! if {[$@canvas == $id]} {continue} switch $_($id:_class) { SelRect {} *************** *** 3860,3864 **** }
! def* Slider draw {} { mset {x1 y1 x2 y2} [$self bbox] set xs $@w --- 3858,3883 ---- }
! def Slider draw_knob {} { ! mset {x1 y1 x2 y2} [$self bbox] ! set l [expr [$self orient]?$@h:$@w] ! set span [expr $@max-$@min] ! set color [bluify #ffffff] ! if {[$self orient]} { ! set size $@w ! set y1 [expr $y1+$@h-$@value*($l-1)/$span-2] ! set y2 [expr $y1-2] ! set coords [list [expr $x1+2] $y1 [expr $x1+$size-2] $y2] ! } { ! set size $@h ! set x1 [expr $x1+$@value*($l-1)/$span] ! set x2 [expr $x1+2] ! set y2 [expr $y1+$size] ! set coords [list $x1 [expr $y1+2] $x2 [expr $y1+$size-2]] ! } ! $self item KNOB rectangle $coords \ ! -outline red -fill [darker $color] ! } ! ! def Slider draw {} { mset {x1 y1 x2 y2} [$self bbox] set xs $@w *************** *** 3870,3895 **** set outs [expr [string compare $@snd empty]==0] super ! set color [bluify #ffffff] ! $self item KNOB rectangle [list $x1 $y1 [expr $x1 + 10] [expr $y1 + 10]] \ ! -outline red -fill [darker $color] ! set c .$@canvas.c ! set span [expr $@max-$@min] ! set l [expr $orient?$@h:$@w] #set value [expr $@val*$span/($l-1)/100] ! #set value $@value ! set value $@val ! set @value $value ! if {$orient} { ! set size $xs ! set y1 [expr $y1+$ys-$value*($l-1)/$span-2] ! set y2 [expr $y1-2] ! $c coords ${self}KNOB [expr $x1+2] $y1 [expr $x1+$size-2] $y2 ! } { ! set size $ys ! set x1 [expr $x1+$value*($l-1)/$span] ! set x2 [expr $x1+2] ! set y2 [expr $y1+$size] ! $c coords ${self}KNOB $x1 [expr $y1+2] $x2 [expr $y1+$size-2] ! } }
--- 3889,3896 ---- set outs [expr [string compare $@snd empty]==0] super ! $self draw_knob #set value [expr $@val*$span/($l-1)/100] ! # why is there both @val and @value again? ! set @value $@val }
*************** *** 3908,3917 **** set coords [list $x1 $y3 [expr $x1+$xs] $y3] } ! $@canvas create line $coords -dash [list 1 $eighth 1 $eighth] -width $thick -fill [darker [look sliderbg]] }
def Slider click {x y f target} { $@canvas focus= $self ! set @first [list $x $y] set @ovalue $@value set @clicking 1 --- 3909,3918 ---- set coords [list $x1 $y3 [expr $x1+$xs] $y3] } ! $@canvas item NOTCH $coords -dash [list 1 $eighth 1 $eighth] -width $thick -fill [darker [look sliderbg]] }
def Slider click {x y f target} { $@canvas focus= $self ! set @click_at [list $x $y] set @ovalue $@value set @clicking 1 *************** *** 3921,3929 **** def Slider unclick {x y f target} { set @clicking 0 ! if {[lindex $@first 1] != $y} { $@canvas focus= "" $self draw pd .$self float $@value - } } --- 3922,3929 ---- def Slider unclick {x y f target} { set @clicking 0 ! if {[lindex $@click_at 1] != $y} { $@canvas focus= "" $self draw pd .$self float $@value } } *************** *** 3932,3944 **** set focused [$self == [$@canvas focus]] if {!$focused} {return} ! set dx [expr $x-[lindex $@first 0]] ! set dy [expr $y-[lindex $@first 1]] set orient [$self orient] set span [expr $@max-$@min] ! set l [expr $orient?$@h:$@w] set d [expr ($orient?-$dy:$dx)*$span/($l+0.0)] ! set @value [expr $@ovalue+$d*$@rate] ! puts "slider value ----------------- $@value" ! puts "max ::: $@max ---------- min ::: $@min" pd .$self float $@value } --- 3932,3943 ---- set focused [$self == [$@canvas focus]] if {!$focused} {return} ! mset {clx cly} $@click_at ! set dx [expr $x-$clx] ! set dy [expr $y-$cly] set orient [$self orient] set span [expr $@max-$@min] ! set l [expr ($orient?$@h:$@w)] set d [expr ($orient?-$dy:$dx)*$span/($l+0.0)] ! set @value [min $@max [max $@min [expr $@ovalue+$d*$@rate]]] pd .$self float $@value } *************** *** 3954,3960 **** set ly [expr $y1+$@ldy] set label $@lab; switch -- $label { empty { set label "" }} ! set lfont [list \ ! [lindex {courier helvetica times} $@fstyle] \ ! $@fs bold] set lcolor [parse_color $@lcol] $self item LABEL text [list $lx $ly] -text $label -anchor w -font $lfont -fill $lcolor --- 3953,3957 ---- set ly [expr $y1+$@ldy] set label $@lab; switch -- $label { empty { set label "" }} ! set lfont [list [lindex {courier helvetica times} $@fstyle] $@fs bold] set lcolor [parse_color $@lcol] $self item LABEL text [list $lx $ly] -text $label -anchor w -font $lfont -fill $lcolor *************** *** 4437,4441 **** }
! def* Canvas hide_crosshair {} { .$self.c delete ${self}VHAIR1 ${self}HHAIR1 ${self}VHAIR2 ${self}HHAIR2 ${self}EYE } --- 4434,4438 ---- }
! def Canvas hide_crosshair {} { .$self.c delete ${self}VHAIR1 ${self}HHAIR1 ${self}VHAIR2 ${self}HHAIR2 ${self}EYE }