9 # include <afterimage.h>
14 #if defined(BG_IMAGE_FROM_FILE) || defined(ENABLE_TRANSPARENCY)
15 # define HAVE_BG_PIXMAP 1 /* to simplify further usage */
24 geometryFlags = geometrySet | propScale,
28 tintWholesome = 1 << 10,
29 tintServerSide = 1 << 11,
30 tintFlags = tintSet | tintServerSide | tintNeeded | tintWholesome,
33 blurServerSide = 1 << 13, /* this doesn't work yet */
35 isTransparent = 1 << 16,
37 isVtOrigin = 1 << 18, /* if set pixmap has origin at corner of
38 vt window instead of parent[0]! */
45 transpPmapTiled = 1 << 0,
46 transpPmapTinted = tintNeeded,
47 transpPmapBlured = blurNeeded,
48 transpTransformations = tintNeeded | blurNeeded,
49 }; /* these flags are returned by make_transparency_pixmap if called */
51 bool check_clearChanged ()
53 bool r = flags & hasChanged;
58 # ifdef BG_IMAGE_FROM_FILE
59 # ifdef HAVE_AFTERIMAGE
60 ASImage *original_asim;
61 bool render_asim (ASImage *background, ARGB32 background_tint);
67 defaultScale = windowScale,
69 defaultAlign = centerAlign,
73 unsigned int h_scale, v_scale;/* percents of the window size */
74 int h_align, v_align; /* percents of the window size:
75 0 - left align, 50 - center, 100 - right */
76 void unset_geometry ()
78 flags = flags & ~geometryFlags;
80 bool set_geometry (const char *geom);
81 void set_defaultGeometry ()
83 h_scale = v_scale = defaultScale;
84 h_align = v_align = defaultAlign;
88 bool set_file (const char *file);
89 # endif /* BG_IMAGE_FROM_FILE */
92 bool set_target (rxvt_term *new_target);
94 # ifdef ENABLE_TRANSPARENCY
95 int root_depth; /* obtained when target is set */
96 Pixmap root_pixmap; /* current root pixmap set */
99 int h_blurRadius, v_blurRadius;
101 bool set_transparent ();
102 bool set_blur_radius (const char *geom);
103 bool set_tint (rxvt_color &new_tint);
105 bool set_shade (const char *shade_str);
106 bool set_root_pixmap ();
108 unsigned long make_transparency_pixmap ();/* returns combination of the transpTransformations flags */
110 double invalid_since, valid_since;
113 unsigned int pmap_width, pmap_height;
114 unsigned int pmap_depth;
116 bool window_size_sensitive ();
117 bool window_position_sensitive ();
119 bool is_parentOrigin ()
121 return !(flags & isVtOrigin);
124 bool need_client_side_rendering ();
129 if (!(flags & isInvalid))
132 invalid_since = ev::now ();
137 # undef HAVE_BG_PIXMAP
142 #endif /* _BACKGROUND_H_ */