aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfluxgen <fluxgen>2002-09-14 13:52:08 (GMT)
committerfluxgen <fluxgen>2002-09-14 13:52:08 (GMT)
commit0ef79074e1465284020cf96b0aad8316fe0ebe25 (patch)
treede56c078a6004dae018bb2ccf8e1845e70c437b0
parentdeaaaf1c72265af5e90969c7171093faf9d29cbb (diff)
downloadfluxbox-0ef79074e1465284020cf96b0aad8316fe0ebe25.zip
fluxbox-0ef79074e1465284020cf96b0aad8316fe0ebe25.tar.bz2
moved color parsing allocation to FbTk Color
-rw-r--r--src/Image.cc48
1 files changed, 1 insertions, 47 deletions
diff --git a/src/Image.cc b/src/Image.cc
index fbc20b1..0387304 100644
--- a/src/Image.cc
+++ b/src/Image.cc
@@ -22,7 +22,7 @@
22// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 22// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23// DEALINGS IN THE SOFTWARE. 23// DEALINGS IN THE SOFTWARE.
24 24
25// $Id: Image.cc,v 1.13 2002/08/11 20:44:48 fluxgen Exp $ 25// $Id: Image.cc,v 1.14 2002/09/14 13:52:08 fluxgen Exp $
26 26
27//use GNU extensions 27//use GNU extensions
28#ifndef _GNU_SOURCE 28#ifndef _GNU_SOURCE
@@ -2309,29 +2309,6 @@ void BImageControl::removeImage(Pixmap pixmap) {
2309} 2309}
2310 2310
2311 2311
2312unsigned long BImageControl::color(const char *colorname,
2313 unsigned char *r, unsigned char *g,
2314 unsigned char *b)
2315{
2316 XColor color;
2317 color.pixel = 0;
2318
2319 if (! XParseColor(basedisplay->getXDisplay(), colormap(), colorname, &color))
2320 fprintf(stderr, "BImageControl::color: color parse error: \"%s\"\n",
2321 colorname);
2322 else if (! XAllocColor(basedisplay->getXDisplay(), colormap(), &color))
2323 fprintf(stderr, "BImageControl::color: color alloc error: \"%s\"\n",
2324 colorname);
2325
2326 if (color.red == 65535) *r = 0xff;
2327 else *r = (unsigned char) (color.red / 0xff);
2328 if (color.green == 65535) *g = 0xff;
2329 else *g = (unsigned char) (color.green / 0xff);
2330 if (color.blue == 65535) *b = 0xff;
2331 else *b = (unsigned char) (color.blue / 0xff);
2332
2333 return color.pixel;
2334}
2335 2312
2336 2313
2337unsigned long BImageControl::color(const char *colorname) { 2314unsigned long BImageControl::color(const char *colorname) {
@@ -2522,29 +2499,6 @@ void BImageControl::parseTexture(FbTk::Texture *texture, const char *texture_str
2522} 2499}
2523 2500
2524 2501
2525void BImageControl::parseColor(FbTk::Color *col, const char *color_string) {
2526 if (!col) return;
2527
2528 if (col->isAllocated()) {
2529 unsigned long pixel = col->pixel();
2530
2531 XFreeColors(basedisplay->getXDisplay(), colormap(), &pixel, 1, 0);
2532
2533 col->setPixel(0l);
2534 col->setRGB(0, 0, 0);
2535 col->setAllocated(false);
2536 }
2537
2538 if (color_string != 0) {
2539 unsigned char r, g, b;
2540
2541 col->setPixel(color(color_string, &r, &g, &b));
2542 col->setRGB(r, g, b);
2543 col->setAllocated(true);
2544 }
2545}
2546
2547
2548void BImageControl::timeout() { 2502void BImageControl::timeout() {
2549 CacheList::iterator it = cache.begin(); 2503 CacheList::iterator it = cache.begin();
2550 CacheList::iterator it_end = cache.end(); 2504 CacheList::iterator it_end = cache.end();