summaryrefslogtreecommitdiffstats
path: root/source/x11-helper.c
diff options
context:
space:
mode:
authorQC <qball@gmpclient.org>2015-10-10 13:03:11 +0200
committerQC <qball@gmpclient.org>2015-10-10 13:03:11 +0200
commitb0ceccb93ea56161a33e2684912f4d220b31aee3 (patch)
tree0b205fac13e2da2f1740b68f6b4a69798a66be79 /source/x11-helper.c
parent01aa2e32cc354b2703e0237e749dc9eb2016b635 (diff)
Use cairo for all drawing, also borders
Diffstat (limited to 'source/x11-helper.c')
-rw-r--r--source/x11-helper.c51
1 files changed, 28 insertions, 23 deletions
diff --git a/source/x11-helper.c b/source/x11-helper.c
index 4f021c15..b762b3fb 100644
--- a/source/x11-helper.c
+++ b/source/x11-helper.c
@@ -536,57 +536,62 @@ unsigned int color_get ( Display *display, const char *const name, const char *
return color.pixel;
}
}
-
-unsigned int color_background ( Display *display )
+void x11_helper_set_cairo_rgba ( cairo_t *d, unsigned int pixel )
+{
+ cairo_set_source_rgba ( d,
+ ( ( pixel & 0x00FF0000 ) >> 16 ) / 256.0,
+ ( ( pixel & 0x0000FF00 ) >> 8 ) / 256.0,
+ ( ( pixel & 0x000000FF ) >> 0 ) / 256.0,
+ ( ( pixel & 0xFF000000 ) >> 24 ) / 256.0
+ );
+}
+void color_background ( Display *display, cairo_t *d )
{
+ unsigned int pixel = 0;
if ( !config.color_enabled ) {
- return color_get ( display, config.menu_bg, "black" );
+ pixel = color_get ( display, config.menu_bg, "black" );
}
else {
- unsigned int retv = 0;
-
- gchar **vals = g_strsplit ( config.color_window, ",", 3 );
+ gchar **vals = g_strsplit ( config.color_window, ",", 3 );
if ( vals != NULL && vals[0] != NULL ) {
- retv = color_get ( display, g_strstrip ( vals[0] ), "black" );
+ pixel = color_get ( display, g_strstrip ( vals[0] ), "black" );
}
g_strfreev ( vals );
- return retv;
}
+ x11_helper_set_cairo_rgba ( d, pixel );
}
-unsigned int color_border ( Display *display )
+void color_border ( Display *display, cairo_t *d )
{
+ unsigned int pixel = 0;
if ( !config.color_enabled ) {
- return color_get ( display, config.menu_bc, "white" );
+ pixel = color_get ( display, config.menu_bc, "white" );
}
else {
- unsigned int retv = 0;
-
- gchar **vals = g_strsplit ( config.color_window, ",", 3 );
+ gchar **vals = g_strsplit ( config.color_window, ",", 3 );
if ( vals != NULL && vals[0] != NULL && vals[1] != NULL ) {
- retv = color_get ( display, vals[1], "white" );
+ pixel = color_get ( display, vals[1], "white" );
}
g_strfreev ( vals );
- return retv;
}
+ x11_helper_set_cairo_rgba ( d, pixel );
}
-unsigned int color_separator ( Display *display )
+void color_separator ( Display *display, cairo_t *d )
{
+ unsigned int pixel = 0;
if ( !config.color_enabled ) {
- return color_get ( display, config.menu_bc, "white" );
+ pixel = color_get ( display, config.menu_bc, "white" );
}
else {
- unsigned int retv = 0;
-
- gchar **vals = g_strsplit ( config.color_window, ",", 3 );
+ gchar **vals = g_strsplit ( config.color_window, ",", 3 );
if ( vals != NULL && vals[0] != NULL && vals[1] != NULL && vals[2] != NULL ) {
- retv = color_get ( display, vals[2], "white" );
+ pixel = color_get ( display, vals[2], "white" );
}
else if ( vals != NULL && vals[0] != NULL && vals[1] != NULL ) {
- retv = color_get ( display, vals[1], "white" );
+ pixel = color_get ( display, vals[1], "white" );
}
g_strfreev ( vals );
- return retv;
}
+ x11_helper_set_cairo_rgba ( d, pixel );
}