$body
"
}
-pannerproc _debug {m} {
- if {!$d(debug)} return
+pannerproc _debug {m {minlevel 1}} {
+ if {$d(debug) < $minlevel} return
puts "PANNER $w $m"
}
pannerproc updatecanvas {} {
set d(bbox) [$d(canvas) cget -scrollregion]
+ if {[llength $d(bbox)] < 4} { set d(enabled) 0; _noshow $w; return }
+
manyset $d(bbox) x1 y1 x2 y2
set d(cwidth) [expr {$x2-$x1}]
set d(cheight) [expr {$y2-$y1}]
pannerproc _mapc {view which} {
set viewpos [lindex [$d(canvas) $view] $which]
set r [expr {$viewpos * $d(mul_$view) + $d(add_$view)}]
- _debug $w " _mapc $view wh=$which viewpos=$viewpos => $r"
+ _debug $w " _mapc $view wh=$which viewpos=$viewpos => $r" 2
return $r
}
pannerproc _redisplay {} {
- _debug $w "_redisplay"
+ _debug $w "_redisplay" 2
$w coords core \
[_mapc $w xview 0] \
[_mapc $w yview 0] \
$d(canvas) ${xy}view moveto $newpos
lappend dl $newpos
}
- _debug $w "_motion $x,$y [join $dl ,]"
+ _debug $w "_motion $x,$y [join $dl ,]" 2
_redisplay $w
}