32
32
const unsigned char x_stp_bits[] = { 0xaa, 0x55 };
35
rxvt_term::scrollbar_show_xterm (int update, int last_top, int last_bot, int scrollbar_len)
35
scrollBar_t::show_xterm (int update)
38
int sbwidth = scrollBar.width - 1;
38
int sbwidth = width - 1;
40
if ((scrollBar.init & R_SB_XTERM) == 0)
40
if ((init & R_SB_XTERM) == 0)
44
scrollBar.init |= R_SB_XTERM;
45
gcvalue.stipple = XCreateBitmapFromData (dpy, scrollBar.win,
46
(char *)x_stp_bits, x_stp_width,
45
gcvalue.stipple = XCreateBitmapFromData (term->dpy, win,
46
(char *)x_stp_bits, x_stp_width,
48
48
if (!gcvalue.stipple)
49
49
rxvt_fatal ("can't create bitmap\n");
51
51
gcvalue.fill_style = FillOpaqueStippled;
52
gcvalue.foreground = pix_colors_focused[Color_scroll];
53
gcvalue.background = pix_colors_focused[Color_bg];
52
gcvalue.foreground = term->pix_colors_focused[Color_scroll];
53
gcvalue.background = term->pix_colors_focused[Color_bg];
55
xscrollbarGC = XCreateGC (dpy, scrollBar.win,
55
xscrollbarGC = XCreateGC (term->dpy, win,
56
56
GCForeground | GCBackground
57
57
| GCFillStyle | GCStipple, &gcvalue);
58
gcvalue.foreground = pix_colors_focused[Color_border];
59
ShadowGC = XCreateGC (dpy, scrollBar.win, GCForeground, &gcvalue);
58
gcvalue.foreground = term->pix_colors_focused[Color_border];
59
ShadowGC = XCreateGC (term->dpy, win, GCForeground, &gcvalue);
62
xsb = option (Opt_scrollBar_right) ? 1 : 0;
62
xsb = term->option (Opt_scrollBar_right) ? 1 : 0;
66
if (last_top < scrollBar.top)
67
XClearArea (dpy, scrollBar.win,
68
scrollBar.shadow + xsb, last_top,
69
sbwidth, (scrollBar.top - last_top), False);
67
XClearArea (term->dpy, win,
69
sbwidth, (top - last_top), False);
71
if (scrollBar.bot < last_bot)
72
XClearArea (dpy, scrollBar.win,
73
scrollBar.shadow + xsb, scrollBar.bot,
74
sbwidth, (last_bot - scrollBar.bot), False);
72
XClearArea (term->dpy, win,
74
sbwidth, (last_bot - bot), False);
77
XClearWindow (dpy, scrollBar.win);
77
XClearWindow (term->dpy, win);
79
79
/* scrollbar slider */
80
XFillRectangle (dpy, scrollBar.win, xscrollbarGC,
81
xsb + 1, scrollBar.top, sbwidth - 2, scrollbar_len);
80
XFillRectangle (term->dpy, win, xscrollbarGC,
81
xsb + 1, top, sbwidth - 2, bot - top);
83
XDrawLine (dpy, scrollBar.win, ShadowGC,
84
xsb ? 0 : sbwidth, scrollBar.beg,
85
xsb ? 0 : sbwidth, scrollBar.end);
83
XDrawLine (term->dpy, win, ShadowGC,
84
xsb ? 0 : sbwidth, beg,
85
xsb ? 0 : sbwidth, end);
88
88
#endif /* XTERM_SCROLLBAR */