diff options
author | Behdad Esfahbod <behdad@behdad.org> | 2009-03-16 16:03:36 -0400 |
---|---|---|
committer | Behdad Esfahbod <behdad@behdad.org> | 2009-03-16 16:03:36 -0400 |
commit | a6af36b9c06b81ab8095afff85f68f37c27a4b3b (patch) | |
tree | 30b65815bc952511b541b66c7ee7c015a1ffe935 /pango-view/viewer-pangoxft.c | |
parent | 2599e265eba6fd27b3f7684c484f3160f9a67595 (diff) | |
download | pango-a6af36b9c06b81ab8095afff85f68f37c27a4b3b.tar.gz |
Bug 502805 – pango-view option for foreground/background color
Diffstat (limited to 'pango-view/viewer-pangoxft.c')
-rw-r--r-- | pango-view/viewer-pangoxft.c | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/pango-view/viewer-pangoxft.c b/pango-view/viewer-pangoxft.c index 198f9edc..9e2cc89c 100644 --- a/pango-view/viewer-pangoxft.c +++ b/pango-view/viewer-pangoxft.c @@ -114,17 +114,23 @@ pangoxft_view_render (gpointer instance, DefaultVisual (x->display, x->screen), DefaultColormap (x->display, x->screen)); - color.color.red = 0xffff; - color.color.blue = 0xffff; - color.color.green = 0xffff; - color.color.alpha = 0xffff; - - XftDrawRect (draw, &color, 0, 0, *width, *height); + if (opt_bg_set) + { + /* XftDrawRect only fills solid. + * Flatten with white. + */ + color.color.red = ((opt_bg_color.red * opt_bg_alpha) >> 16) + (65535 - opt_bg_alpha); + color.color.green = ((opt_bg_color.green * opt_bg_alpha) >> 16) + (65535 - opt_bg_alpha); + color.color.blue = ((opt_bg_color.blue * opt_bg_alpha) >> 16) + (65535 - opt_bg_alpha); + color.color.alpha = 65535; + + XftDrawRect (draw, &color, 0, 0, *width, *height); + } - color.color.red = 0x0; - color.color.green = 0x0; - color.color.blue = 0x0; - color.color.alpha = 0xffff; + color.color.red = opt_fg_color.red; + color.color.blue = opt_fg_color.green; + color.color.green = opt_fg_color.blue; + color.color.alpha = opt_fg_alpha; xft_context.draw = draw; xft_context.color = color; |