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.190 by sf-exg, Thu Dec 29 20:35:37 2011 UTC vs.
Revision 1.192 by sf-exg, Fri Dec 30 12:45:56 2011 UTC

819 } 819 }
820 820
821#if XRENDER 821#if XRENDER
822 if (tr_flags) 822 if (tr_flags)
823 { 823 {
824 XRenderPictureAttributes pa;
825 XRenderPictFormat *format = XRenderFindVisualFormat (dpy, visual); 824 XRenderPictFormat *format = XRenderFindVisualFormat (dpy, visual);
826 825
827 Picture src = XRenderCreatePicture (dpy, root_pmap, format, 0, &pa); 826 Picture src = XRenderCreatePicture (dpy, root_pmap, format, 0, 0);
828 827
829 Picture dst = XRenderCreatePicture (dpy, bg_pixmap, format, 0, &pa); 828 Picture dst = XRenderCreatePicture (dpy, bg_pixmap, format, 0, 0);
830 829
831 Picture mask = create_xrender_mask (dpy, vt, False, False); 830 Picture mask = create_xrender_mask (dpy, vt, False, False);
832 831
833 XRenderColor mask_c; 832 XRenderColor mask_c;
834 833
835 mask_c.alpha = 0x8000; 834 mask_c.alpha = 0x8000;
836 mask_c.red = 0; 835 mask_c.red =
837 mask_c.green = 0; 836 mask_c.green =
838 mask_c.blue = 0; 837 mask_c.blue = 0;
839 XRenderFillRectangle (dpy, PictOpSrc, mask, &mask_c, 0, 0, 1, 1); 838 XRenderFillRectangle (dpy, PictOpSrc, mask, &mask_c, 0, 0, 1, 1);
839
840 XRenderComposite (dpy, PictOpOver, src, mask, dst, 0, 0, 0, 0, 0, 0, target_width, target_height); 840 XRenderComposite (dpy, PictOpOver, src, mask, dst, 0, 0, 0, 0, 0, 0, target_width, target_height);
841 841
842 XRenderFreePicture (dpy, src); 842 XRenderFreePicture (dpy, src);
843 XRenderFreePicture (dpy, dst); 843 XRenderFreePicture (dpy, dst);
844 XRenderFreePicture (dpy, mask); 844 XRenderFreePicture (dpy, mask);
1054 1054
1055 int size = max (h_blurRadius, v_blurRadius) * 2 + 1; 1055 int size = max (h_blurRadius, v_blurRadius) * 2 + 1;
1056 double *kernel = (double *)malloc (size * sizeof (double)); 1056 double *kernel = (double *)malloc (size * sizeof (double));
1057 XFixed *params = (XFixed *)malloc ((size + 2) * sizeof (XFixed)); 1057 XFixed *params = (XFixed *)malloc ((size + 2) * sizeof (XFixed));
1058 1058
1059 XRenderPictureAttributes pa;
1060 XRenderPictFormat *format = XRenderFindVisualFormat (dpy, visual); 1059 XRenderPictFormat *format = XRenderFindVisualFormat (dpy, visual);
1061 1060
1062 Picture src = XRenderCreatePicture (dpy, pixmap, format, 0, &pa); 1061 Picture src = XRenderCreatePicture (dpy, pixmap, format, 0, 0);
1063 Picture dst = XRenderCreatePicture (dpy, pixmap, format, 0, &pa); 1062 Picture dst = XRenderCreatePicture (dpy, pixmap, format, 0, 0);
1064 1063
1065 if (kernel && params) 1064 if (kernel && params)
1066 { 1065 {
1067 if (h_blurRadius) 1066 if (h_blurRadius)
1068 { 1067 {
1153 c.g = c.g * (200 - shade) / 100; 1152 c.g = c.g * (200 - shade) / 100;
1154 c.b = c.b * (200 - shade) / 100; 1153 c.b = c.b * (200 - shade) / 100;
1155 } 1154 }
1156 1155
1157 XRenderPictFormat *format = XRenderFindVisualFormat (dpy, visual); 1156 XRenderPictFormat *format = XRenderFindVisualFormat (dpy, visual);
1158 XRenderPictureAttributes pa;
1159 1157
1160 Picture back_pic = XRenderCreatePicture (dpy, pixmap, format, 0, &pa); 1158 Picture back_pic = XRenderCreatePicture (dpy, pixmap, format, 0, 0);
1161 1159
1162 Picture overlay_pic = create_xrender_mask (dpy, pixmap, True, False); 1160 Picture overlay_pic = create_xrender_mask (dpy, pixmap, True, False);
1163 1161
1164 Picture mask_pic = create_xrender_mask (dpy, pixmap, True, True); 1162 Picture mask_pic = create_xrender_mask (dpy, pixmap, True, True);
1165 1163
1174 mask_c.alpha = 0; 1172 mask_c.alpha = 0;
1175 mask_c.red = 0xffff - c.r; 1173 mask_c.red = 0xffff - c.r;
1176 mask_c.green = 0xffff - c.g; 1174 mask_c.green = 0xffff - c.g;
1177 mask_c.blue = 0xffff - c.b; 1175 mask_c.blue = 0xffff - c.b;
1178 XRenderFillRectangle (dpy, PictOpSrc, mask_pic, &mask_c, 0, 0, 1, 1); 1176 XRenderFillRectangle (dpy, PictOpSrc, mask_pic, &mask_c, 0, 0, 1, 1);
1177
1179 XRenderComposite (dpy, PictOpOver, overlay_pic, mask_pic, back_pic, 0, 0, 0, 0, 0, 0, width, height); 1178 XRenderComposite (dpy, PictOpOver, overlay_pic, mask_pic, back_pic, 0, 0, 0, 0, 0, 0, width, height);
1180 1179
1181 if (shade > 100) 1180 if (shade > 100)
1182 { 1181 {
1183 mask_c.red = mask_c.green = mask_c.blue = 0xffff * (shade - 100) / 100;
1184 mask_c.alpha = 0; 1182 mask_c.alpha = 0;
1183 mask_c.red =
1184 mask_c.green =
1185 mask_c.blue = 0xffff * (shade - 100) / 100;
1185 XRenderFillRectangle (dpy, PictOpSrc, overlay_pic, &mask_c, 0, 0, 1, 1); 1186 XRenderFillRectangle (dpy, PictOpSrc, overlay_pic, &mask_c, 0, 0, 1, 1);
1186 1187
1187 XRenderComposite (dpy, PictOpOver, overlay_pic, None, back_pic, 0, 0, 0, 0, 0, 0, width, height); 1188 XRenderComposite (dpy, PictOpOver, overlay_pic, None, back_pic, 0, 0, 0, 0, 0, 0, width, height);
1188 } 1189 }
1189 1190
1252#if XRENDER 1253#if XRENDER
1253 if (bg_flags & BG_HAS_RENDER) 1254 if (bg_flags & BG_HAS_RENDER)
1254 { 1255 {
1255 recoded_root_pmap = XCreatePixmap (dpy, vt, root_pmap_width, root_pmap_height, depth); 1256 recoded_root_pmap = XCreatePixmap (dpy, vt, root_pmap_width, root_pmap_height, depth);
1256 1257
1257 XRenderPictureAttributes pa;
1258
1259 XRenderPictFormat *src_format = XRenderFindVisualFormat (dpy, DefaultVisual (dpy, screen)); 1258 XRenderPictFormat *src_format = XRenderFindVisualFormat (dpy, DefaultVisual (dpy, screen));
1260 Picture src = XRenderCreatePicture (dpy, root_pixmap, src_format, 0, &pa); 1259 Picture src = XRenderCreatePicture (dpy, root_pixmap, src_format, 0, 0);
1261 1260
1262 XRenderPictFormat *dst_format = XRenderFindVisualFormat (dpy, visual); 1261 XRenderPictFormat *dst_format = XRenderFindVisualFormat (dpy, visual);
1263 Picture dst = XRenderCreatePicture (dpy, recoded_root_pmap, dst_format, 0, &pa); 1262 Picture dst = XRenderCreatePicture (dpy, recoded_root_pmap, dst_format, 0, 0);
1264 1263
1265 XRenderComposite (dpy, PictOpSrc, src, None, dst, 0, 0, 0, 0, 0, 0, root_pmap_width, root_pmap_height); 1264 XRenderComposite (dpy, PictOpSrc, src, None, dst, 0, 0, 0, 0, 0, 0, root_pmap_width, root_pmap_height);
1266 1265
1267 XRenderFreePicture (dpy, src); 1266 XRenderFreePicture (dpy, src);
1268 XRenderFreePicture (dpy, dst); 1267 XRenderFreePicture (dpy, dst);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines