~ubuntu-branches/ubuntu/trusty/rxvt-unicode/trusty-proposed

« back to all changes in this revision

Viewing changes to src/scrollbar-xterm.C

  • Committer: Bazaar Package Importer
  • Author(s): Decklin Foster
  • Date: 2008-06-16 21:15:27 UTC
  • mfrom: (1.1.13 upstream) (3.1.2 lenny)
  • Revision ID: james.westby@ubuntu.com-20080616211527-f90zn8olh4d2486w
New Upstream Version

Show diffs side-by-side

added added

removed removed

Lines of Context:
32
32
const unsigned char x_stp_bits[] = { 0xaa, 0x55 };
33
33
 
34
34
int
35
 
rxvt_term::scrollbar_show_xterm (int update, int last_top, int last_bot, int scrollbar_len)
 
35
scrollBar_t::show_xterm (int update)
36
36
{
37
37
  int xsb = 0;
38
 
  int sbwidth = scrollBar.width - 1;
 
38
  int sbwidth = width - 1;
39
39
 
40
 
  if ((scrollBar.init & R_SB_XTERM) == 0)
 
40
  if ((init & R_SB_XTERM) == 0)
41
41
    {
42
42
      XGCValues       gcvalue;
43
43
 
44
 
      scrollBar.init |= R_SB_XTERM;
45
 
      gcvalue.stipple = XCreateBitmapFromData (dpy, scrollBar.win,
46
 
                                              (char *)x_stp_bits, x_stp_width,
47
 
                                              x_stp_height);
 
44
      init |= R_SB_XTERM;
 
45
      gcvalue.stipple = XCreateBitmapFromData (term->dpy, win,
 
46
                                               (char *)x_stp_bits, x_stp_width,
 
47
                                               x_stp_height);
48
48
      if (!gcvalue.stipple)
49
49
        rxvt_fatal ("can't create bitmap\n");
50
50
 
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];
54
54
 
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);
60
60
    }
61
61
 
62
 
  xsb = option (Opt_scrollBar_right) ? 1 : 0;
 
62
  xsb = term->option (Opt_scrollBar_right) ? 1 : 0;
63
63
 
64
64
  if (update)
65
65
    {
66
 
      if (last_top < scrollBar.top)
67
 
        XClearArea (dpy, scrollBar.win,
68
 
                   scrollBar.shadow + xsb, last_top,
69
 
                   sbwidth, (scrollBar.top - last_top), False);
 
66
      if (last_top < top)
 
67
        XClearArea (term->dpy, win,
 
68
                    xsb, last_top,
 
69
                    sbwidth, (top - last_top), False);
70
70
 
71
 
      if (scrollBar.bot < last_bot)
72
 
        XClearArea (dpy, scrollBar.win,
73
 
                   scrollBar.shadow + xsb, scrollBar.bot,
74
 
                   sbwidth, (last_bot - scrollBar.bot), False);
 
71
      if (bot < last_bot)
 
72
        XClearArea (term->dpy, win,
 
73
                    xsb, bot,
 
74
                    sbwidth, (last_bot - bot), False);
75
75
    }
76
76
  else
77
 
    XClearWindow (dpy, scrollBar.win);
 
77
    XClearWindow (term->dpy, win);
78
78
 
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);
82
82
 
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);
86
86
  return 1;
87
87
}
88
88
#endif /* XTERM_SCROLLBAR */