summaryrefslogtreecommitdiff
path: root/src/scrollbar.h
diff options
context:
space:
mode:
authorMichael Jennings <mej@kainx.org>1999-11-19 23:21:09 +0000
committerMichael Jennings <mej@kainx.org>1999-11-19 23:21:09 +0000
commiteec575c1e32f979eda7d6a7b1d5360981ad86b21 (patch)
tree0052d4d151f140e2491034e83c9616b0fb3d0965 /src/scrollbar.h
parentc6e3fdbac9fcdcf7b2e18c867e6b3323103aa8b7 (diff)
downloadeterm-eec575c1e32f979eda7d6a7b1d5360981ad86b21.tar.gz
Fri Nov 19 16:55:22 PST 1999 Michael Jennings <mej@eterm.org>
Okay, I think I have everything back in working order. PLEASE test this thoroughly, as an awful lot has changed. Let me know what I broke. :) SVN revision: 1339
Diffstat (limited to 'src/scrollbar.h')
-rw-r--r--src/scrollbar.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/scrollbar.h b/src/scrollbar.h
index 40132f0..3b3cb17 100644
--- a/src/scrollbar.h
+++ b/src/scrollbar.h
@@ -39,6 +39,8 @@
#define SCROLLBAR_STATE_MOVING (1UL << 1)
#define SCROLLBAR_STATE_UP_CLICKED (1UL << 2)
#define SCROLLBAR_STATE_DOWN_CLICKED (1UL << 3)
+#define SCROLLBAR_STATE_ANCHOR_CLICKED (1UL << 4)
+#define SCROLLBAR_STATE_MOTION_MASK (SCROLLBAR_STATE_UP_CLICKED | SCROLLBAR_STATE_DOWN_CLICKED | SCROLLBAR_STATE_ANCHOR_CLICKED | SCROLLBAR_STATE_MOVING)
/* Scrollbar state macros */
#define scrollbar_is_visible() (scrollbar.state & SCROLLBAR_STATE_VISIBLE)
@@ -46,11 +48,13 @@
#define scrollbar_uparrow_is_pressed() (scrollbar.state & SCROLLBAR_STATE_UP_CLICKED)
#define scrollbar_downarrow_is_pressed() (scrollbar.state & SCROLLBAR_STATE_DOWN_CLICKED)
#define scrollbar_arrow_is_pressed() (scrollbar.state & (SCROLLBAR_STATE_UP_CLICKED | SCROLLBAR_STATE_DOWN_CLICKED))
-#define scrollbar_cancel_motion() (scrollbar.state &= ~(SCROLLBAR_STATE_UP_CLICKED | SCROLLBAR_STATE_DOWN_CLICKED | SCROLLBAR_STATE_MOVING))
+#define scrollbar_anchor_is_pressed() (scrollbar.state & SCROLLBAR_STATE_ANCHOR_CLICKED)
+#define scrollbar_cancel_motion() (scrollbar.state &= ~(SCROLLBAR_STATE_MOTION_MASK))
#define scrollbar_set_visible(bit) ((bit) ? (scrollbar.state |= SCROLLBAR_STATE_VISIBLE) : (scrollbar.state &= ~(SCROLLBAR_STATE_VISIBLE)))
#define scrollbar_set_motion(bit) ((bit) ? (scrollbar.state |= SCROLLBAR_STATE_MOVING) : (scrollbar.state &= ~(SCROLLBAR_STATE_MOVING)))
#define scrollbar_set_uparrow_pressed(bit) ((bit) ? (scrollbar.state |= SCROLLBAR_STATE_UP_CLICKED) : (scrollbar.state &= ~(SCROLLBAR_STATE_UP_CLICKED)))
#define scrollbar_set_downarrow_pressed(bit) ((bit) ? (scrollbar.state |= SCROLLBAR_STATE_DOWN_CLICKED) : (scrollbar.state &= ~(SCROLLBAR_STATE_DOWN_CLICKED)))
+#define scrollbar_set_anchor_pressed(bit) ((bit) ? (scrollbar.state |= SCROLLBAR_STATE_ANCHOR_CLICKED) : (scrollbar.state &= ~(SCROLLBAR_STATE_ANCHOR_CLICKED)))
/* The various scrollbar elements */
#define scrollbar_win_is_trough(w) (scrollbar_is_visible() && (w) == scrollbar.win)