… | |
… | |
34 | int |
34 | int |
35 | rxvt_term::scrollbar_mapping (int map) |
35 | rxvt_term::scrollbar_mapping (int map) |
36 | { |
36 | { |
37 | int change = 0; |
37 | int change = 0; |
38 | |
38 | |
39 | #ifdef HAVE_SCROLLBARS |
|
|
40 | if (map) |
39 | if (map) |
41 | { |
40 | { |
42 | scrollBar.setIdle (); |
41 | scrollBar.setIdle (); |
43 | |
42 | |
44 | if (!scrollBar.win) |
43 | if (!scrollBar.win) |
… | |
… | |
54 | { |
53 | { |
55 | scrollBar.state = 0; |
54 | scrollBar.state = 0; |
56 | XUnmapWindow (dpy, scrollBar.win); |
55 | XUnmapWindow (dpy, scrollBar.win); |
57 | change = 1; |
56 | change = 1; |
58 | } |
57 | } |
59 | #endif |
|
|
60 | |
58 | |
61 | return change; |
59 | return change; |
62 | } |
60 | } |
63 | |
61 | |
64 | void |
62 | void |
65 | rxvt_term::resize_scrollbar () |
63 | rxvt_term::resize_scrollbar () |
66 | { |
64 | { |
67 | #ifdef HAVE_SCROLLBARS |
|
|
68 | int delayed_init = 0; |
65 | int delayed_init = 0; |
69 | |
66 | |
70 | #define R_SCROLLBEG_XTERM 0 |
67 | #define R_SCROLLBEG_XTERM 0 |
71 | #define R_SCROLLEND_XTERM szHint.height |
68 | #define R_SCROLLEND_XTERM szHint.height |
72 | #define R_SCROLLBEG_NEXT 0 |
69 | #define R_SCROLLBEG_NEXT 0 |
… | |
… | |
133 | |
130 | |
134 | scrollbar_show (1); |
131 | scrollbar_show (1); |
135 | |
132 | |
136 | if (delayed_init) |
133 | if (delayed_init) |
137 | XMapWindow (dpy, scrollBar.win); |
134 | XMapWindow (dpy, scrollBar.win); |
138 | #endif |
|
|
139 | } |
135 | } |
140 | |
136 | |
141 | /* |
137 | /* |
142 | * Update current scrollbar view w.r.t. slider heights, etc. |
138 | * Update current scrollbar view w.r.t. slider heights, etc. |
143 | */ |
139 | */ |
144 | int |
140 | int |
145 | rxvt_term::scrollbar_show (int update) |
141 | rxvt_term::scrollbar_show (int update) |
146 | { |
142 | { |
147 | int ret = 0; |
143 | int ret = 0; |
148 | #ifdef HAVE_SCROLLBARS |
|
|
149 | int top, bot, len, adj; |
144 | int top, bot, len, adj; |
150 | |
145 | |
151 | if (!scrollBar.state) |
146 | if (!scrollBar.state) |
152 | return 0; |
147 | return 0; |
153 | |
148 | |
… | |
… | |
172 | ret = (this->*scrollBar.update) (update, scrollBar.last_top, scrollBar.last_bot, scrollBar.len); |
167 | ret = (this->*scrollBar.update) (update, scrollBar.last_top, scrollBar.last_bot, scrollBar.len); |
173 | |
168 | |
174 | scrollBar.last_top = scrollBar.top; |
169 | scrollBar.last_top = scrollBar.top; |
175 | scrollBar.last_bot = scrollBar.bot; |
170 | scrollBar.last_bot = scrollBar.bot; |
176 | scrollBar.last_state = scrollBar.state; |
171 | scrollBar.last_state = scrollBar.state; |
177 | #endif |
|
|
178 | |
172 | |
179 | return ret; |
173 | return ret; |
180 | } |
174 | } |
181 | |
175 | |
182 | void |
176 | void |
183 | rxvt_term::setup_scrollbar (const char *scrollalign, const char *scrollstyle, const char *thickness) |
177 | rxvt_term::setup_scrollbar (const char *scrollalign, const char *scrollstyle, const char *thickness) |
184 | { |
178 | { |
185 | #ifdef HAVE_SCROLLBARS |
|
|
186 | int i; |
179 | int i; |
187 | short style, width; |
180 | short style, width; |
188 | |
181 | |
189 | # if defined(RXVT_SCROLLBAR) |
182 | # if defined(RXVT_SCROLLBAR) |
190 | style = R_SB_RXVT; |
183 | style = R_SB_RXVT; |
… | |
… | |
246 | scrollBar.align = R_SB_ALIGN_BOTTOM; |
239 | scrollBar.align = R_SB_ALIGN_BOTTOM; |
247 | } |
240 | } |
248 | scrollBar.last_bot = scrollBar.last_state = -1; |
241 | scrollBar.last_bot = scrollBar.last_state = -1; |
249 | /* cursor scrollBar: Black-on-White */ |
242 | /* cursor scrollBar: Black-on-White */ |
250 | scrollBar.leftptr_cursor = XCreateFontCursor (dpy, XC_left_ptr); |
243 | scrollBar.leftptr_cursor = XCreateFontCursor (dpy, XC_left_ptr); |
251 | #endif |
|
|
252 | } |
244 | } |
253 | |
245 | |
254 | /*----------------------- end-of-file (C source) -----------------------*/ |
246 | /*----------------------- end-of-file (C source) -----------------------*/ |
255 | |
247 | |