$T->tagBind(qw/demo <Motion>/ => [sub {
my($x, $y) = (shift,shift);
my($text, $sv) = @_;
#my $e = $text->XEvent;
#my($x, $y) = ($e->x, $e->y);
my $new_line = $text->index("\@$x,$y linestart");
if ($new_line ne $last_line) {
$text->tagRemove(qw/hot 1.0 end/);
$last_line = $new_line;
$text->tagAdd('hot', $last_line, "$last_line lineend");
}
show_stat $sv, $text, $text->index('current');
}, Tcl::Ev('%x','%y'), \$STATUS_VAR]
);
It is also documented in Tcl 4. As a special case, there is a mechanism to deal with Tk's special event variables (they are mentioned as '%x', '%y' and so on throughout Tcl). When creating a subroutine reference that uses such variables, you must declare the desired variables using Tcl::Ev as the first argument to the subroutine. |