… | |
… | |
597 | composer cc (this, new rxvt_img (s, format, 0, 0, w * 2, h, repeat)); |
597 | composer cc (this, new rxvt_img (s, format, 0, 0, w * 2, h, repeat)); |
598 | |
598 | |
599 | // why the hell does XRenderSetPictureTransform want a writable matrix :( |
599 | // why the hell does XRenderSetPictureTransform want a writable matrix :( |
600 | // that keeps us from just static const'ing this matrix. |
600 | // that keeps us from just static const'ing this matrix. |
601 | XTransform h_double = { |
601 | XTransform h_double = { |
602 | 0x8000, 0, 0, |
602 | 0x08000, 0, 0, |
603 | 0, 0x1000, 0, |
603 | 0, 0x10000, 0, |
604 | 0, 0, 0x1000 |
604 | 0, 0, 0x10000 |
605 | }; |
605 | }; |
606 | |
606 | |
607 | XRenderSetPictureFilter (cc.dpy, cc.src, "nearest", 0, 0); |
607 | XRenderSetPictureFilter (cc.dpy, cc.src, "nearest", 0, 0); |
608 | XRenderSetPictureTransform (cc.dpy, cc.src, &h_double); |
608 | XRenderSetPictureTransform (cc.dpy, cc.src, &h_double); |
609 | XRenderComposite (cc.dpy, PictOpSrc, cc.src, None, cc.dst, 0, 0, 0, 0, 0, 0, w * 2, h); |
609 | XRenderComposite (cc.dpy, PictOpSrc, cc.src, None, cc.dst, 0, 0, 0, 0, 0, 0, w * 2, h); |
… | |
… | |
631 | XDoubleToFixed (3), XDoubleToFixed (1), |
631 | XDoubleToFixed (3), XDoubleToFixed (1), |
632 | XDoubleToFixed (0), XDoubleToFixed (mul), XDoubleToFixed (add) |
632 | XDoubleToFixed (0), XDoubleToFixed (mul), XDoubleToFixed (add) |
633 | }; |
633 | }; |
634 | |
634 | |
635 | XTransform h_halve = { |
635 | XTransform h_halve = { |
636 | 0x2000, 0, 0, |
636 | 0x20000, 0, 0, |
637 | 0, 0x1000, 0, |
637 | 0, 0x10000, 0, |
638 | 0, 0, 0x1000 |
638 | 0, 0, 0x10000 |
639 | }; |
639 | }; |
640 | |
640 | |
641 | XRenderSetPictureFilter (cc.dpy, cc2.src, "nearest", 0, 0); |
641 | XRenderSetPictureFilter (cc.dpy, cc2.src, "nearest", 0, 0); |
642 | XRenderSetPictureTransform (cc.dpy, cc2.src, &h_halve); |
642 | XRenderSetPictureTransform (cc.dpy, cc2.src, &h_halve); |
643 | XRenderSetPictureFilter (cc.dpy, cc2.src, FilterConvolution, kernel, ecb_array_length (kernel)); |
643 | XRenderSetPictureFilter (cc.dpy, cc2.src, FilterConvolution, kernel, ecb_array_length (kernel)); |