Clear scroll interpolation when interpolated scroll completes
* lisp/pixel-scroll.el (pixel-scroll-precision-interpolate): Set saved interpolation to nil upon completion.
This commit is contained in:
parent
d8c383b25e
commit
f10d4b31d6
1 changed files with 14 additions and 6 deletions
|
@ -550,7 +550,8 @@ animation."
|
|||
(rem (window-parameter nil 'interpolated-scroll-remainder))
|
||||
(time (window-parameter nil 'interpolated-scroll-remainder-time)))
|
||||
(when (and rem time
|
||||
(< (- (float-time) time) 1.0))
|
||||
(< (- (float-time) time) 1.0)
|
||||
(eq (< delta 0) (< rem 0)))
|
||||
(setq delta (+ delta rem)))
|
||||
(while-no-input
|
||||
(unwind-protect
|
||||
|
@ -568,11 +569,18 @@ animation."
|
|||
(ceiling (* (* delta factor)
|
||||
(/ between-scroll total-time)))))
|
||||
(setq last-time (float-time)))
|
||||
(when (< percentage 1)
|
||||
(set-window-parameter nil 'interpolated-scroll-remainder
|
||||
(* delta (- 1 percentage)))
|
||||
(set-window-parameter nil 'interpolated-scroll-remainder-time
|
||||
(float-time)))))))
|
||||
(if (< percentage 1)
|
||||
(progn
|
||||
(set-window-parameter nil 'interpolated-scroll-remainder
|
||||
(* delta (- 1 percentage)))
|
||||
(set-window-parameter nil 'interpolated-scroll-remainder-time
|
||||
(float-time)))
|
||||
(set-window-parameter nil
|
||||
'interpolated-scroll-remainder
|
||||
nil)
|
||||
(set-window-parameter nil
|
||||
'interpolated-scroll-remainder-time
|
||||
nil))))))
|
||||
|
||||
(defun pixel-scroll-precision-scroll-up (delta)
|
||||
"Scroll the current window up by DELTA pixels."
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue