emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 7d6896253b5: Correct initial scale calculation when pinching nons


From: Po Lu
Subject: master 7d6896253b5: Correct initial scale calculation when pinching nonselected window
Date: Thu, 16 Nov 2023 22:37:12 -0500 (EST)

branch: master
commit 7d6896253b500abd655faac2c96f7c9d72fc5b62
Author: Po Lu <luangruo@yahoo.com>
Commit: Po Lu <luangruo@yahoo.com>

    Correct initial scale calculation when pinching nonselected window
    
    * lisp/touch-screen.el (touch-screen-pinch): Retrieve present
    scale within the window pinched.
    (touch-screen-handle-point-update): Expunge inefficacious code
    meant to disregard events sent during gesture navigation.
---
 lisp/touch-screen.el | 32 ++++++++++----------------------
 1 file changed, 10 insertions(+), 22 deletions(-)

diff --git a/lisp/touch-screen.el b/lisp/touch-screen.el
index 3e1a994402d..5a04425d343 100644
--- a/lisp/touch-screen.el
+++ b/lisp/touch-screen.el
@@ -908,16 +908,17 @@ text scale by the ratio therein."
   (require 'face-remap)
   (let* ((posn (cadr event))
          (window (posn-window posn))
-         (current-scale (if text-scale-mode
-                            text-scale-mode-amount
-                          0))
-         (start-scale (or (aref touch-screen-aux-tool 7)
-                          (aset touch-screen-aux-tool 7
-                                current-scale)))
          (scale (nth 2 event))
-         (ratio-diff (nth 5 event)))
+         (ratio-diff (nth 5 event))
+         current-scale start-scale)
     (when (windowp window)
       (with-selected-window window
+        (setq current-scale (if text-scale-mode
+                                text-scale-mode-amount
+                              0)
+              start-scale (or (aref touch-screen-aux-tool 7)
+                              (aset touch-screen-aux-tool 7
+                                    current-scale)))
         ;; Set the text scale.
         (text-scale-set (+ start-scale
                            (round (log scale text-scale-mode-step))))
@@ -1057,25 +1058,12 @@ then move point to the position of POINT."
     (cond ((or (null what)
                (eq what 'ancillary-tool))
            (let* ((last-posn (nth 2 touch-screen-current-tool))
-                  (original-posn (nth 4 touch-screen-current-tool))
-                  (col (and (not (posn-area original-posn))
-                            (car (posn-col-row original-posn
-                                               (posn-window posn)))))
-                  ;; Don't start horizontal scrolling if the touch
-                  ;; point originated within two columns of the window
-                  ;; edges, as systems like Android use those two
-                  ;; columns to implement gesture navigation.
-                  (diff-x-eligible
-                   (and col (> col 2)
-                        (< col (- (window-width window) 2))))
                   (diff-x (- (car last-posn) (car relative-xy)))
                   (diff-y (- (cdr last-posn) (cdr relative-xy))))
              (when (or (> diff-y 10)
-                       (and diff-x-eligible
-                            (> diff-x (frame-char-width)))
+                       (> diff-x (frame-char-width))
                        (< diff-y -10)
-                       (and diff-x-eligible
-                            (< diff-x (- (frame-char-width)))))
+                       (< diff-x (- (frame-char-width))))
                (setcar (nthcdr 3 touch-screen-current-tool)
                        'scroll)
                (setcar (nthcdr 2 touch-screen-current-tool)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]