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

Comparing rxvt-unicode/src/background.C (file contents):
Revision 1.256 by sf-exg, Mon Dec 31 12:05:46 2012 UTC vs.
Revision 1.257 by sf-exg, Sat Jan 19 10:04:34 2013 UTC

459 459
460 if (root_effects.need_blur ()) 460 if (root_effects.need_blur ())
461 img->blur (root_effects.h_blurRadius, root_effects.v_blurRadius)->replace (img); 461 img->blur (root_effects.h_blurRadius, root_effects.v_blurRadius)->replace (img);
462 462
463 if (root_effects.need_tint ()) 463 if (root_effects.need_tint ())
464 tint_image (img, root_effects.tint, root_effects.tint_set, root_effects.shade); 464 {
465 rgba c (rgba::MAX_CC, rgba::MAX_CC, rgba::MAX_CC);
466
467 if (root_effects.tint_set)
468 root_effects.tint.get (c);
469 rxvt_img::nv factor = root_effects.shade / 100. - 1.;
470 img->shade (factor, c)->replace (img);
471 }
465 472
466 XRenderPictFormat *format = XRenderFindVisualFormat (dpy, visual); 473 XRenderPictFormat *format = XRenderFindVisualFormat (dpy, visual);
467 img->convert_format (format, pix_colors [Color_bg])->replace (img); 474 img->convert_format (format, pix_colors [Color_bg])->replace (img);
468 475
469 delete bg_img; 476 delete bg_img;
532 update_background (); 539 update_background ();
533 } 540 }
534#endif 541#endif
535} 542}
536 543
537void
538rxvt_term::tint_image (rxvt_img *img, rxvt_color &tint, bool tint_set, int shade)
539{
540 rgba c (rgba::MAX_CC, rgba::MAX_CC, rgba::MAX_CC);
541
542 if (tint_set)
543 tint.get (c);
544
545 if (shade > 100)
546 {
547 c.r = c.r * (200 - shade) / 100;
548 c.g = c.g * (200 - shade) / 100;
549 c.b = c.b * (200 - shade) / 100;
550 }
551 else
552 {
553 c.r = c.r * shade / 100;
554 c.g = c.g * shade / 100;
555 c.b = c.b * shade / 100;
556 }
557
558 img->contrast (c.r, c.g, c.b, c.a);
559
560 if (shade > 100)
561 {
562 c.a = 0xffff;
563 c.r =
564 c.g =
565 c.b = 0xffff * (shade - 100) / 100;
566 img->brightness (c.r, c.g, c.b, c.a);
567 }
568}
569
570#endif /* HAVE_BG_PIXMAP */ 544#endif /* HAVE_BG_PIXMAP */

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines