emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] trunk r114210: Cleaning up a few X scroll bar bits.


From: Dmitry Antipov
Subject: [Emacs-diffs] trunk r114210: Cleaning up a few X scroll bar bits.
Date: Wed, 11 Sep 2013 13:35:47 +0000
User-agent: Bazaar (2.6b2)

------------------------------------------------------------
revno: 114210
revision-id: address@hidden
parent: address@hidden
committer: Dmitry Antipov <address@hidden>
branch nick: trunk
timestamp: Wed 2013-09-11 17:35:28 +0400
message:
  Cleaning up a few X scroll bar bits.
  * termhooks.h (enum scroll_bar_part): Add scroll_bar_nowhere member.
  * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS && USE_LUCID]:
  New member last_seen_part, going to replace...
  * xterm.c [USE_TOOLKIT_SCROLL_BARS]: ...global last_scroll_bar_part.
  (xt_action_hook) [USE_LUCID]: Adjust user.
  (xm_scroll_callback, xg_scroll_callback): Do not bloat with
  Lucid-specific scroll bar support.
  (xaw_jump_callback, xaw_scroll_callback): Prefer enum scroll_par_part
  to int and adjust to use last_seen_part member.
  (x_set_toolkit_scroll_bar_thumb) [USE_LUCID]: Adjust user.
  (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS && USE_LUCID]:
  Initialize last_seen_part.
modified:
  src/ChangeLog                  changelog-20091113204419-o5vbwnq5f7feedwu-1438
  src/termhooks.h                termhooks.h-20091113204419-o5vbwnq5f7feedwu-249
  src/xterm.c                    xterm.c-20091113204419-o5vbwnq5f7feedwu-244
  src/xterm.h                    xterm.h-20091113204419-o5vbwnq5f7feedwu-228
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2013-09-11 12:28:01 +0000
+++ b/src/ChangeLog     2013-09-11 13:35:28 +0000
@@ -1,3 +1,19 @@
+2013-09-11  Dmitry Antipov  <address@hidden>
+
+       Cleaning up a few X scroll bar bits.
+       * termhooks.h (enum scroll_bar_part): Add scroll_bar_nowhere member.
+       * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS && USE_LUCID]:
+       New member last_seen_part, going to replace...
+       * xterm.c [USE_TOOLKIT_SCROLL_BARS]: ...global last_scroll_bar_part.
+       (xt_action_hook) [USE_LUCID]: Adjust user.
+       (xm_scroll_callback, xg_scroll_callback): Do not bloat with
+       Lucid-specific scroll bar support.
+       (xaw_jump_callback, xaw_scroll_callback): Prefer enum scroll_par_part
+       to int and adjust to use last_seen_part member.
+       (x_set_toolkit_scroll_bar_thumb) [USE_LUCID]: Adjust user.
+       (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS && USE_LUCID]:
+       Initialize last_seen_part.
+
 2013-09-11  Stefan Monnier  <address@hidden>
 
        * insdel.c (insert_from_buffer_1): Don't mark buffer as modified when

=== modified file 'src/termhooks.h'
--- a/src/termhooks.h   2013-08-30 12:17:44 +0000
+++ b/src/termhooks.h   2013-09-11 13:35:28 +0000
@@ -31,6 +31,7 @@
 #endif
 
 enum scroll_bar_part {
+  scroll_bar_nowhere = -1,
   scroll_bar_above_handle,
   scroll_bar_handle,
   scroll_bar_below_handle,

=== modified file 'src/xterm.c'
--- a/src/xterm.c       2013-09-11 08:56:33 +0000
+++ b/src/xterm.c       2013-09-11 13:35:28 +0000
@@ -4081,10 +4081,6 @@
 
 static Lisp_Object window_being_scrolled;
 
-/* Last scroll bar part sent in xm_scroll_callback.  */
-
-static int last_scroll_bar_part;
-
 /* Whether this is an Xaw with arrow-scrollbars.  This should imply
    that movements of 1/20 of the screen size are mapped to up/down.  */
 
@@ -4126,20 +4122,23 @@
       && WINDOWP (window_being_scrolled))
     {
       struct window *w;
+      struct scroll_bar *bar;
 
       x_send_scroll_bar_event (window_being_scrolled,
                               scroll_bar_end_scroll, 0, 0);
       w = XWINDOW (window_being_scrolled);
+      bar = XSCROLL_BAR (w->vertical_scroll_bar);
 
-      if (XSCROLL_BAR (w->vertical_scroll_bar)->dragging != -1)
+      if (bar->dragging != -1)
        {
-         XSCROLL_BAR (w->vertical_scroll_bar)->dragging = -1;
+         bar->dragging = -1;
          /* The thumb size is incorrect while dragging: fix it.  */
          set_vertical_scroll_bar (w);
        }
       window_being_scrolled = Qnil;
-      last_scroll_bar_part = -1;
-
+#if defined (USE_LUCID)
+      bar->last_seen_part = scroll_bar_nowhere;
+#endif
       /* Xt timeouts no longer needed.  */
       toolkit_scroll_bar_interaction = 0;
     }
@@ -4323,7 +4322,6 @@
   if (part >= 0)
     {
       window_being_scrolled = bar->window;
-      last_scroll_bar_part = part;
       x_send_scroll_bar_event (bar->window, part, portion, whole);
     }
 }
@@ -4384,7 +4382,6 @@
   if (part >= 0)
     {
       window_being_scrolled = bar->window;
-      last_scroll_bar_part = part;
       x_send_scroll_bar_event (bar->window, part, portion, whole);
     }
 
@@ -4426,7 +4423,7 @@
   float top = *top_addr;
   float shown;
   int whole, portion, height;
-  int part;
+  enum scroll_bar_part part;
 
   /* Get the size of the thumb, a value between 0 and 1.  */
   block_input ();
@@ -4448,7 +4445,7 @@
 
   window_being_scrolled = bar->window;
   bar->dragging = portion;
-  last_scroll_bar_part = part;
+  bar->last_seen_part = part;
   x_send_scroll_bar_event (bar->window, part, portion, whole);
 }
 
@@ -4468,7 +4465,7 @@
   /* The position really is stored cast to a pointer.  */
   int position = (intptr_t) call_data;
   Dimension height;
-  int part;
+  enum scroll_bar_part part;
 
   /* Get the height of the scroll bar.  */
   block_input ();
@@ -4487,7 +4484,7 @@
 
   window_being_scrolled = bar->window;
   bar->dragging = -1;
-  last_scroll_bar_part = part;
+  bar->last_seen_part = part;
   x_send_scroll_bar_event (bar->window, part, position, height);
 }
 
@@ -4797,7 +4794,7 @@
                   NULL);
 
     /* Massage the top+shown values.  */
-    if (bar->dragging == -1 || last_scroll_bar_part == scroll_bar_down_arrow)
+    if (bar->dragging == -1 || bar->last_seen_part == scroll_bar_down_arrow)
       top = max (0, min (1, top));
     else
       top = old_top;
@@ -4902,6 +4899,9 @@
   bar->end = 0;
   bar->dragging = -1;
   bar->fringe_extended_p = 0;
+#if defined (USE_TOOLKIT_SCROLL_BARS) && defined (USE_LUCID)
+  bar->last_seen_part = scroll_bar_nowhere;
+#endif
 
   /* Add bar to its frame's list of scroll bars.  */
   bar->next = FRAME_SCROLL_BARS (f);

=== modified file 'src/xterm.h'
--- a/src/xterm.h       2013-09-04 04:02:56 +0000
+++ b/src/xterm.h       2013-09-11 13:35:28 +0000
@@ -801,6 +801,11 @@
      being dragged, this is -1.  */
   int dragging;
 
+#if defined (USE_TOOLKIT_SCROLL_BARS) && defined (USE_LUCID)
+  /* Last scroll bar part seen in xaw_jump_callback and xaw_scroll_callback.  
*/
+  enum scroll_bar_part last_seen_part;
+#endif
+
   /* 1 if the background of the fringe that is adjacent to a scroll
      bar is extended to the gap between the fringe and the bar.  */
   unsigned fringe_extended_p : 1;


reply via email to

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