Make scrollbar_{minheight,size} methods of scrollBar_t.
authorayin <ayin>
Sun, 17 Feb 2008 12:11:56 +0000 (12:11 +0000)
committerayin <ayin>
Sun, 17 Feb 2008 12:11:56 +0000 (12:11 +0000)
src/command.C
src/scrollbar.C
src/scrollbar.h

index 58e5acf88a023d4b9d7f301fc934a36ac1d0357f..0b7667dea2ee2aecac06e5218d7e78b43b71fa42 100644 (file)
@@ -1647,7 +1647,7 @@ rxvt_term::x_cb (XEvent &ev)
                           &ev.xbutton.x, &ev.xbutton.y,
                           &unused_mask);
             scr_move_to (scrollbar_position (ev.xbutton.y) - csrO,
-                         scrollbar_size ());
+                         scrollBar.size ());
             want_refresh = 1;
             scrollbar_show (1);
           }
@@ -2012,7 +2012,7 @@ rxvt_term::button_press (XButtonEvent &ev)
                   if (scrollBar.style == R_SB_XTERM
                       || scrollbar_above_slider (ev.y)
                       || scrollbar_below_slider (ev.y))
-                    scr_move_to (scrollbar_position (ev.y) - csrO, scrollbar_size ());
+                    scr_move_to (scrollbar_position (ev.y) - csrO, scrollBar.size ());
 
                   scrollBar.state = STATE_MOTION;
                   break;
@@ -2045,7 +2045,7 @@ rxvt_term::button_press (XButtonEvent &ev)
                       scr_page ((ev.button == Button1 ? DN : UP),
                                 (nrow
                                  * scrollbar_position (ev.y)
-                                 / scrollbar_size ()));
+                                 / scrollBar.size ()));
                     }
 
                   break;
index 514ce4985075f99469feea28d66208934ef84c37..ef9fa555ea38deb85dec1c84c6dffb555a7fb927 100644 (file)
@@ -151,11 +151,11 @@ rxvt_term::scrollbar_show (int update)
       top = view_start - top_row;
       bot = top + (nrow - 1);
       len = max (nrow - 1 - top_row, 1);
-      adj = (((bot - top) * scrollbar_size ()) % len) > 0 ? 1 : 0;
+      adj = (((bot - top) * scrollBar.size ()) % len) > 0 ? 1 : 0;
 
-      scrollBar.top = (scrollBar.beg + (top * scrollbar_size ()) / len);
-      scrollBar.len = ((bot - top) * scrollbar_size ()) / len +
-                      scrollbar_minheight () + adj;
+      scrollBar.top = (scrollBar.beg + (top * scrollBar.size ()) / len);
+      scrollBar.len = ((bot - top) * scrollBar.size ()) / len +
+                      scrollBar.min_height () + adj;
       scrollBar.bot = (scrollBar.top + scrollBar.len);
       /* no change */
       if (scrollBar.top == scrollBar.last_top
index acf1900349505bd7b23fb7896e8dbeef61f7d581..3697da0829a23649cc081379b11f24f3f29470e5 100644 (file)
@@ -83,23 +83,23 @@ struct scrollBar_t {
       return y > end;
     return false;
   }
+  unsigned min_height ()
+  {
+    return style == R_SB_NEXT ? SB_THUMB_MIN_HEIGHT : 10;
+  }
+  unsigned size ()
+  {
+    return end - beg - min_height ();
+  }
   unsigned total_width ()
   {
     return width + shadow * 2;
   }
 };
 
-#define SCROLLNEXT_MINHEIGHT    SB_THUMB_MIN_HEIGHT
-#define SCROLLRXVT_MINHEIGHT    10
-
-#define scrollbar_minheight()   (scrollBar.style == R_SB_NEXT        \
-                                 ? SCROLLNEXT_MINHEIGHT                 \
-                                 : SCROLLRXVT_MINHEIGHT)
 #define scrollbar_above_slider(y)       ((y) < scrollBar.top)
 #define scrollbar_below_slider(y)       ((y) > scrollBar.bot)
 #define scrollbar_position(y)           ((y) - scrollBar.beg)
-#define scrollbar_size()                (scrollBar.end - scrollBar.beg \
-                                         - scrollbar_minheight ())
 
  /*
   *    +-------------+