home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Netrunner 2004 October
/
NETRUNNER0410.ISO
/
regular
/
ActivePerl-5.8.4.810-MSWin32-x86.msi
/
_5570ba3f9bacf0db584c44c87cdfc645
< prev
next >
Wrap
Text File
|
2004-06-01
|
1KB
|
56 lines
# NOTE: Derived from ..\blib\lib\Tk\Scrollbar.pm.
# Changes made here will be lost when autosplit is run again.
# See AutoSplit.pm.
package Tk::Scrollbar;
#line 116 "..\blib\lib\Tk\Scrollbar.pm (autosplit into ..\blib\lib\auto\Tk\Scrollbar\ButtonDown.al)"
# tkScrollButtonDown --
# This procedure is invoked when a button is pressed in a scrollbar.
# It changes the way the scrollbar is displayed and takes actions
# depending on where the mouse is.
#
# Arguments:
# w - The scrollbar widget.
# x, y - Mouse coordinates.
sub ButtonDown
{my $w = shift;
my $e = $w->XEvent;
my $element = $w->identify($e->x,$e->y);
$w->configure('-activerelief' => 'sunken');
if ($e->b == 1 and
(defined($element) && $element eq 'slider'))
{
$w->StartDrag($e->x,$e->y);
}
elsif ($e->b == 2 and
(defined($element) && $element =~ /^(trough[12]|slider)$/o))
{
my $pos = $w->fraction($e->x, $e->y);
my($head, $tail) = $w->get;
my $len = $tail - $head;
$head = $pos - $len/2;
$tail = $pos + $len/2;
if ($head < 0) {
$head = 0;
$tail = $len;
}
elsif ($tail > 1) {
$head = 1 - $len;
$tail = 1;
}
$w->ScrlToPos($head);
$w->set($head, $tail);
$w->StartDrag($e->x,$e->y);
}
else
{
$w->Select($element,'initial');
}
}
# end of Tk::Scrollbar::ButtonDown
1;