Add enum for scrollbar states and remove methods/macros to set/check
authorayin <ayin>
Tue, 29 Jan 2008 13:57:23 +0000 (13:57 +0000)
committerayin <ayin>
Tue, 29 Jan 2008 13:57:23 +0000 (13:57 +0000)
it.

src/background.C
src/command.C
src/init.C
src/screen.C
src/scrollbar.C
src/scrollbar.h

index 135940b5965719497fafeee6c87ba4812d51ca7f..8b7981ffaa16fe7fc2c8aedee4e96e10fe8e0358 100644 (file)
@@ -1322,7 +1322,7 @@ bgPixmap_t::apply ()
 
       if (target->scrollBar.win)
         {
-          target->scrollBar.setIdle ();
+          target->scrollBar.state = STATE_IDLE;
           target->scrollbar_show (0);
         }
 
index e9634337973231d9b9b8f9c1894d3545e94c1aa9..603e6e81e9090c6191b0623ff3ef52f1045a5f73 100644 (file)
@@ -1555,7 +1555,7 @@ rxvt_term::x_cb (XEvent &ev)
 
             if (scrollBar.state && ev.xany.window == scrollBar.win)
               {
-                scrollBar.setIdle ();
+                scrollBar.state = STATE_IDLE;
                 scrollbar_show (0);
               }
           }
@@ -1653,7 +1653,7 @@ rxvt_term::x_cb (XEvent &ev)
 #endif
               }
           }
-        else if (scrollbar_isMotion () && ev.xany.window == scrollBar.win)
+        else if (scrollBar.state == STATE_MOTION && ev.xany.window == scrollBar.win)
           {
             while (XCheckTypedWindowEvent (dpy, scrollBar.win,
                                            MotionNotify, &ev))
@@ -1956,7 +1956,7 @@ rxvt_term::button_press (XButtonEvent &ev)
       else if (scrollBar.dnButton (ev.y))
         upordown = 1;  /* down */
 
-      scrollBar.setIdle ();
+      scrollBar.state = STATE_IDLE;
       /*
        * Rxvt-style scrollbar:
        * move up if mouse is above slider
@@ -2006,9 +2006,9 @@ rxvt_term::button_press (XButtonEvent &ev)
               if (scr_page (upordown < 0 ? UP : DN, 1))
                 {
                   if (upordown < 0)
-                    scrollBar.setUp ();
+                    scrollBar.state = STATE_UP;
                   else
-                    scrollBar.setDn ();
+                    scrollBar.state = STATE_DOWN;
                 }
             }
           else
@@ -2033,7 +2033,7 @@ rxvt_term::button_press (XButtonEvent &ev)
                       || scrollbar_below_slider (ev.y))
                     scr_move_to (scrollbar_position (ev.y) - csrO, scrollbar_size ());
 
-                  scrollBar.setMotion ();
+                  scrollBar.state = STATE_MOTION;
                   break;
 
                 case Button1:
@@ -2057,7 +2057,7 @@ rxvt_term::button_press (XButtonEvent &ev)
                         scr_page (DN, nrow / 4);
 # endif
                       else
-                        scrollBar.setMotion ();
+                        scrollBar.state = STATE_MOTION;
                     }
                   else
                     {
@@ -2084,9 +2084,9 @@ rxvt_term::button_release (XButtonEvent &ev)
   if (!bypass_keystate)
     reportmode = !! (priv_modes & PrivMode_mouse_report);
 
-  if (scrollbar_isUpDn ())
+  if (scrollBar.state == STATE_UP || scrollBar.state == STATE_DOWN)
     {
-      scrollBar.setIdle ();
+      scrollBar.state = STATE_IDLE;
       scrollbar_show (0);
     }
 
index 5b7b9e7be7c0e37b87969d02b6fef3af477d3d83..0e0413b84870cd1c62a3b81fe05bb6bb6021acf1 100644 (file)
@@ -554,7 +554,7 @@ rxvt_term::init (int argc, const char *const *argv, stringvec *envv)
 #endif
 
   if (option (Opt_scrollBar))
-    scrollBar.setIdle ();    /* set existence for size calculations */
+    scrollBar.state = STATE_IDLE;    /* set existence for size calculations */
 
   pty = ptytty::create ();
 
index dd35c28d3e63d5d489cff7ab2368085a82a5fba6..f6b19c7401fdc431069dda531d72f7f7b1cc5daf 100644 (file)
@@ -2479,7 +2479,7 @@ rxvt_term::scr_recolour () NOTHROW
   if (scrollBar.win)
    {
      XSetWindowBackground (dpy, scrollBar.win, pix_colors[Color_border]);
-     scrollBar.setIdle ();
+     scrollBar.state = STATE_IDLE;
      scrollbar_show (0);
    }
 
index 66f253328345f951dbfb201b471856d0dc86f875..ab1c48696de69e0697e8efdc7ae5b17314570f7b 100644 (file)
@@ -38,7 +38,7 @@ rxvt_term::scrollbar_mapping (int map)
 
   if (map)
     {
-      scrollBar.setIdle ();
+      scrollBar.state = STATE_IDLE;
 
       if (!scrollBar.win)
         resize_scrollbar ();
@@ -160,7 +160,8 @@ rxvt_term::scrollbar_show (int update)
       /* no change */
       if (scrollBar.top == scrollBar.last_top
           && scrollBar.bot == scrollBar.last_bot
-          && (scrollBar.state == scrollBar.last_state || !scrollbar_isUpDn ()))
+          && (scrollBar.state == scrollBar.last_state
+              || !(scrollBar.state == STATE_UP || scrollBar.state == STATE_DOWN)))
         return 0;
     }
 
index 2e70f8b2bef82c199fb023805bed1885205c18b0..f78fb803fa471dcbeb67731f2abb67f13d3c63d5 100644 (file)
@@ -10,6 +10,13 @@ struct rxvt_term;
 #define R_SB_PLAIN              4
 #define R_SB_RXVT               8
 
+enum sb_state {
+  STATE_IDLE = 1,
+  STATE_MOTION,
+  STATE_UP,
+  STATE_DOWN,
+};
+
 struct scrollBar_t {
   char            state;        /* scrollbar state                          */
   char            init;         /* scrollbar has been initialised           */
@@ -29,11 +36,6 @@ struct scrollBar_t {
   Cursor          leftptr_cursor;
   int             (rxvt_term::*update)(int, int, int, int);
 
-  void setIdle()   { state =  1 ; }
-  void setMotion() { state = 'm'; }
-  void setUp()     { state = 'U'; }
-  void setDn()     { state = 'D'; }
-
   bool upButton (int y)
   {
     if (style == R_SB_NEXT)
@@ -53,10 +55,6 @@ struct scrollBar_t {
 };
 
 #define scrollbar_TotalWidth()  (scrollBar.width + scrollBar.shadow * 2)
-#define scrollbar_isMotion()    (scrollBar.state == 'm')
-#define scrollbar_isUp()        (scrollBar.state == 'U')
-#define scrollbar_isDn()        (scrollBar.state == 'D')
-#define scrollbar_isUpDn()      (scrollbar_isUp () || scrollbar_isDn ())
 
 #define SCROLLNEXT_MINHEIGHT    SB_THUMB_MIN_HEIGHT
 #define SCROLLRXVT_MINHEIGHT    10