… | |
… | |
1147 | double *kernel = (double *)malloc (size * sizeof (double)); |
1147 | double *kernel = (double *)malloc (size * sizeof (double)); |
1148 | XFixed *params = (XFixed *)malloc ((size + 2) * sizeof (XFixed)); |
1148 | XFixed *params = (XFixed *)malloc ((size + 2) * sizeof (XFixed)); |
1149 | |
1149 | |
1150 | Display *dpy = target->dpy; |
1150 | Display *dpy = target->dpy; |
1151 | XRenderPictureAttributes pa; |
1151 | XRenderPictureAttributes pa; |
1152 | XRenderPictFormat *format = XRenderFindVisualFormat (dpy, target->visual); |
1152 | XRenderPictFormat *format = XRenderFindVisualFormat (dpy, visual); |
1153 | |
1153 | |
1154 | Picture src = XRenderCreatePicture (dpy, pixmap, format, 0, &pa); |
1154 | Picture src = XRenderCreatePicture (dpy, pixmap, format, 0, &pa); |
1155 | Picture dst = XRenderCreatePicture (dpy, pixmap, format, 0, &pa); |
1155 | Picture dst = XRenderCreatePicture (dpy, pixmap, format, 0, &pa); |
1156 | |
1156 | |
1157 | if (kernel && params && src && dst) |
1157 | if (kernel && params && src && dst) |
… | |
… | |
1417 | return false; |
1417 | return false; |
1418 | } |
1418 | } |
1419 | # endif /* ENABLE_TRANSPARENCY */ |
1419 | # endif /* ENABLE_TRANSPARENCY */ |
1420 | |
1420 | |
1421 | # ifndef HAVE_AFTERIMAGE |
1421 | # ifndef HAVE_AFTERIMAGE |
1422 | static void ShadeXImage(rxvt_term *term, XImage *srcImage, int shade, int rm, int gm, int bm); |
1422 | static void ShadeXImage(Visual *visual, XImage *srcImage, int shade, int rm, int gm, int bm); |
1423 | # endif |
1423 | # endif |
1424 | |
1424 | |
1425 | bool |
1425 | bool |
1426 | bgPixmap_t::render () |
1426 | bgPixmap_t::render () |
1427 | { |
1427 | { |
… | |
… | |
1471 | if (!(background_flags & transpPmapTinted) && (flags & tintNeeded)) |
1471 | if (!(background_flags & transpPmapTinted) && (flags & tintNeeded)) |
1472 | { |
1472 | { |
1473 | rgba c (rgba::MAX_CC,rgba::MAX_CC,rgba::MAX_CC); |
1473 | rgba c (rgba::MAX_CC,rgba::MAX_CC,rgba::MAX_CC); |
1474 | if (flags & tintSet) |
1474 | if (flags & tintSet) |
1475 | tint.get (c); |
1475 | tint.get (c); |
1476 | ShadeXImage (target, result, shade, c.r, c.g, c.b); |
1476 | ShadeXImage (DefaultVisual (target->dpy, target->display->screen), result, shade, c.r, c.g, c.b); |
1477 | } |
1477 | } |
1478 | # endif |
1478 | # endif |
1479 | |
1479 | |
1480 | GC gc = XCreateGC (target->dpy, target->vt, 0UL, NULL); |
1480 | GC gc = XCreateGC (target->dpy, target->vt, 0UL, NULL); |
1481 | |
1481 | |
… | |
… | |
1616 | /* taken from aterm-0.4.2 */ |
1616 | /* taken from aterm-0.4.2 */ |
1617 | |
1617 | |
1618 | typedef uint32_t RUINT32T; |
1618 | typedef uint32_t RUINT32T; |
1619 | |
1619 | |
1620 | static void |
1620 | static void |
1621 | ShadeXImage(rxvt_term *term, XImage *srcImage, int shade, int rm, int gm, int bm) |
1621 | ShadeXImage(Visual *visual, XImage *srcImage, int shade, int rm, int gm, int bm) |
1622 | { |
1622 | { |
1623 | int sh_r, sh_g, sh_b; |
1623 | int sh_r, sh_g, sh_b; |
1624 | RUINT32T mask_r, mask_g, mask_b; |
1624 | RUINT32T mask_r, mask_g, mask_b; |
1625 | RUINT32T *lookup, *lookup_r, *lookup_g, *lookup_b; |
1625 | RUINT32T *lookup, *lookup_r, *lookup_g, *lookup_b; |
1626 | unsigned int lower_lim_r, lower_lim_g, lower_lim_b; |
1626 | unsigned int lower_lim_r, lower_lim_g, lower_lim_b; |
1627 | unsigned int upper_lim_r, upper_lim_g, upper_lim_b; |
1627 | unsigned int upper_lim_r, upper_lim_g, upper_lim_b; |
1628 | int i; |
1628 | int i; |
1629 | |
|
|
1630 | Visual *visual = term->visual; |
|
|
1631 | |
1629 | |
1632 | if (visual->c_class != TrueColor || srcImage->format != ZPixmap) return; |
1630 | if (visual->c_class != TrueColor || srcImage->format != ZPixmap) return; |
1633 | |
1631 | |
1634 | /* for convenience */ |
1632 | /* for convenience */ |
1635 | mask_r = visual->red_mask; |
1633 | mask_r = visual->red_mask; |