--- rxvt-unicode/src/rxvtperl.xs 2012/06/06 20:55:37 1.175 +++ rxvt-unicode/src/rxvtperl.xs 2012/06/07 09:34:51 1.179 @@ -2044,6 +2044,8 @@ #if HAVE_IMG +#if 0 + rxvt_img * rxvt_term::new_img (SV *format, int width, int height) CODE: @@ -2054,6 +2056,8 @@ OUTPUT: RETVAL +#endif + #if ENABLE_TRANSPARENCY rxvt_img * @@ -2090,22 +2094,16 @@ CODE: THIS->bg_destroy (); THIS->bg_pixmap = None; - THIS->bg_flags &= ~rxvt_term::BG_NEEDS_REFRESH; + THIS->bg_flags &= ~(rxvt_term::BG_NEEDS_REFRESH | rxvt_term::BG_INHIBIT_RENDER); if (img) // TODO: cannot be false { - XRenderPictFormat *f = XRenderFindVisualFormat (THIS->dpy, THIS->visual); - rxvt_img *img2 = 0; - - if (f != img->format) - img = img2 = img->convert_to (f, THIS->pix_colors [Color_bg]); - - img->unshare (); - THIS->bg_pixmap = img->steal (); - THIS->bg_flags |= rxvt_term::BG_NEEDS_REFRESH; + img = img->reify (); + rxvt_img *img2 = img->convert_to (XRenderFindVisualFormat (THIS->dpy, THIS->visual), THIS->pix_colors [Color_bg]); + delete img; + THIS->bg_pixmap = img2->steal (); + THIS->bg_flags |= rxvt_term::BG_NEEDS_REFRESH | rxvt_term::BG_INHIBIT_RENDER; THIS->bg_valid_since = ev::now (); // TODO: extra bloat - - delete img2; } #endif @@ -2167,13 +2165,6 @@ OUTPUT: RETVAL -bool -rxvt_img::shared () - CODE: - RETVAL = THIS->shared; - OUTPUT: - RETVAL - Pixmap rxvt_img::pm () CODE: @@ -2193,39 +2184,48 @@ CODE: delete THIS; -rxvt_img * -rxvt_img::blur (int rh, int rv) +void +rxvt_img::unshare () void -rxvt_img::brightness (NV r, NV g, NV b, NV a = 1.) +rxvt_img::repeat_mode (render_repeat_mode repeat = RepeatNormal) void -rxvt_img::contrast (NV r, NV g, NV b, NV a = 1.) +rxvt_img::move (int dx, int dy) void -rxvt_img::unshare () +rxvt_img::brightness (NV r, NV g, NV b, NV a = 1.) + +void +rxvt_img::contrast (NV r, NV g, NV b, NV a = 1.) rxvt_img * rxvt_img::clone () rxvt_img * -rxvt_img::sub_rect (int x, int y, int width, int height, render_repeat_mode repeat = RepeatNormal) +rxvt_img::reify () + +rxvt_img * +rxvt_img::sub_rect (int x, int y, int width, int height) + +rxvt_img * +rxvt_img::blur (int rh, int rv) rxvt_img * -rxvt_img::transform (int new_width, int new_height, NV p11, NV p12, NV p13, NV p21, NV p22, NV p23, NV p31, NV p32, NV p33, render_repeat_mode repeat = RepeatNormal) +rxvt_img::transform (int new_width, int new_height, NV p11, NV p12, NV p13, NV p21, NV p22, NV p23, NV p31, NV p32, NV p33) INIT: double matrix[9] = { p11, p12, p13, p21, p22, p23, p31, p32, p33 }; - C_ARGS: new_width, new_height, matrix, repeat + C_ARGS: new_width, new_height, matrix rxvt_img * rxvt_img::scale (int new_width, int new_height) rxvt_img * -rxvt_img::rotate (int new_width, int new_height, int x, int y, NV phi, render_repeat_mode repeat = RepeatNormal) +rxvt_img::rotate (int new_width, int new_height, int x, int y, NV phi) #endif