… | |
… | |
136 | # endif |
136 | # endif |
137 | |
137 | |
138 | return false; |
138 | return false; |
139 | } |
139 | } |
140 | |
140 | |
141 | bool |
141 | bool |
142 | bgPixmap_t::window_position_sensitive () |
142 | bgPixmap_t::window_position_sensitive () |
143 | { |
143 | { |
144 | # ifdef ENABLE_TRANSPARENCY |
144 | # ifdef ENABLE_TRANSPARENCY |
145 | if (flags & isTransparent) |
145 | if (flags & isTransparent) |
146 | return true; |
146 | return true; |
147 | # endif |
147 | # endif |
… | |
… | |
259 | int geom_flags = 0, changed = 0; |
259 | int geom_flags = 0, changed = 0; |
260 | int x = 0, y = 0; |
260 | int x = 0, y = 0; |
261 | unsigned int w = 0, h = 0; |
261 | unsigned int w = 0, h = 0; |
262 | unsigned int n; |
262 | unsigned int n; |
263 | unsigned long new_flags = (flags & (~geometryFlags)); |
263 | unsigned long new_flags = (flags & (~geometryFlags)); |
264 | char *p; |
264 | const char *p; |
265 | # define MAXLEN_GEOM 256 /* could be longer than regular geometry string */ |
265 | # define MAXLEN_GEOM 256 /* could be longer than regular geometry string */ |
266 | |
266 | |
267 | if (geom == NULL) |
267 | if (geom == NULL) |
268 | return false; |
268 | return false; |
269 | |
269 | |
… | |
… | |
495 | new_pmap_height = background->height; |
495 | new_pmap_height = background->height; |
496 | result = background; |
496 | result = background; |
497 | |
497 | |
498 | if (background_tint != TINT_LEAVE_SAME) |
498 | if (background_tint != TINT_LEAVE_SAME) |
499 | { |
499 | { |
500 | ASImage* tmp = tile_asimage (target->asv, background, 0, 0, |
500 | ASImage *tmp = tile_asimage (target->asv, background, 0, 0, |
501 | target_width, target_height, background_tint, |
501 | target_width, target_height, background_tint, |
502 | ASA_XImage, 100, ASIMAGE_QUALITY_DEFAULT); |
502 | ASA_XImage, 100, ASIMAGE_QUALITY_DEFAULT); |
503 | if (tmp) |
503 | if (tmp) |
504 | result = tmp; |
504 | result = tmp; |
505 | } |
505 | } |
… | |
… | |
533 | if (h_scale == 0 || v_scale == 0) |
533 | if (h_scale == 0 || v_scale == 0) |
534 | { |
534 | { |
535 | ASImage *tmp = tile_asimage (target->asv, result, |
535 | ASImage *tmp = tile_asimage (target->asv, result, |
536 | (h_scale > 0) ? 0 : (int)result->width - x, |
536 | (h_scale > 0) ? 0 : (int)result->width - x, |
537 | (v_scale > 0) ? 0 : (int)result->height - y, |
537 | (v_scale > 0) ? 0 : (int)result->height - y, |
538 | new_pmap_width, |
538 | new_pmap_width, |
539 | new_pmap_height, |
539 | new_pmap_height, |
540 | TINT_LEAVE_SAME, ASA_XImage, |
540 | TINT_LEAVE_SAME, ASA_XImage, |
541 | 100, ASIMAGE_QUALITY_DEFAULT); |
541 | 100, ASIMAGE_QUALITY_DEFAULT); |
542 | if (tmp) |
542 | if (tmp) |
543 | { |
543 | { |
… | |
… | |
675 | { |
675 | { |
676 | # ifdef HAVE_AFTERIMAGE |
676 | # ifdef HAVE_AFTERIMAGE |
677 | if (!target->asimman) |
677 | if (!target->asimman) |
678 | target->asimman = create_generic_imageman (target->rs[Rs_path]); |
678 | target->asimman = create_generic_imageman (target->rs[Rs_path]); |
679 | |
679 | |
680 | if (char *f = strchr (file, ';')) |
680 | if (const char *p = strchr (file, ';')) |
681 | { |
681 | { |
682 | size_t len = f - file; |
682 | size_t len = p - file; |
683 | f = (char *)malloc (len + 1); |
683 | char *f = (char *)malloc (len + 1); |
684 | memcpy (f, file, len); |
684 | memcpy (f, file, len); |
685 | f[len] = '\0'; |
685 | f[len] = '\0'; |
686 | original_asim = get_asimage (target->asimman, f, 0xFFFFFFFF, 100); |
686 | original_asim = get_asimage (target->asimman, f, 0xFFFFFFFF, 100); |
687 | free (f); |
687 | free (f); |
688 | } |
688 | } |
… | |
… | |
1108 | return false; |
1108 | return false; |
1109 | } |
1109 | } |
1110 | # endif /* ENABLE_TRANSPARENCY */ |
1110 | # endif /* ENABLE_TRANSPARENCY */ |
1111 | |
1111 | |
1112 | # ifndef HAVE_AFTERIMAGE |
1112 | # ifndef HAVE_AFTERIMAGE |
1113 | static void ShadeXImage(rxvt_term *term, XImage* srcImage, int shade, int rm, int gm, int bm); |
1113 | static void ShadeXImage(rxvt_term *term, XImage *srcImage, int shade, int rm, int gm, int bm); |
1114 | # endif |
1114 | # endif |
1115 | |
1115 | |
1116 | bool |
1116 | bool |
1117 | bgPixmap_t::render () |
1117 | bgPixmap_t::render () |
1118 | { |
1118 | { |
… | |
… | |
1165 | as_tint = shading2tint32 (&as_shade); |
1165 | as_tint = shading2tint32 (&as_shade); |
1166 | } |
1166 | } |
1167 | |
1167 | |
1168 | if (!(background_flags & transpPmapBlured) && (flags & blurNeeded) && background != NULL) |
1168 | if (!(background_flags & transpPmapBlured) && (flags & blurNeeded) && background != NULL) |
1169 | { |
1169 | { |
1170 | ASImage* tmp = blur_asimage_gauss (target->asv, background, h_blurRadius, v_blurRadius, 0xFFFFFFFF, |
1170 | ASImage *tmp = blur_asimage_gauss (target->asv, background, h_blurRadius, v_blurRadius, 0xFFFFFFFF, |
1171 | (original_asim == NULL || tint == TINT_LEAVE_SAME)?ASA_XImage:ASA_ASImage, |
1171 | (original_asim == NULL || tint == TINT_LEAVE_SAME)?ASA_XImage:ASA_ASImage, |
1172 | 100, ASIMAGE_QUALITY_DEFAULT); |
1172 | 100, ASIMAGE_QUALITY_DEFAULT); |
1173 | if (tmp) |
1173 | if (tmp) |
1174 | { |
1174 | { |
1175 | destroy_asimage (&background); |
1175 | destroy_asimage (&background); |
… | |
… | |
1327 | |
1327 | |
1328 | /* don't want Expose on the parent or vt. It is better to use |
1328 | /* don't want Expose on the parent or vt. It is better to use |
1329 | scr_touch or we get a great deal of flicker otherwise: */ |
1329 | scr_touch or we get a great deal of flicker otherwise: */ |
1330 | XClearWindow (target->dpy, target->parent[0]); |
1330 | XClearWindow (target->dpy, target->parent[0]); |
1331 | |
1331 | |
1332 | if (target->scrollBar.win) |
1332 | if (target->scrollBar.state && target->scrollBar.win) |
1333 | { |
1333 | { |
1334 | target->scrollBar.state = STATE_IDLE; |
1334 | target->scrollBar.state = STATE_IDLE; |
1335 | target->scrollBar.show (0); |
1335 | target->scrollBar.show (0); |
1336 | } |
1336 | } |
1337 | |
1337 | |
… | |
… | |
1346 | /* taken from aterm-0.4.2 */ |
1346 | /* taken from aterm-0.4.2 */ |
1347 | |
1347 | |
1348 | typedef uint32_t RUINT32T; |
1348 | typedef uint32_t RUINT32T; |
1349 | |
1349 | |
1350 | static void |
1350 | static void |
1351 | ShadeXImage(rxvt_term *term, XImage* srcImage, int shade, int rm, int gm, int bm) |
1351 | ShadeXImage(rxvt_term *term, XImage *srcImage, int shade, int rm, int gm, int bm) |
1352 | { |
1352 | { |
1353 | int sh_r, sh_g, sh_b; |
1353 | int sh_r, sh_g, sh_b; |
1354 | RUINT32T mask_r, mask_g, mask_b; |
1354 | RUINT32T mask_r, mask_g, mask_b; |
1355 | RUINT32T *lookup, *lookup_r, *lookup_g, *lookup_b; |
1355 | RUINT32T *lookup, *lookup_r, *lookup_g, *lookup_b; |
1356 | unsigned int lower_lim_r, lower_lim_g, lower_lim_b; |
1356 | unsigned int lower_lim_r, lower_lim_g, lower_lim_b; |