diff options
author | Jesse Luehrs <doy@tozt.net> | 2012-02-21 01:19:29 -0600 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2012-02-21 01:32:59 -0600 |
commit | 9bb42914a45161f9338ce05b4af0ad91c994c4ed (patch) | |
tree | c4b93047b97b20ce32cd83fe32f93ae48a6e02da /util.c | |
parent | 8e7f8c02a1c6f1a916376f43cbce1271225c2ec7 (diff) | |
download | dzen-master.tar.gz dzen-master.zip |
Diffstat (limited to 'util.c')
-rw-r--r-- | util.c | 35 |
1 files changed, 35 insertions, 0 deletions
@@ -17,6 +17,10 @@ static char *colorcache_names[COLORCACHE_MAX]; static long colorcache_values[COLORCACHE_MAX]; +#ifdef DZEN_XFT +static char *xftcolorcache_names[COLORCACHE_MAX]; +static XftColor xftcolorcache_values[COLORCACHE_MAX]; +#endif #define ONEMASK ((size_t)(-1) / 0xFF) @@ -95,3 +99,34 @@ void colorcache_set(const char *name, long value) { colorcache_names[i] = strdup(name); colorcache_values[i] = value; } + +#ifdef DZEN_XFT +int xftcolorcache_get(const char *name, XftColor *color) { + int i; + + for (i = 0; i < COLORCACHE_MAX; ++i) { + if (!xftcolorcache_names[i]) + break; + if (!strcmp(xftcolorcache_names[i], name)) { + memcpy(color, &xftcolorcache_values[i], sizeof(XftColor)); + return 1; + } + } + + return 0; +} + +void xftcolorcache_set(const char *name, XftColor *color) { + int i; + + for (i = 0; i < COLORCACHE_MAX; ++i) + if (!xftcolorcache_names[i]) + break; + + if (i >= COLORCACHE_MAX) + return; + + xftcolorcache_names[i] = strdup(name); + memcpy(&xftcolorcache_values[i], color, sizeof(XftColor)); +} +#endif |