summaryrefslogtreecommitdiff
path: root/Master/xemtex/perl/site/lib/auto/Tk/Scrollbar/Drag.al
diff options
context:
space:
mode:
Diffstat (limited to 'Master/xemtex/perl/site/lib/auto/Tk/Scrollbar/Drag.al')
-rw-r--r--Master/xemtex/perl/site/lib/auto/Tk/Scrollbar/Drag.al44
1 files changed, 44 insertions, 0 deletions
diff --git a/Master/xemtex/perl/site/lib/auto/Tk/Scrollbar/Drag.al b/Master/xemtex/perl/site/lib/auto/Tk/Scrollbar/Drag.al
new file mode 100644
index 00000000000..40d6b0f8d1b
--- /dev/null
+++ b/Master/xemtex/perl/site/lib/auto/Tk/Scrollbar/Drag.al
@@ -0,0 +1,44 @@
+# 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 247 "..\blib\lib\Tk\Scrollbar.pm (autosplit into ..\blib\lib\auto\Tk\Scrollbar\Drag.al)"
+# tkScrollDrag --
+# This procedure is called for each mouse motion even when the slider
+# is being dragged. It notifies the associated widget if we're not
+# jump scrolling, and it just updates the scrollbar if we are jump
+# scrolling.
+#
+# Arguments:
+# w - The scrollbar widget.
+# x, y - The current mouse position.
+
+sub Drag
+{my $w = shift;
+ my $e = $w->XEvent;
+ return unless (defined $initMouse);
+ my $f = $w->fraction($e->x,$e->y);
+ my $delta = $f - $initMouse;
+ if ($w->cget('-jump'))
+ {
+ if (@initValues == 2)
+ {
+ $w->set($initValues[0]+$delta,$initValues[1]+$delta);
+ }
+ else
+ {
+ $delta = int($delta * $initValues[0]);
+ $initValues[2] += $delta;
+ $initValues[3] += $delta;
+ $w->set(@initValues);
+ }
+ }
+ else
+ {
+ $w->ScrlToPos($initPos+$delta);
+ }
+}
+
+# end of Tk::Scrollbar::Drag
+1;