Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / tools / perl-5.8.0 / lib / site_perl / 5.8.0 / sun4-solaris / auto / Tk / Scrollbar / ButtonDown.al
# 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 106 "../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;