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.20 by root, Sun Jan 15 06:02:41 2006 UTC vs.
Revision 1.21 by root, Wed Jan 25 21:03:04 2006 UTC

121 char a; 121 char a;
122 int x, y; 122 int x, y;
123 Pixmap d; 123 Pixmap d;
124 GC pointcolour; 124 GC pointcolour;
125 125
126 d = XCreatePixmap (display->display, scrollBar.win, width, height, display->depth); 126 d = XCreatePixmap (display->display, scrollBar.win, width, height, depth);
127 127
128 for (y = 0; y < height; y++) 128 for (y = 0; y < height; y++)
129 { 129 {
130 for (x = 0; x < width; x++) 130 for (x = 0; x < width; x++)
131 { 131 {
149{ 149{
150 XGCValues gcvalue; 150 XGCValues gcvalue;
151 XColor xcol; 151 XColor xcol;
152 Pixmap stipple; 152 Pixmap stipple;
153 unsigned long light, dark; 153 unsigned long light, dark;
154 dDisp;
155 154
156 gcvalue.graphics_exposures = False; 155 gcvalue.graphics_exposures = False;
157 156
158 gcvalue.foreground = pix_colors_focused[Color_Black]; 157 gcvalue.foreground = pix_colors_focused[Color_Black];
159 blackGC = XCreateGC (disp, scrollBar.win, 158 blackGC = XCreateGC (xdisp, scrollBar.win,
160 GCForeground | GCGraphicsExposures, &gcvalue); 159 GCForeground | GCGraphicsExposures, &gcvalue);
161 160
162 gcvalue.foreground = pix_colors_focused[Color_White]; 161 gcvalue.foreground = pix_colors_focused[Color_White];
163 whiteGC = XCreateGC (disp, scrollBar.win, 162 whiteGC = XCreateGC (xdisp, scrollBar.win,
164 GCForeground | GCGraphicsExposures, &gcvalue); 163 GCForeground | GCGraphicsExposures, &gcvalue);
165 164
166 xcol.red = 0xaeba; 165 xcol.red = 0xaeba;
167 xcol.green = 0xaaaa; 166 xcol.green = 0xaaaa;
168 xcol.blue = 0xaeba; 167 xcol.blue = 0xaeba;
169 xcol.pixel = pix_colors_focused[Color_scroll]; 168 xcol.pixel = pix_colors_focused[Color_scroll];
170 light = gcvalue.foreground = xcol.pixel; 169 light = gcvalue.foreground = xcol.pixel;
171 grayGC = XCreateGC (disp, scrollBar.win, 170 grayGC = XCreateGC (xdisp, scrollBar.win,
172 GCForeground | GCGraphicsExposures, &gcvalue); 171 GCForeground | GCGraphicsExposures, &gcvalue);
173 172
174 xcol.red = 0x51aa; 173 xcol.red = 0x51aa;
175 xcol.green = 0x5555; 174 xcol.green = 0x5555;
176 xcol.blue = 0x5144; 175 xcol.blue = 0x5144;
177 //if (!rXAllocColor (&xcol, "dark gray"))//TODO//D// 176 //if (!rXAllocColor (&xcol, "dark gray"))//TODO//D//
178 xcol.pixel = pix_colors_focused[Color_Grey25]; 177 xcol.pixel = pix_colors_focused[Color_Grey25];
179 dark = gcvalue.foreground = xcol.pixel; 178 dark = gcvalue.foreground = xcol.pixel;
180 darkGC = XCreateGC (disp, scrollBar.win, 179 darkGC = XCreateGC (xdisp, scrollBar.win,
181 GCForeground | GCGraphicsExposures, &gcvalue); 180 GCForeground | GCGraphicsExposures, &gcvalue);
182 181
183 stipple = XCreateBitmapFromData (disp, scrollBar.win, 182 stipple = XCreateBitmapFromData (xdisp, scrollBar.win,
184 (char *)n_stp_bits, n_stp_width, 183 (char *)n_stp_bits, n_stp_width,
185 n_stp_height); 184 n_stp_height);
186 185
187 gcvalue.foreground = dark; 186 gcvalue.foreground = dark;
188 gcvalue.background = light; 187 gcvalue.background = light;
189 gcvalue.fill_style = FillOpaqueStippled; 188 gcvalue.fill_style = FillOpaqueStippled;
190 gcvalue.stipple = stipple; 189 gcvalue.stipple = stipple;
191 190
192 /* XSetWindowBackground (disp, scrollBar.win, pix_colors_focused[Color_Red]); */ 191 /* XSetWindowBackground (xdisp, scrollBar.win, pix_colors_focused[Color_Red]); */
193 192
194 stippleGC = XCreateGC (disp, scrollBar.win, 193 stippleGC = XCreateGC (xdisp, scrollBar.win,
195 GCForeground | GCBackground | GCStipple 194 GCForeground | GCBackground | GCStipple
196 | GCFillStyle | GCGraphicsExposures, &gcvalue); 195 | GCFillStyle | GCGraphicsExposures, &gcvalue);
197 196
198 dimple = renderPixmap (SCROLLER_DIMPLE, SCROLLER_DIMPLE_WIDTH, 197 dimple = renderPixmap (SCROLLER_DIMPLE, SCROLLER_DIMPLE_WIDTH,
199 SCROLLER_DIMPLE_HEIGHT); 198 SCROLLER_DIMPLE_HEIGHT);
200 199
201 upArrow = renderPixmap (SCROLLER_ARROW_UP, ARROW_WIDTH, 200 upArrow = renderPixmap (SCROLLER_ARROW_UP, ARROW_WIDTH,
211/* Draw bevel & arrows */ 210/* Draw bevel & arrows */
212void 211void
213rxvt_term::drawBevel (Drawable d, int x1, int y1, int w, int h) 212rxvt_term::drawBevel (Drawable d, int x1, int y1, int w, int h)
214{ 213{
215 int x2, y2; 214 int x2, y2;
216 dDisp;
217 215
218 x2 = x1 + w - 1; /* right point */ 216 x2 = x1 + w - 1; /* right point */
219 y2 = y1 + h - 1; /* bottom point */ 217 y2 = y1 + h - 1; /* bottom point */
220 /* white top and left */ 218 /* white top and left */
221 XDrawLine (disp, d, whiteGC, x1, y1, x2, y1); 219 XDrawLine (xdisp, d, whiteGC, x1, y1, x2, y1);
222 XDrawLine (disp, d, whiteGC, x1, y1, x1, y2); 220 XDrawLine (xdisp, d, whiteGC, x1, y1, x1, y2);
223 /* black bottom and right */ 221 /* black bottom and right */
224 XDrawLine (disp, d, blackGC, x1, y2, x2, y2); 222 XDrawLine (xdisp, d, blackGC, x1, y2, x2, y2);
225 XDrawLine (disp, d, blackGC, x2, y1, x2, y2); 223 XDrawLine (xdisp, d, blackGC, x2, y1, x2, y2);
226 /* dark inside bottom and right */ 224 /* dark inside bottom and right */
227 x1++, y1++, x2--, y2--; /* move in one point */ 225 x1++, y1++, x2--, y2--; /* move in one point */
228 XDrawLine (disp, d, darkGC, x1, y2, x2, y2); 226 XDrawLine (xdisp, d, darkGC, x1, y2, x2, y2);
229 XDrawLine (disp, d, darkGC, x2, y1, x2, y2); 227 XDrawLine (xdisp, d, darkGC, x2, y1, x2, y2);
230} 228}
231 229
232int 230int
233rxvt_term::scrollbar_show_next (int update, int last_top, int last_bot, int scrollbar_len) 231rxvt_term::scrollbar_show_next (int update, int last_top, int last_bot, int scrollbar_len)
234{ 232{
235 int height = scrollBar.end + SB_BUTTON_TOTAL_HEIGHT + SB_PADDING; 233 int height = scrollBar.end + SB_BUTTON_TOTAL_HEIGHT + SB_PADDING;
236 Drawable s; 234 Drawable s;
237 dDisp;
238 235
239 if ((scrollBar.init & R_SB_NEXT) == 0) 236 if ((scrollBar.init & R_SB_NEXT) == 0)
240 { 237 {
241 scrollBar.init |= R_SB_NEXT; 238 scrollBar.init |= R_SB_NEXT;
242 init_scrollbar_stuff (); 239 init_scrollbar_stuff ();
243 } 240 }
244 241
245 if (top_row == 0 || !update) 242 if (top_row == 0 || !update)
246 { 243 {
247 XFillRectangle (disp, scrollBar.win, grayGC, 0, 0, 244 XFillRectangle (xdisp, scrollBar.win, grayGC, 0, 0,
248 SB_WIDTH_NEXT + 1, height); 245 SB_WIDTH_NEXT + 1, height);
249 XDrawRectangle (disp, scrollBar.win, blackGC, 0, 246 XDrawRectangle (xdisp, scrollBar.win, blackGC, 0,
250 -SB_BORDER_WIDTH, SB_WIDTH_NEXT, 247 -SB_BORDER_WIDTH, SB_WIDTH_NEXT,
251 height + SB_BORDER_WIDTH); 248 height + SB_BORDER_WIDTH);
252 XFillRectangle (disp, scrollBar.win, stippleGC, 249 XFillRectangle (xdisp, scrollBar.win, stippleGC,
253 SB_LEFT_PADDING, 0, SB_BUTTON_WIDTH, height); 250 SB_LEFT_PADDING, 0, SB_BUTTON_WIDTH, height);
254 } 251 }
255 252
256 if (top_row) 253 if (top_row)
257 { 254 {
258 if (last_top < scrollBar.top || !update) 255 if (last_top < scrollBar.top || !update)
259 XFillRectangle (disp, scrollBar.win, stippleGC, 256 XFillRectangle (xdisp, scrollBar.win, stippleGC,
260 SB_LEFT_PADDING, SB_PADDING + last_top, 257 SB_LEFT_PADDING, SB_PADDING + last_top,
261 SB_BUTTON_WIDTH, scrollBar.top - last_top); 258 SB_BUTTON_WIDTH, scrollBar.top - last_top);
262 259
263 if (scrollBar.bot < last_bot || !update) 260 if (scrollBar.bot < last_bot || !update)
264 XFillRectangle (disp, scrollBar.win, stippleGC, 261 XFillRectangle (xdisp, scrollBar.win, stippleGC,
265 SB_LEFT_PADDING, scrollBar.bot + SB_PADDING, 262 SB_LEFT_PADDING, scrollBar.bot + SB_PADDING,
266 SB_BUTTON_WIDTH, (last_bot - scrollBar.bot)); 263 SB_BUTTON_WIDTH, (last_bot - scrollBar.bot));
267 264
268 XFillRectangle (disp, scrollBar.win, grayGC, 265 XFillRectangle (xdisp, scrollBar.win, grayGC,
269 SB_LEFT_PADDING, scrollBar.top + SB_PADDING, 266 SB_LEFT_PADDING, scrollBar.top + SB_PADDING,
270 SB_BUTTON_WIDTH, scrollbar_len); 267 SB_BUTTON_WIDTH, scrollbar_len);
271 268
272 XCopyArea (disp, dimple, scrollBar.win, whiteGC, 0, 0, 269 XCopyArea (xdisp, dimple, scrollBar.win, whiteGC, 0, 0,
273 SCROLLER_DIMPLE_WIDTH, SCROLLER_DIMPLE_HEIGHT, 270 SCROLLER_DIMPLE_WIDTH, SCROLLER_DIMPLE_HEIGHT,
274 (SB_WIDTH_NEXT - SCROLLER_DIMPLE_WIDTH) / 2, 271 (SB_WIDTH_NEXT - SCROLLER_DIMPLE_WIDTH) / 2,
275 scrollBar.top + SB_BEVEL_WIDTH_UPPER_LEFT + 272 scrollBar.top + SB_BEVEL_WIDTH_UPPER_LEFT +
276 (scrollbar_len - SCROLLER_DIMPLE_HEIGHT) / 2); 273 (scrollbar_len - SCROLLER_DIMPLE_HEIGHT) / 2);
277 274
278 drawBevel (scrollBar.win, SB_BUTTON_BEVEL_X, 275 drawBevel (scrollBar.win, SB_BUTTON_BEVEL_X,
279 scrollBar.top + SB_PADDING, SB_BUTTON_WIDTH, 276 scrollBar.top + SB_PADDING, SB_BUTTON_WIDTH,
280 scrollbar_len); 277 scrollbar_len);
281 drawBevel (scrollBar.win, SB_BUTTON_BEVEL_X, 278 drawBevel (scrollBar.win, SB_BUTTON_BEVEL_X,
284 drawBevel (scrollBar.win, SB_BUTTON_BEVEL_X, 281 drawBevel (scrollBar.win, SB_BUTTON_BEVEL_X,
285 height - SB_BUTTON_SINGLE_HEIGHT, SB_BUTTON_WIDTH, 282 height - SB_BUTTON_SINGLE_HEIGHT, SB_BUTTON_WIDTH,
286 SB_BUTTON_HEIGHT); 283 SB_BUTTON_HEIGHT);
287 284
288 s = (scrollbar_isUp ()) ? upArrowHi : upArrow; 285 s = (scrollbar_isUp ()) ? upArrowHi : upArrow;
289 XCopyArea (disp, s, scrollBar.win, whiteGC, 0, 0, 286 XCopyArea (xdisp, s, scrollBar.win, whiteGC, 0, 0,
290 ARROW_WIDTH, ARROW_HEIGHT, SB_BUTTON_FACE_X, 287 ARROW_WIDTH, ARROW_HEIGHT, SB_BUTTON_FACE_X,
291 height - SB_BUTTON_BOTH_HEIGHT + SB_BEVEL_WIDTH_UPPER_LEFT); 288 height - SB_BUTTON_BOTH_HEIGHT + SB_BEVEL_WIDTH_UPPER_LEFT);
292 289
293 s = (scrollbar_isDn ()) ? downArrowHi : downArrow; 290 s = (scrollbar_isDn ()) ? downArrowHi : downArrow;
294 XCopyArea (disp, s, scrollBar.win, whiteGC, 0, 0, 291 XCopyArea (xdisp, s, scrollBar.win, whiteGC, 0, 0,
295 ARROW_WIDTH, ARROW_HEIGHT, SB_BUTTON_FACE_X, 292 ARROW_WIDTH, ARROW_HEIGHT, SB_BUTTON_FACE_X,
296 height - SB_BUTTON_SINGLE_HEIGHT + SB_BEVEL_WIDTH_UPPER_LEFT); 293 height - SB_BUTTON_SINGLE_HEIGHT + SB_BEVEL_WIDTH_UPPER_LEFT);
297 } 294 }
298 295
299 return 1; 296 return 1;
300} 297}
301#endif /* NEXT_SCROLLBAR */ 298#endif /* NEXT_SCROLLBAR */

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines