… | |
… | |
50 | * Pixmap geometry string interpretation : |
50 | * Pixmap geometry string interpretation : |
51 | * Each geometry string contains zero or one scale/position |
51 | * Each geometry string contains zero or one scale/position |
52 | * adjustment and may optionally be followed by a colon and one or more |
52 | * adjustment and may optionally be followed by a colon and one or more |
53 | * colon-delimited pixmap operations. |
53 | * colon-delimited pixmap operations. |
54 | * The following table shows the valid geometry strings and their |
54 | * The following table shows the valid geometry strings and their |
55 | * affects on the background image : |
55 | * effects on the background image : |
56 | * |
56 | * |
57 | * WxH+X+Y Set scaling to W% by H%, and position to X% by Y%. |
57 | * WxH+X+Y Set scaling to W% by H%, and position to X% by Y%. |
58 | * W and H are percentages of the terminal window size. |
58 | * W and H are percentages of the terminal window size. |
59 | * X and Y are also percentages; e.g., +50+50 centers |
59 | * X and Y are also percentages; e.g., +50+50 centers |
60 | * the image in the window. |
60 | * the image in the window. |
… | |
… | |
554 | } |
554 | } |
555 | else |
555 | else |
556 | { |
556 | { |
557 | /* if blending background and image - pixmap has to be sized same as target window */ |
557 | /* if blending background and image - pixmap has to be sized same as target window */ |
558 | ASImageLayer *layers = create_image_layers (2); |
558 | ASImageLayer *layers = create_image_layers (2); |
559 | ASImage *merged_im = NULL; |
|
|
560 | |
559 | |
561 | layers[0].im = background; |
560 | layers[0].im = background; |
562 | layers[0].clip_width = target_width; |
561 | layers[0].clip_width = target_width; |
563 | layers[0].clip_height = target_height; |
562 | layers[0].clip_height = target_height; |
564 | layers[0].tint = background_tint; |
563 | layers[0].tint = background_tint; |
… | |
… | |
682 | target->asimman = create_generic_imageman (target->rs[Rs_path]); |
681 | target->asimman = create_generic_imageman (target->rs[Rs_path]); |
683 | |
682 | |
684 | if (const char *p = strchr (file, ';')) |
683 | if (const char *p = strchr (file, ';')) |
685 | { |
684 | { |
686 | size_t len = p - file; |
685 | size_t len = p - file; |
687 | char *f = (char *)malloc (len + 1); |
686 | char *f = rxvt_temp_buf<char> (len + 1); |
688 | memcpy (f, file, len); |
687 | memcpy (f, file, len); |
689 | f[len] = '\0'; |
688 | f[len] = '\0'; |
690 | original_asim = get_asimage (target->asimman, f, 0xFFFFFFFF, 100); |
689 | original_asim = get_asimage (target->asimman, f, 0xFFFFFFFF, 100); |
691 | free (f); |
|
|
692 | } |
690 | } |
693 | else |
691 | else |
694 | original_asim = get_asimage (target->asimman, file, 0xFFFFFFFF, 100); |
692 | original_asim = get_asimage (target->asimman, file, 0xFFFFFFFF, 100); |
695 | |
693 | |
696 | return original_asim; |
694 | return original_asim; |