… | |
… | |
230 | defaultAlign = centerAlign, |
230 | defaultAlign = centerAlign, |
231 | }; |
231 | }; |
232 | |
232 | |
233 | struct rxvt_image |
233 | struct rxvt_image |
234 | { |
234 | { |
|
|
235 | int id; |
|
|
236 | unsigned short alpha; |
235 | uint8_t flags; |
237 | uint8_t flags; |
236 | unsigned int h_scale, v_scale; /* percents of the window size */ |
238 | unsigned int h_scale, v_scale; /* percents of the window size */ |
237 | int h_align, v_align; /* percents of the window size: |
239 | int h_align, v_align; /* percents of the window size: |
238 | 0 - left align, 50 - center, 100 - right */ |
240 | 0 - left align, 50 - center, 100 - right */ |
239 | |
241 | |
240 | # ifdef HAVE_PIXBUF |
242 | # ifdef HAVE_PIXBUF |
241 | GdkPixbuf *pixbuf; |
243 | auto_ptr<GdkPixbuf> pixbuf; |
242 | |
|
|
243 | ~rxvt_image () |
|
|
244 | { |
|
|
245 | if (pixbuf) |
|
|
246 | g_object_unref (pixbuf); |
|
|
247 | } |
|
|
248 | |
244 | |
249 | int width () |
245 | int width () |
250 | { |
246 | { |
251 | return gdk_pixbuf_get_width (pixbuf); |
247 | return gdk_pixbuf_get_width (pixbuf); |
252 | } |
248 | } |
… | |
… | |
254 | { |
250 | { |
255 | return gdk_pixbuf_get_height (pixbuf); |
251 | return gdk_pixbuf_get_height (pixbuf); |
256 | } |
252 | } |
257 | # endif |
253 | # endif |
258 | |
254 | |
|
|
255 | rxvt_image (); |
|
|
256 | bool set_file_geometry (const char *file); |
259 | bool set_file (const char *file); |
257 | bool set_file (const char *file); |
260 | bool set_geometry (const char *geom, bool update = false); |
258 | bool set_geometry (const char *geom, bool update = false); |
261 | void set_default_geometry () |
|
|
262 | { |
|
|
263 | h_scale = v_scale = defaultScale; |
|
|
264 | h_align = v_align = defaultAlign; |
|
|
265 | flags |= IM_IS_SIZE_SENSITIVE; |
|
|
266 | } |
|
|
267 | }; |
259 | }; |
268 | # endif |
260 | # endif |
269 | #endif |
261 | #endif |
270 | |
262 | |
271 | /* |
263 | /* |
… | |
… | |
1159 | }; |
1151 | }; |
1160 | |
1152 | |
1161 | uint8_t bg_flags; |
1153 | uint8_t bg_flags; |
1162 | |
1154 | |
1163 | # ifdef BG_IMAGE_FROM_FILE |
1155 | # ifdef BG_IMAGE_FROM_FILE |
|
|
1156 | vector<rxvt_image> image_vec; |
1164 | rxvt_image bg_image; |
1157 | rxvt_image *new_image () |
|
|
1158 | { |
|
|
1159 | image_vec.resize (image_vec.size () + 1); |
|
|
1160 | return &image_vec.back (); |
|
|
1161 | } |
1165 | void get_image_geometry (rxvt_image &image, int &w, int &h, int &x, int &y); |
1162 | void get_image_geometry (rxvt_image &image, int &w, int &h, int &x, int &y); |
1166 | bool render_image (rxvt_image &image); |
1163 | bool render_image (rxvt_image &image); |
|
|
1164 | void parse_image (int id, const char *type, const char *arg); |
1167 | # endif |
1165 | # endif |
1168 | |
1166 | |
1169 | # ifdef ENABLE_TRANSPARENCY |
1167 | # ifdef ENABLE_TRANSPARENCY |
1170 | Pixmap root_pixmap; /* current root pixmap set */ |
1168 | Pixmap root_pixmap; /* current root pixmap set */ |
1171 | rxvt_color tint; |
1169 | rxvt_color tint; |
… | |
… | |
1205 | } |
1203 | } |
1206 | #endif |
1204 | #endif |
1207 | #ifdef HAVE_PIXBUF |
1205 | #ifdef HAVE_PIXBUF |
1208 | bool pixbuf_to_pixmap (GdkPixbuf *pixbuf, Pixmap pixmap, GC gc, |
1206 | bool pixbuf_to_pixmap (GdkPixbuf *pixbuf, Pixmap pixmap, GC gc, |
1209 | int src_x, int src_y, int dst_x, int dst_y, |
1207 | int src_x, int src_y, int dst_x, int dst_y, |
1210 | unsigned int width, unsigned int height); |
1208 | unsigned int width, unsigned int height, bool argb); |
1211 | #endif |
1209 | #endif |
1212 | |
1210 | |
1213 | #if ENABLE_OVERLAY |
1211 | #if ENABLE_OVERLAY |
1214 | overlay_base ov; |
1212 | overlay_base ov; |
1215 | |
1213 | |
… | |
… | |
1575 | const char **get_options (int argc, const char *const *argv); |
1573 | const char **get_options (int argc, const char *const *argv); |
1576 | int parse_keysym (const char *str, const char *arg); |
1574 | int parse_keysym (const char *str, const char *arg); |
1577 | const char *x_resource (const char *name); |
1575 | const char *x_resource (const char *name); |
1578 | void extract_resources (); |
1576 | void extract_resources (); |
1579 | void extract_keysym_resources (); |
1577 | void extract_keysym_resources (); |
|
|
1578 | void find_resources (const char *n_prefix, const char *c_prefix, int mode, |
|
|
1579 | Bool (*proc)(XrmDatabase *, XrmBindingList, XrmQuarkList, XrmRepresentation *, XrmValue *, XPointer)); |
|
|
1580 | bool parse_bool_resource (const char *str) |
|
|
1581 | { |
|
|
1582 | return (!strcasecmp (str, "TRUE") |
|
|
1583 | || !strcasecmp (str, "YES") |
|
|
1584 | || !strcasecmp (str, "ON") |
|
|
1585 | || !strcasecmp (str, "1")); |
|
|
1586 | } |
1580 | }; |
1587 | }; |
1581 | |
1588 | |
1582 | #endif /* _RXVT_H_ */ |
1589 | #endif /* _RXVT_H_ */ |
1583 | |
1590 | |