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.147 by root, Mon Feb 21 07:40:59 2011 UTC vs.
Revision 1.148 by root, Tue Apr 26 09:48:09 2011 UTC

1111 } 1111 }
1112 } 1112 }
1113 else 1113 else
1114 { 1114 {
1115# if XRENDER 1115# if XRENDER
1116 rgba c (rgba::MAX_CC,rgba::MAX_CC,rgba::MAX_CC); 1116 rgba c (rgba::MAX_CC, rgba::MAX_CC, rgba::MAX_CC);
1117 1117
1118 if (bg_flags & BG_TINT_SET) 1118 if (bg_flags & BG_TINT_SET)
1119 tint.get (c); 1119 tint.get (c);
1120 1120
1121 if (shade <= 100) 1121 if (shade <= 100)
1122 { 1122 {
1123 c.r = (c.r * shade) / 100; 1123 c.r = c.r * shade / 100;
1124 c.g = (c.g * shade) / 100; 1124 c.g = c.g * shade / 100;
1125 c.b = (c.b * shade) / 100; 1125 c.b = c.b * shade / 100;
1126 } 1126 }
1127 else 1127 else
1128 { 1128 {
1129 c.r = (c.r * (200 - shade)) / 100; 1129 c.r = c.r * (200 - shade) / 100;
1130 c.g = (c.g * (200 - shade)) / 100; 1130 c.g = c.g * (200 - shade) / 100;
1131 c.b = (c.b * (200 - shade)) / 100; 1131 c.b = c.b * (200 - shade) / 100;
1132 } 1132 }
1133 1133
1134 XRenderPictFormat *solid_format = XRenderFindStandardFormat (dpy, PictStandardARGB32); 1134 XRenderPictFormat *solid_format = XRenderFindStandardFormat (dpy, PictStandardARGB32);
1135 XRenderPictFormat *format = XRenderFindVisualFormat (dpy, visual); 1135 XRenderPictFormat *format = XRenderFindVisualFormat (dpy, visual);
1136 XRenderPictureAttributes pa; 1136 XRenderPictureAttributes pa;
1143 Picture overlay_pic = XRenderCreatePicture (dpy, overlay_pmap, solid_format, CPRepeat, &pa); 1143 Picture overlay_pic = XRenderCreatePicture (dpy, overlay_pmap, solid_format, CPRepeat, &pa);
1144 XFreePixmap (dpy, overlay_pmap); 1144 XFreePixmap (dpy, overlay_pmap);
1145 1145
1146 pa.component_alpha = True; 1146 pa.component_alpha = True;
1147 Pixmap mask_pmap = XCreatePixmap (dpy, pixmap, 1, 1, 32); 1147 Pixmap mask_pmap = XCreatePixmap (dpy, pixmap, 1, 1, 32);
1148 Picture mask_pic = XRenderCreatePicture (dpy, mask_pmap, solid_format, CPRepeat|CPComponentAlpha, &pa); 1148 Picture mask_pic = XRenderCreatePicture (dpy, mask_pmap, solid_format, CPRepeat | CPComponentAlpha, &pa);
1149 XFreePixmap (dpy, mask_pmap); 1149 XFreePixmap (dpy, mask_pmap);
1150 1150
1151 if (mask_pic && overlay_pic && back_pic) 1151 if (mask_pic && overlay_pic && back_pic)
1152 { 1152 {
1153 XRenderColor mask_c; 1153 XRenderColor mask_c;
1154 1154
1155 mask_c.red = mask_c.green = mask_c.blue = 0;
1156 mask_c.alpha = 0xffff; 1155 mask_c.alpha = 0xffff;
1156 mask_c.red =
1157 mask_c.green =
1158 mask_c.blue = 0;
1157 XRenderFillRectangle (dpy, PictOpSrc, overlay_pic, &mask_c, 0, 0, 1, 1); 1159 XRenderFillRectangle (dpy, PictOpSrc, overlay_pic, &mask_c, 0, 0, 1, 1);
1158 1160
1159 mask_c.alpha = 0; 1161 mask_c.alpha = 0;
1160 mask_c.red = 0xffff - c.r; 1162 mask_c.red = 0xffff - c.r;
1161 mask_c.green = 0xffff - c.g; 1163 mask_c.green = 0xffff - c.g;
1162 mask_c.blue = 0xffff - c.b; 1164 mask_c.blue = 0xffff - c.b;
1163 XRenderFillRectangle (dpy, PictOpSrc, mask_pic, &mask_c, 0, 0, 1, 1); 1165 XRenderFillRectangle (dpy, PictOpSrc, mask_pic, &mask_c, 0, 0, 1, 1);
1164 XRenderComposite (dpy, PictOpOver, overlay_pic, mask_pic, back_pic, 0, 0, 0, 0, 0, 0, width, height); 1166 XRenderComposite (dpy, PictOpOver, overlay_pic, mask_pic, back_pic, 0, 0, 0, 0, 0, 0, width, height);
1165 1167
1166 if (shade > 100) 1168 if (shade > 100)
1167 { 1169 {

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines