a->surface.relief==RR_RELIEF_RAISED);
}
}
+
+ if (a->surface.interlaced) {
+ int i;
+ RrPixel32 *p;
+
+ r = a->surface.interlace_color->r;
+ g = a->surface.interlace_color->g;
+ b = a->surface.interlace_color->b;
+ current = (r << RrDefaultRedOffset)
+ + (g << RrDefaultGreenOffset)
+ + (b << RrDefaultBlueOffset);
+ p = data;
+ for (i = 0; i < h; i += 2, p += w)
+ for (x = 0; x < w; ++x, ++p)
+ *p = current;
+ }
+
}
static void highlight(RrPixel32 *x, RrPixel32 *y, gboolean raised)
if (sp->interlaced) {
for (i = 0; i < h; i += 2)
- XDrawLine(RrDisplay(l->inst), l->pixmap, RrColorGC(sp->secondary),
+ XDrawLine(RrDisplay(l->inst), l->pixmap,
+ RrColorGC(sp->interlace_color),
0, i, w, i);
}
gboolean allow_trans)
{
gboolean ret = FALSE;
- char *rclass = create_class_name(rname), *cname, *ctoname, *bcname;
+ char *rclass = create_class_name(rname);
+ char *cname, *ctoname, *bcname, *icname;
char *rettype;
XrmValue retvalue;
cname = g_strconcat(rname, ".color", NULL);
ctoname = g_strconcat(rname, ".colorTo", NULL);
bcname = g_strconcat(rname, ".borderColor", NULL);
+ icname = g_strconcat(rname, ".interlaceColor", NULL);
if (XrmGetResource(db, rname, rclass, &rettype, &retvalue) &&
retvalue.addr != NULL) {
if (!read_color(db, inst, bcname,
&value->surface.border_color))
value->surface.border_color = RrColorNew(inst, 0, 0, 0);
+ if (value->surface.interlaced)
+ if (!read_color(db, inst, icname,
+ &value->surface.interlace_color))
+ value->surface.interlace_color = RrColorNew(inst, 0, 0, 0);
ret = TRUE;
}
+ g_free(icname);
g_free(bcname);
g_free(ctoname);
g_free(cname);