--- rxvt-unicode/src/rxvtperl.xs 2012/01/07 12:01:30 1.149 +++ rxvt-unicode/src/rxvtperl.xs 2012/06/03 15:54:05 1.156 @@ -25,11 +25,12 @@ #include #include #undef line_t +#undef bool // perl defines it's own bool type, except with g++... what a trap #include "../config.h" -#include -#include +#include +#include #include "unistd.h" @@ -50,6 +51,24 @@ ///////////////////////////////////////////////////////////////////////////// +typedef char * octet_string; +typedef char * utf8_string; +typedef SV * urxvt_color; + +typedef GdkPixbuf * urxvt__pixbuf; +typedef rxvt_img * urxvt__img; + +///////////////////////////////////////////////////////////////////////////// + +static void +parse_color (rxvt_screen *s, rxvt_color &c, SV *sv) +{ + //TODO: support component stuff + c.set (s, SvPVbyte_nolen (sv)); +} + +///////////////////////////////////////////////////////////////////////////// + static wchar_t * sv2wcs (SV *sv) { @@ -1545,7 +1564,7 @@ { THIS->set_option (optval, set); - if (THIS->env_colorfgbg [0]) // avoid doing this before START + if (THIS->init_done) // avoid doing this before START switch (optval) { case Opt_skipBuiltinGlyphs: @@ -1555,6 +1574,11 @@ THIS->want_refresh = 1; THIS->refresh_check (); break; +#ifdef CURSOR_BLINK + case Opt_cursorBlink: + THIS->cursor_blink_reset (); + break; +#endif case Opt_cursorUnderline: THIS->want_refresh = 1; @@ -1916,3 +1940,58 @@ INCLUDE: $PERL s, rc, c); + self->fill (rc); + +void blur (urxvt::img self, int rh, int rv) + CODE: + self->blur (rh, rv); + +void brightness (urxvt::img self, double r, double g, double b, double a = 1.) + CODE: + self->brightness (r, g, b, a); + +void contrast (urxvt::img self, double r, double g, double b, double a = 1.) + CODE: + self->contrast (r, g, b, a); + +urxvt::img copy (urxvt::img self) + CODE: + RETVAL = self->copy (); + OUTPUT: + RETVAL + +urxvt::img scale (urxvt::img self, int new_width, int new_height) + CODE: + RETVAL = self->scale (new_width, new_height); + OUTPUT: + RETVAL + +# rxvt_img *transform (urxvt::img self, int new_width, int new_height, double matrix[16]); + +#endif +