--- rxvt-unicode/src/background.h 2010/08/31 15:14:06 1.19 +++ rxvt-unicode/src/background.h 2010/10/04 14:31:01 1.24 @@ -11,6 +11,10 @@ # undef max #endif +#ifdef HAVE_PIXBUF +#include +#endif + #if defined(BG_IMAGE_FROM_FILE) || defined(ENABLE_TRANSPARENCY) # define HAVE_BG_PIXMAP 1 /* to simplify further usage */ struct bgPixmap_t @@ -21,7 +25,8 @@ enum { geometrySet = 1 << 0, propScale = 1 << 1, - geometryFlags = geometrySet | propScale, + rootAlign = 1 << 2, + geometryFlags = geometrySet | propScale | rootAlign, tintSet = 1 << 8, tintNeeded = 1 << 9, @@ -37,6 +42,7 @@ isVtOrigin = 1 << 18, /* if set pixmap has origin at corner of vt window instead of parent[0]! */ hasChanged = 1 << 19, + sizeSensitive = 1 << 20, }; unsigned int flags; @@ -60,6 +66,11 @@ ASImage *original_asim; # endif +# ifdef HAVE_PIXBUF + GdkPixbuf *pixbuf; +# endif + + void get_image_geometry (int image_width, int image_height, int &w, int &h, int &x, int &y); bool render_image (unsigned long background_flags); bool have_image; @@ -69,7 +80,6 @@ defaultScale = windowScale, centerAlign = 50, defaultAlign = centerAlign, - rootAlign = -10000 }; unsigned int h_scale, v_scale;/* percents of the window size */ @@ -105,6 +115,7 @@ bool set_tint (rxvt_color &new_tint); bool unset_tint (); bool set_shade (const char *shade_str); + bool tint_pixmap (Pixmap pixmap); bool set_root_pixmap (); unsigned long make_transparency_pixmap ();/* returns combination of the transpTransformations flags */