… | |
… | |
44 | STATE_MOTION, |
44 | STATE_MOTION, |
45 | STATE_UP, |
45 | STATE_UP, |
46 | STATE_DOWN, |
46 | STATE_DOWN, |
47 | }; |
47 | }; |
48 | |
48 | |
49 | struct scrollBar_t { |
49 | struct scrollBar_t |
|
|
50 | { |
50 | rxvt_term *term; |
51 | rxvt_term *term; |
51 | char state; /* scrollbar state */ |
52 | char state; /* scrollbar state */ |
52 | char init; /* scrollbar has been initialised */ |
53 | char init; /* scrollbar has been initialised */ |
53 | unsigned int beg; /* slider sub-window begin height */ |
54 | unsigned int beg; /* slider sub-window begin height */ |
54 | unsigned int end; /* slider sub-window end height */ |
55 | unsigned int end; /* slider sub-window end height */ |
… | |
… | |
58 | unsigned int width; /* scrollbar width */ |
59 | unsigned int width; /* scrollbar width */ |
59 | int shadow; /* scrollbar shadow width */ |
60 | int shadow; /* scrollbar shadow width */ |
60 | int last_bot; /* scrollbar last bottom position */ |
61 | int last_bot; /* scrollbar last bottom position */ |
61 | int last_top; /* scrollbar last top position */ |
62 | int last_top; /* scrollbar last top position */ |
62 | int last_state; /* scrollbar last state */ |
63 | int last_state; /* scrollbar last state */ |
63 | int len; |
|
|
64 | unsigned char align; |
64 | unsigned char align; |
65 | Window win; |
65 | Window win; |
66 | Cursor leftptr_cursor; |
66 | Cursor leftptr_cursor; |
67 | int (scrollBar_t::*update)(int); |
67 | int (scrollBar_t::*update)(int); |
68 | void setup (rxvt_term *); |
68 | void setup (rxvt_term *); |
69 | // update style dependent data |
|
|
70 | void update_data (); |
|
|
71 | void resize (); |
69 | void resize (); |
72 | int map (int); |
70 | int map (int); |
73 | int show (int); |
71 | int show (int); |
74 | void destroy (); |
72 | void destroy (); |
75 | |
73 | |
… | |
… | |
128 | |
126 | |
129 | #if defined(PLAIN_SCROLLBAR) |
127 | #if defined(PLAIN_SCROLLBAR) |
130 | GC pscrollbarGC; |
128 | GC pscrollbarGC; |
131 | #endif |
129 | #endif |
132 | |
130 | |
|
|
131 | private: |
|
|
132 | // update style dependent data |
|
|
133 | void update_data (); |
|
|
134 | |
133 | // scrollbar-next.C |
135 | // scrollbar-next.C |
134 | int show_next (int); |
136 | int show_next (int); |
135 | // scrollbar-rxvt.C |
137 | // scrollbar-rxvt.C |
136 | int show_rxvt (int); |
138 | int show_rxvt (int); |
137 | // scrollbar-xterm.C |
139 | // scrollbar-xterm.C |
138 | int show_xterm (int); |
140 | int show_xterm (int); |
139 | // scrollbar-plain.C |
141 | // scrollbar-plain.C |
140 | int show_plain (int); |
142 | int show_plain (int); |
141 | |
143 | |
142 | private: |
|
|
143 | void init_next (); |
144 | void init_next (); |
144 | }; |
145 | }; |
145 | |
146 | |
146 | #define scrollbar_above_slider(y) ((y) < scrollBar.top) |
147 | #define scrollbar_above_slider(y) ((y) < scrollBar.top) |
147 | #define scrollbar_below_slider(y) ((y) > scrollBar.bot) |
148 | #define scrollbar_below_slider(y) ((y) > scrollBar.bot) |