From 8f49c8ad593b03fe974c6c131725cf2aadc85047 Mon Sep 17 00:00:00 2001 From: ayin Date: Tue, 29 Jan 2008 13:57:23 +0000 Subject: [PATCH] Add enum for scrollbar states and remove methods/macros to set/check it. --- src/background.C | 2 +- src/command.C | 18 +++++++++--------- src/init.C | 2 +- src/screen.C | 2 +- src/scrollbar.C | 5 +++-- src/scrollbar.h | 16 +++++++--------- 6 files changed, 22 insertions(+), 23 deletions(-) diff --git a/src/background.C b/src/background.C index 135940b5..8b7981ff 100644 --- a/src/background.C +++ b/src/background.C @@ -1322,7 +1322,7 @@ bgPixmap_t::apply () if (target->scrollBar.win) { - target->scrollBar.setIdle (); + target->scrollBar.state = STATE_IDLE; target->scrollbar_show (0); } diff --git a/src/command.C b/src/command.C index e9634337..603e6e81 100644 --- a/src/command.C +++ b/src/command.C @@ -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); } diff --git a/src/init.C b/src/init.C index 5b7b9e7b..0e0413b8 100644 --- a/src/init.C +++ b/src/init.C @@ -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 (); diff --git a/src/screen.C b/src/screen.C index dd35c28d..f6b19c74 100644 --- a/src/screen.C +++ b/src/screen.C @@ -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); } diff --git a/src/scrollbar.C b/src/scrollbar.C index 66f25332..ab1c4869 100644 --- a/src/scrollbar.C +++ b/src/scrollbar.C @@ -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; } diff --git a/src/scrollbar.h b/src/scrollbar.h index 2e70f8b2..f78fb803 100644 --- a/src/scrollbar.h +++ b/src/scrollbar.h @@ -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 -- 2.34.1