And rename them to last_x, last_y and last_a respectively, as they're
used to store the values as of the last scroll event sent.

Signed-off-by: Daniel Stone <[email protected]>
---
 src/synaptics.c    |   54 ++++++++++++++++++++++++++--------------------------
 src/synapticsstr.h |    8 ++++--
 2 files changed, 32 insertions(+), 30 deletions(-)

v3: New.

diff --git a/src/synaptics.c b/src/synaptics.c
index eeea83f..eae6114 100644
--- a/src/synaptics.c
+++ b/src/synaptics.c
@@ -2054,7 +2054,7 @@ start_coasting(SynapticsPrivate *priv, struct 
SynapticsHwState *hw,
                double scrolls_per_sec = dy / pkt_time / sdelta;
                if (fabs(scrolls_per_sec) >= para->coasting_speed) {
                    priv->autoscroll_yspd = scrolls_per_sec;
-                   priv->autoscroll_y = (hw->y - priv->scroll_y) / 
(double)sdelta;
+                   priv->autoscroll_y = (hw->y - priv->scroll.last_y) / 
(double)sdelta;
                }
            }
        }
@@ -2065,7 +2065,7 @@ start_coasting(SynapticsPrivate *priv, struct 
SynapticsHwState *hw,
                double scrolls_per_sec = dx / pkt_time / sdelta;
                if (fabs(scrolls_per_sec) >= para->coasting_speed) {
                    priv->autoscroll_xspd = scrolls_per_sec;
-                   priv->autoscroll_x = (hw->x - priv->scroll_x) / 
(double)sdelta;
+                   priv->autoscroll_x = (hw->x - priv->scroll.last_x) / 
(double)sdelta;
                }
            }
        }
@@ -2077,11 +2077,11 @@ start_coasting(SynapticsPrivate *priv, struct 
SynapticsHwState *hw,
                if (fabs(scrolls_per_sec) >= para->coasting_speed) {
                    if (vert) {
                        priv->autoscroll_yspd = scrolls_per_sec;
-                       priv->autoscroll_y = diffa(priv->scroll_a, angle(priv, 
hw->x, hw->y)) / sdelta;
+                       priv->autoscroll_y = diffa(priv->scroll.last_a, 
angle(priv, hw->x, hw->y)) / sdelta;
                    }
                    else if (horiz) {
                        priv->autoscroll_xspd = scrolls_per_sec;
-                       priv->autoscroll_x = diffa(priv->scroll_a, angle(priv, 
hw->x, hw->y)) / sdelta;
+                       priv->autoscroll_x = diffa(priv->scroll.last_a, 
angle(priv, hw->x, hw->y)) / sdelta;
                    }
                }
            }
@@ -2132,7 +2132,7 @@ HandleScrolling(SynapticsPrivate *priv, struct 
SynapticsHwState *hw,
                (para->circular_trigger == 8 && edge & LEFT_EDGE && edge & 
TOP_EDGE)) {
                priv->circ_scroll_on = TRUE;
                priv->circ_scroll_vert = TRUE;
-               priv->scroll_a = angle(priv, hw->x, hw->y);
+               priv->scroll.last_a = angle(priv, hw->x, hw->y);
                DBG(7, "circular scroll detected on edge\n");
            }
        }
@@ -2144,14 +2144,14 @@ HandleScrolling(SynapticsPrivate *priv, struct 
SynapticsHwState *hw,
                    (para->scroll_twofinger_vert) && (para->scroll_dist_vert != 
0)) {
                    priv->vert_scroll_twofinger_on = TRUE;
                    priv->vert_scroll_edge_on = FALSE;
-                   priv->scroll_y = hw->y;
+                   priv->scroll.last_y = hw->y;
                    DBG(7, "vert two-finger scroll detected\n");
                }
                if (!priv->horiz_scroll_twofinger_on &&
                    (para->scroll_twofinger_horiz) && (para->scroll_dist_horiz 
!= 0)) {
                    priv->horiz_scroll_twofinger_on = TRUE;
                    priv->horiz_scroll_edge_on = FALSE;
-                   priv->scroll_x = hw->x;
+                   priv->scroll.last_x = hw->x;
                    DBG(7, "horiz two-finger scroll detected\n");
                }
            }
@@ -2161,13 +2161,13 @@ HandleScrolling(SynapticsPrivate *priv, struct 
SynapticsHwState *hw,
                if ((para->scroll_edge_vert) && (para->scroll_dist_vert != 0) &&
                    (edge & RIGHT_EDGE)) {
                    priv->vert_scroll_edge_on = TRUE;
-                   priv->scroll_y = hw->y;
+                   priv->scroll.last_y = hw->y;
                    DBG(7, "vert edge scroll detected on right edge\n");
                }
                if ((para->scroll_edge_horiz) && (para->scroll_dist_horiz != 0) 
&&
                    (edge & BOTTOM_EDGE)) {
                    priv->horiz_scroll_edge_on = TRUE;
-                   priv->scroll_x = hw->x;
+                   priv->scroll.last_x = hw->x;
                    DBG(7, "horiz edge scroll detected on bottom edge\n");
                }
            }
@@ -2250,7 +2250,7 @@ HandleScrolling(SynapticsPrivate *priv, struct 
SynapticsHwState *hw,
            priv->vert_scroll_edge_on = FALSE;
            priv->circ_scroll_on = TRUE;
            priv->circ_scroll_vert = TRUE;
-           priv->scroll_a = angle(priv, hw->x, hw->y);
+           priv->scroll.last_a = angle(priv, hw->x, hw->y);
            DBG(7, "switching to circular scrolling\n");
        }
     }
@@ -2269,7 +2269,7 @@ HandleScrolling(SynapticsPrivate *priv, struct 
SynapticsHwState *hw,
            priv->horiz_scroll_edge_on = FALSE;
            priv->circ_scroll_on = TRUE;
            priv->circ_scroll_vert = FALSE;
-           priv->scroll_a = angle(priv, hw->x, hw->y);
+           priv->scroll.last_a = angle(priv, hw->x, hw->y);
            DBG(7, "switching to circular scrolling\n");
        }
     }
@@ -2284,13 +2284,13 @@ HandleScrolling(SynapticsPrivate *priv, struct 
SynapticsHwState *hw,
        /* + = down, - = up */
        int delta = para->scroll_dist_vert;
        if (delta > 0) {
-           while (hw->y - priv->scroll_y > delta) {
+           while (hw->y - priv->scroll.last_y > delta) {
                sd->down++;
-               priv->scroll_y += delta;
+               priv->scroll.last_y += delta;
            }
-           while (hw->y - priv->scroll_y < -delta) {
+           while (hw->y - priv->scroll.last_y < -delta) {
                sd->up++;
-               priv->scroll_y -= delta;
+               priv->scroll.last_y -= delta;
            }
        }
     }
@@ -2298,13 +2298,13 @@ HandleScrolling(SynapticsPrivate *priv, struct 
SynapticsHwState *hw,
        /* + = right, - = left */
        int delta = para->scroll_dist_horiz;
        if (delta > 0) {
-           while (hw->x - priv->scroll_x > delta) {
+           while (hw->x - priv->scroll.last_x > delta) {
                sd->right++;
-               priv->scroll_x += delta;
+               priv->scroll.last_x += delta;
            }
-           while (hw->x - priv->scroll_x < -delta) {
+           while (hw->x - priv->scroll.last_x < -delta) {
                sd->left++;
-               priv->scroll_x -= delta;
+               priv->scroll.last_x -= delta;
            }
        }
     }
@@ -2312,23 +2312,23 @@ HandleScrolling(SynapticsPrivate *priv, struct 
SynapticsHwState *hw,
        /* + = counter clockwise, - = clockwise */
        double delta = para->scroll_dist_circ;
        if (delta >= 0.005) {
-           while (diffa(priv->scroll_a, angle(priv, hw->x, hw->y)) > delta) {
+           while (diffa(priv->scroll.last_a, angle(priv, hw->x, hw->y)) > 
delta) {
                if (priv->circ_scroll_vert)
                    sd->up++;
                else
                    sd->right++;
-               priv->scroll_a += delta;
-               if (priv->scroll_a > M_PI)
-                   priv->scroll_a -= 2 * M_PI;
+               priv->scroll.last_a += delta;
+               if (priv->scroll.last_a > M_PI)
+                   priv->scroll.last_a -= 2 * M_PI;
            }
-           while (diffa(priv->scroll_a, angle(priv, hw->x, hw->y)) < -delta) {
+           while (diffa(priv->scroll.last_a, angle(priv, hw->x, hw->y)) < 
-delta) {
                if (priv->circ_scroll_vert)
                    sd->down++;
                else
                    sd->left++;
-               priv->scroll_a -= delta;
-               if (priv->scroll_a < -M_PI)
-                   priv->scroll_a += 2 * M_PI;
+               priv->scroll.last_a -= delta;
+               if (priv->scroll.last_a < -M_PI)
+                   priv->scroll.last_a += 2 * M_PI;
            }
        }
     }
diff --git a/src/synapticsstr.h b/src/synapticsstr.h
index 596ea54..ac25889 100644
--- a/src/synapticsstr.h
+++ b/src/synapticsstr.h
@@ -199,9 +199,11 @@ typedef struct _SynapticsPrivateRec
     int hist_index;                    /* Last added entry in move_hist[] */
     int hyst_center_x;                 /* center x of hysteresis*/
     int hyst_center_y;                 /* center y of hysteresis*/
-    int scroll_y;                      /* last y-scroll position */
-    int scroll_x;                      /* last x-scroll position */
-    double scroll_a;                   /* last angle-scroll position */
+    struct {
+        int last_x;                    /* last x-scroll position */
+        int last_y;                    /* last y-scroll position */
+        double last_a;                 /* last angle-scroll position */
+    } scroll;
     int count_packet_finger;           /* packet counter with finger on the 
touchpad */
     int button_delay_millis;           /* button delay for 3rd button 
emulation */
     Bool prev_up;                      /* Previous up button value, for double 
click emulation */
-- 
1.7.5.4

_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to