if (!i || prop == NULL
#if TINTING
- || !rs[Rs_color + Color_tint]
+ || !ISSET_PIXCOLOR (Color_tint)
#endif
)
have_pixmap = 0;
#if TRANSPARENT && TINTING
case URxvt_Color_tint:
process_color_seq (op, Color_tint, str, resp);
+
check_our_parents ();
+
if (am_transparent)
want_full_refresh = want_refresh = 1;
+
break;
#endif
char eos;
int skip;
- if (1 <= sscanf (name, "[%hx]%n", &c.a, &skip))
+ if (1 <= sscanf (name, "[%hd]%n", &c.a, &skip))
{
- switch (skip)
- {
- case 2 + 1: c.a *= rxvt_rgba::MAX_CC / 0x000f; break;
- case 2 + 2: c.a *= rxvt_rgba::MAX_CC / 0x00ff; break;
- case 2 + 3: c.a *= rxvt_rgba::MAX_CC / 0x0fff; break;
- case 2 + 4: c.a *= rxvt_rgba::MAX_CC / 0xffff; break;
- }
-
+ c.a = lerp<int, int, int> (0, rxvt_rgba::MAX_CC, c.a);
name += skip;
}
else