ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/src/rxvttoolkit.C
(Generate patch)

Comparing rxvt-unicode/src/rxvttoolkit.C (file contents):
Revision 1.34 by root, Mon Jan 30 02:21:20 2006 UTC vs.
Revision 1.36 by root, Mon Jan 30 17:43:20 2006 UTC

633 return XftColorAllocValue (screen->xdisp, screen->visual, screen->cmap, &d, &c); 633 return XftColorAllocValue (screen->xdisp, screen->visual, screen->cmap, &d, &c);
634 } 634 }
635 635
636 return false; 636 return false;
637#else 637#else
638 XColor xc; 638 if (screen->visual->c_class == TrueColor)
639
640 xc.red = rgba.r;
641 xc.green = rgba.g;
642 xc.blue = rgba.b;
643 xc.flags = DoRed | DoGreen | DoBlue;
644
645 if (XAllocColor (screen->xdisp, screen->cmap, &xc))
646 { 639 {
647 p = xc.pixel; 640 p = ((rgba.r * ((1 << screen->visual->bits_per_rgb) - 1)
641 / rxvt_rgba::MAX_CC) << ctz (screen->visual->red_mask ))
642 | ((rgba.g * ((1 << screen->visual->bits_per_rgb) - 1)
643 / rxvt_rgba::MAX_CC) << ctz (screen->visual->green_mask))
644 | ((rgba.b * ((1 << screen->visual->bits_per_rgb) - 1)
645 / rxvt_rgba::MAX_CC) << ctz (screen->visual->blue_mask ));
646
648 return true; 647 return true;
648 }
649 else
650 {
651 XColor xc;
652
653 xc.red = rgba.r;
654 xc.green = rgba.g;
655 xc.blue = rgba.b;
656 xc.flags = DoRed | DoGreen | DoBlue;
657
658 if (XAllocColor (screen->xdisp, screen->cmap, &xc))
659 {
660 p = xc.pixel;
661 return true;
662 }
649 } 663 }
650 664
651 return false; 665 return false;
652#endif 666#endif
653} 667}

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines