ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/src/scrollbar-next.C
(Generate patch)

Comparing rxvt-unicode/src/scrollbar-next.C (file contents):
Revision 1.7 by pcg, Sun Feb 1 01:34:41 2004 UTC vs.
Revision 1.11 by root, Sat Jul 31 15:32:50 2004 UTC

1/*--------------------------------*-C-*---------------------------------* 1/*--------------------------------*-C-*---------------------------------*
2 * File: scrollbar-next.c 2 * File: scrollbar-next.C
3 *----------------------------------------------------------------------* 3 *----------------------------------------------------------------------*
4 * 4 *
5 * Copyright (c) 1997,1998 mj olesen <olesen@me.QueensU.CA> 5 * Copyright (c) 1997,1998 mj olesen <olesen@me.QueensU.CA>
6 * Copyright (c) 1998 Alfredo K. Kojima <kojima@windowmaker.org> 6 * Copyright (c) 1998 Alfredo K. Kojima <kojima@windowmaker.org>
7 * - N*XTstep like scrollbars 7 * - N*XTstep like scrollbars
8 * Copyright (c) 1999-2001 Geoff Wing <gcw@pobox.com> 8 * Copyright (c) 1999-2001 Geoff Wing <gcw@pobox.com>
9 * Copyright (c) 2004 Marc Lehmann <pcg@goof.com>
9 * 10 *
10 * This program is free software; you can redistribute it and/or modify 11 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by 12 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation; either version 2 of the License, or 13 * the Free Software Foundation; either version 2 of the License, or
13 * (at your option) any later version. 14 * (at your option) any later version.
121 char a; 122 char a;
122 int x, y; 123 int x, y;
123 Pixmap d; 124 Pixmap d;
124 GC pointcolour; 125 GC pointcolour;
125 126
126 d = XCreatePixmap(Xdisplay, scrollBar.win, width, height, XDEPTH); 127 d = XCreatePixmap (display->display, scrollBar.win, width, height, display->depth);
127 128
128 for (y = 0; y < height; y++) 129 for (y = 0; y < height; y++)
129 { 130 {
130 for (x = 0; x < width; x++) 131 for (x = 0; x < width; x++)
131 { 132 {
135 pointcolour = grayGC; 136 pointcolour = grayGC;
136 else if (a == '%' || a == 'd') 137 else if (a == '%' || a == 'd')
137 pointcolour = darkGC; 138 pointcolour = darkGC;
138 else /* if (a == '#' || a == 'b' || a) */ 139 else /* if (a == '#' || a == 'b' || a) */
139 pointcolour = blackGC; 140 pointcolour = blackGC;
140 XDrawPoint(Xdisplay, d, pointcolour, x, y); 141 XDrawPoint (display->display, d, pointcolour, x, y);
141 } 142 }
142 } 143 }
143 return d; 144 return d;
144} 145}
145 146
152 unsigned long light, dark; 153 unsigned long light, dark;
153 154
154 gcvalue.graphics_exposures = False; 155 gcvalue.graphics_exposures = False;
155 156
156 gcvalue.foreground = PixColors[Color_Black]; 157 gcvalue.foreground = PixColors[Color_Black];
157 blackGC = XCreateGC(Xdisplay, scrollBar.win, 158 blackGC = XCreateGC (display->display, scrollBar.win,
158 GCForeground | GCGraphicsExposures, &gcvalue); 159 GCForeground | GCGraphicsExposures, &gcvalue);
159 160
160 gcvalue.foreground = PixColors[Color_White]; 161 gcvalue.foreground = PixColors[Color_White];
161 whiteGC = XCreateGC(Xdisplay, scrollBar.win, 162 whiteGC = XCreateGC (display->display, scrollBar.win,
162 GCForeground | GCGraphicsExposures, &gcvalue); 163 GCForeground | GCGraphicsExposures, &gcvalue);
163 164
164 xcol.red = 0xaeba; 165 xcol.red = 0xaeba;
165 xcol.green = 0xaaaa; 166 xcol.green = 0xaaaa;
166 xcol.blue = 0xaeba; 167 xcol.blue = 0xaeba;
167 //if (!rXAllocColor (&xcol, "light gray"))//TODO//D// 168 //if (!rXAllocColor (&xcol, "light gray"))//TODO//D//
168 xcol.pixel = PixColors[Color_AntiqueWhite]; 169 xcol.pixel = PixColors[Color_AntiqueWhite];
169 light = gcvalue.foreground = xcol.pixel; 170 light = gcvalue.foreground = xcol.pixel;
170 grayGC = XCreateGC(Xdisplay, scrollBar.win, 171 grayGC = XCreateGC (display->display, scrollBar.win,
171 GCForeground | GCGraphicsExposures, &gcvalue); 172 GCForeground | GCGraphicsExposures, &gcvalue);
172 173
173 xcol.red = 0x51aa; 174 xcol.red = 0x51aa;
174 xcol.green = 0x5555; 175 xcol.green = 0x5555;
175 xcol.blue = 0x5144; 176 xcol.blue = 0x5144;
176 //if (!rXAllocColor (&xcol, "dark gray"))//TODO//D// 177 //if (!rXAllocColor (&xcol, "dark gray"))//TODO//D//
177 xcol.pixel = PixColors[Color_Grey25]; 178 xcol.pixel = PixColors[Color_Grey25];
178 dark = gcvalue.foreground = xcol.pixel; 179 dark = gcvalue.foreground = xcol.pixel;
179 darkGC = XCreateGC(Xdisplay, scrollBar.win, 180 darkGC = XCreateGC (display->display, scrollBar.win,
180 GCForeground | GCGraphicsExposures, &gcvalue); 181 GCForeground | GCGraphicsExposures, &gcvalue);
181 182
182 stipple = XCreateBitmapFromData(Xdisplay, scrollBar.win, 183 stipple = XCreateBitmapFromData (display->display, scrollBar.win,
183 (char *)n_stp_bits, n_stp_width, 184 (char *)n_stp_bits, n_stp_width,
184 n_stp_height); 185 n_stp_height);
185 186
186 gcvalue.foreground = dark; 187 gcvalue.foreground = dark;
187 gcvalue.background = light; 188 gcvalue.background = light;
188 gcvalue.fill_style = FillOpaqueStippled; 189 gcvalue.fill_style = FillOpaqueStippled;
189 gcvalue.stipple = stipple; 190 gcvalue.stipple = stipple;
190 191
191 /* XSetWindowBackground(Xdisplay, scrollBar.win, PixColors[Color_Red]); */ 192 /* XSetWindowBackground (display->display, scrollBar.win, PixColors[Color_Red]); */
192 193
193 stippleGC = XCreateGC(Xdisplay, scrollBar.win, 194 stippleGC = XCreateGC (display->display, scrollBar.win,
194 GCForeground | GCBackground | GCStipple 195 GCForeground | GCBackground | GCStipple
195 | GCFillStyle | GCGraphicsExposures, &gcvalue); 196 | GCFillStyle | GCGraphicsExposures, &gcvalue);
196 197
197 dimple = renderPixmap (SCROLLER_DIMPLE, SCROLLER_DIMPLE_WIDTH, 198 dimple = renderPixmap (SCROLLER_DIMPLE, SCROLLER_DIMPLE_WIDTH,
198 SCROLLER_DIMPLE_HEIGHT); 199 SCROLLER_DIMPLE_HEIGHT);
214 int x2, y2; 215 int x2, y2;
215 216
216 x2 = x1 + w - 1; /* right point */ 217 x2 = x1 + w - 1; /* right point */
217 y2 = y1 + h - 1; /* bottom point */ 218 y2 = y1 + h - 1; /* bottom point */
218 /* white top and left */ 219 /* white top and left */
219 XDrawLine(Xdisplay, d, whiteGC, x1, y1, x2, y1); 220 XDrawLine (display->display, d, whiteGC, x1, y1, x2, y1);
220 XDrawLine(Xdisplay, d, whiteGC, x1, y1, x1, y2); 221 XDrawLine (display->display, d, whiteGC, x1, y1, x1, y2);
221 /* black bottom and right */ 222 /* black bottom and right */
222 XDrawLine(Xdisplay, d, blackGC, x1, y2, x2, y2); 223 XDrawLine (display->display, d, blackGC, x1, y2, x2, y2);
223 XDrawLine(Xdisplay, d, blackGC, x2, y1, x2, y2); 224 XDrawLine (display->display, d, blackGC, x2, y1, x2, y2);
224 /* dark inside bottom and right */ 225 /* dark inside bottom and right */
225 x1++, y1++, x2--, y2--; /* move in one point */ 226 x1++, y1++, x2--, y2--; /* move in one point */
226 XDrawLine(Xdisplay, d, darkGC, x1, y2, x2, y2); 227 XDrawLine (display->display, d, darkGC, x1, y2, x2, y2);
227 XDrawLine(Xdisplay, d, darkGC, x2, y1, x2, y2); 228 XDrawLine (display->display, d, darkGC, x2, y1, x2, y2);
228} 229}
229 230
230int 231int
231rxvt_term::scrollbar_show_next (int update, int last_top, int last_bot, int scrollbar_len) 232rxvt_term::scrollbar_show_next (int update, int last_top, int last_bot, int scrollbar_len)
232{ 233{
239 init_scrollbar_stuff (); 240 init_scrollbar_stuff ();
240 } 241 }
241 242
242 if (TermWin.nscrolled == 0 || !update) 243 if (TermWin.nscrolled == 0 || !update)
243 { 244 {
244 XFillRectangle(Xdisplay, scrollBar.win, grayGC, 0, 0, 245 XFillRectangle (display->display, scrollBar.win, grayGC, 0, 0,
245 SB_WIDTH_NEXT + 1, height); 246 SB_WIDTH_NEXT + 1, height);
246 XDrawRectangle(Xdisplay, scrollBar.win, blackGC, 0, 247 XDrawRectangle (display->display, scrollBar.win, blackGC, 0,
247 -SB_BORDER_WIDTH, SB_WIDTH_NEXT, 248 -SB_BORDER_WIDTH, SB_WIDTH_NEXT,
248 height + SB_BORDER_WIDTH); 249 height + SB_BORDER_WIDTH);
249 XFillRectangle(Xdisplay, scrollBar.win, stippleGC, 250 XFillRectangle (display->display, scrollBar.win, stippleGC,
250 SB_LEFT_PADDING, 0, SB_BUTTON_WIDTH, height); 251 SB_LEFT_PADDING, 0, SB_BUTTON_WIDTH, height);
251 } 252 }
252 if (TermWin.nscrolled) 253 if (TermWin.nscrolled)
253 { 254 {
254 if (last_top < scrollBar.top || !update) 255 if (last_top < scrollBar.top || !update)
255 XFillRectangle(Xdisplay, scrollBar.win, stippleGC, 256 XFillRectangle (display->display, scrollBar.win, stippleGC,
256 SB_LEFT_PADDING, SB_PADDING + last_top, 257 SB_LEFT_PADDING, SB_PADDING + last_top,
257 SB_BUTTON_WIDTH, scrollBar.top - last_top); 258 SB_BUTTON_WIDTH, scrollBar.top - last_top);
258 if (scrollBar.bot < last_bot || !update) 259 if (scrollBar.bot < last_bot || !update)
259 XFillRectangle(Xdisplay, scrollBar.win, stippleGC, 260 XFillRectangle (display->display, scrollBar.win, stippleGC,
260 SB_LEFT_PADDING, scrollBar.bot + SB_PADDING, 261 SB_LEFT_PADDING, scrollBar.bot + SB_PADDING,
261 SB_BUTTON_WIDTH, (last_bot - scrollBar.bot)); 262 SB_BUTTON_WIDTH, (last_bot - scrollBar.bot));
262 XFillRectangle(Xdisplay, scrollBar.win, grayGC, 263 XFillRectangle (display->display, scrollBar.win, grayGC,
263 SB_LEFT_PADDING, scrollBar.top + SB_PADDING, 264 SB_LEFT_PADDING, scrollBar.top + SB_PADDING,
264 SB_BUTTON_WIDTH, scrollbar_len); 265 SB_BUTTON_WIDTH, scrollbar_len);
265 XCopyArea(Xdisplay, dimple, scrollBar.win, whiteGC, 0, 0, 266 XCopyArea (display->display, dimple, scrollBar.win, whiteGC, 0, 0,
266 SCROLLER_DIMPLE_WIDTH, SCROLLER_DIMPLE_HEIGHT, 267 SCROLLER_DIMPLE_WIDTH, SCROLLER_DIMPLE_HEIGHT,
267 (SB_WIDTH_NEXT - SCROLLER_DIMPLE_WIDTH) / 2, 268 (SB_WIDTH_NEXT - SCROLLER_DIMPLE_WIDTH) / 2,
268 scrollBar.top + SB_BEVEL_WIDTH_UPPER_LEFT + 269 scrollBar.top + SB_BEVEL_WIDTH_UPPER_LEFT +
269 (scrollbar_len - SCROLLER_DIMPLE_HEIGHT) / 2); 270 (scrollbar_len - SCROLLER_DIMPLE_HEIGHT) / 2);
270 271
276 SB_BUTTON_HEIGHT); 277 SB_BUTTON_HEIGHT);
277 drawBevel (scrollBar.win, SB_BUTTON_BEVEL_X, 278 drawBevel (scrollBar.win, SB_BUTTON_BEVEL_X,
278 height - SB_BUTTON_SINGLE_HEIGHT, SB_BUTTON_WIDTH, 279 height - SB_BUTTON_SINGLE_HEIGHT, SB_BUTTON_WIDTH,
279 SB_BUTTON_HEIGHT); 280 SB_BUTTON_HEIGHT);
280 281
281 s = (scrollbar_isUp()) ? upArrowHi : upArrow; 282 s = (scrollbar_isUp ()) ? upArrowHi : upArrow;
282 XCopyArea(Xdisplay, s, scrollBar.win, whiteGC, 0, 0, 283 XCopyArea (display->display, s, scrollBar.win, whiteGC, 0, 0,
283 ARROW_WIDTH, ARROW_HEIGHT, SB_BUTTON_FACE_X, 284 ARROW_WIDTH, ARROW_HEIGHT, SB_BUTTON_FACE_X,
284 height - SB_BUTTON_BOTH_HEIGHT + SB_BEVEL_WIDTH_UPPER_LEFT); 285 height - SB_BUTTON_BOTH_HEIGHT + SB_BEVEL_WIDTH_UPPER_LEFT);
285 286
286 s = (scrollbar_isDn()) ? downArrowHi : downArrow; 287 s = (scrollbar_isDn ()) ? downArrowHi : downArrow;
287 XCopyArea(Xdisplay, s, scrollBar.win, whiteGC, 0, 0, 288 XCopyArea (display->display, s, scrollBar.win, whiteGC, 0, 0,
288 ARROW_WIDTH, ARROW_HEIGHT, SB_BUTTON_FACE_X, 289 ARROW_WIDTH, ARROW_HEIGHT, SB_BUTTON_FACE_X,
289 height - SB_BUTTON_SINGLE_HEIGHT + SB_BEVEL_WIDTH_UPPER_LEFT); 290 height - SB_BUTTON_SINGLE_HEIGHT + SB_BEVEL_WIDTH_UPPER_LEFT);
290 } 291 }
291 return 1; 292 return 1;
292} 293}

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines