# 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 171 "../blib/lib/Tk/Scrollbar.pm (autosplit into ../blib/lib/auto/Tk/Scrollbar/Select.al)"
# tkScrollSelect --
# This procedure is invoked when button 1 is pressed over the scrollbar.
# It invokes one of several scrolling actions depending on where in
# the scrollbar the button was pressed.
#
# Arguments:
# w -		The scrollbar widget.
# element -	The element of the scrollbar that was selected, such
#		as "arrow1" or "trough2".  Shouldn't be "slider".
# repeat -	Whether and how to auto-repeat the action:  "noRepeat"
#		means don't auto-repeat, "initial" means this is the
#		first action in an auto-repeat sequence, and "again"
#		means this is the second repetition or later.

sub Select
{
 my $w = shift;
 my $element = shift;
 my $repeat  = shift;
 return unless defined ($element);
 if ($element eq 'arrow1')
  {
   $w->ScrlByUnits('hv',-1);
  }
 elsif ($element eq 'trough1')
  {
   $w->ScrlByPages('hv',-1);
  }
 elsif ($element eq 'trough2')
  {
   $w->ScrlByPages('hv', 1);
  }
 elsif ($element eq 'arrow2')
  {
   $w->ScrlByUnits('hv', 1);
  }
 else
  {
   return;
  }

 if ($repeat eq 'again')
  {
   $w->RepeatId($w->after($w->cget('-repeatinterval'),['Select',$w,$element,'again']));
  }
 elsif ($repeat eq 'initial')
  {
   $w->RepeatId($w->after($w->cget('-repeatdelay'),['Select',$w,$element,'again']));
  }
}

# end of Tk::Scrollbar::Select
1;
