gboolean ret = FALSE;
gchar *rclass = create_class_name(rname);
gchar *cname, *ctoname, *bcname, *icname, *hname, *sname;
+ gchar *csplitname, *ctosplitname;
gchar *rettype;
XrmValue retvalue;
gint i;
icname = g_strconcat(rname, ".interlace.color", NULL);
hname = g_strconcat(rname, ".highlight", NULL);
sname = g_strconcat(rname, ".shadow", NULL);
+ csplitname = g_strconcat(rname, ".color.splitTo", NULL);
+ ctosplitname = g_strconcat(rname, ".colorTo.splitTo", NULL);
if (XrmGetResource(db, rname, rclass, &rettype, &retvalue) &&
retvalue.addr != NULL) {
if (value->surface.grad == RR_SURFACE_SPLIT_VERTICAL) {
gint r, g, b;
- r = value->surface.primary->r;
- r += r >> 2;
- g = value->surface.primary->g;
- g += g >> 2;
- b = value->surface.primary->b;
- b += b >> 2;
- if (r > 0xFF) r = 0xFF;
- if (g > 0xFF) g = 0xFF;
- if (b > 0xFF) b = 0xFF;
- value->surface.split_primary = RrColorNew(inst, r, g, b);
-
- r = value->surface.secondary->r;
- r += r >> 4;
- g = value->surface.secondary->g;
- g += g >> 4;
- b = value->surface.secondary->b;
- b += b >> 4;
- if (r > 0xFF) r = 0xFF;
- if (g > 0xFF) g = 0xFF;
- if (b > 0xFF) b = 0xFF;
- value->surface.split_secondary = RrColorNew(inst, r, g, b);
+ if (!read_color(db, inst, csplitname,
+ &value->surface.split_primary))
+ {
+ r = value->surface.primary->r;
+ r += r >> 2;
+ g = value->surface.primary->g;
+ g += g >> 2;
+ b = value->surface.primary->b;
+ b += b >> 2;
+ if (r > 0xFF) r = 0xFF;
+ if (g > 0xFF) g = 0xFF;
+ if (b > 0xFF) b = 0xFF;
+ value->surface.split_primary = RrColorNew(inst, r, g, b);
+ }
+
+ if (!read_color(db, inst, ctosplitname,
+ &value->surface.split_secondary))
+ {
+ r = value->surface.secondary->r;
+ r += r >> 4;
+ g = value->surface.secondary->g;
+ g += g >> 4;
+ b = value->surface.secondary->b;
+ b += b >> 4;
+ if (r > 0xFF) r = 0xFF;
+ if (g > 0xFF) g = 0xFF;
+ if (b > 0xFF) b = 0xFF;
+ value->surface.split_secondary = RrColorNew(inst, r, g, b);
+ }
}
ret = TRUE;
}
+ g_free(ctosplitname);
+ g_free(csplitname);
g_free(sname);
g_free(hname);
g_free(icname);