… | |
… | |
2 | |
2 | |
3 | #:META:X_RESOURCE:%.expr:string:background expression |
3 | #:META:X_RESOURCE:%.expr:string:background expression |
4 | #:META:X_RESOURCE:%.enable:boolean:some boolean |
4 | #:META:X_RESOURCE:%.enable:boolean:some boolean |
5 | #:META:X_RESOURCE:%.extra.:value:extra config |
5 | #:META:X_RESOURCE:%.extra.:value:extra config |
6 | |
6 | |
7 | our $EXPR = 'move X, Y, load "MagnoliaAlpha.png"'; |
7 | our $EXPR = 'repeat_none move W * 0.1, -H * 0.1, resize W * 0.5, H * 0.5, load "MagnoliaAlpha.png"'; |
8 | #$EXPR = ' |
8 | #$EXPR = ' |
9 | # rotate W, H, 50, 50, counter 1/59.95, repeat_mirror, |
9 | # rotate W, H, 50, 50, counter 1/59.95, repeat_mirror, |
10 | # clip X, Y, W, H, repeat_mirror, |
10 | # clip X, Y, W, H, repeat_mirror, |
11 | # load "/root/pix/das_fette_schwein.jpg" |
11 | # load "/root/pix/das_fette_schwein.jpg" |
12 | #'; |
12 | #'; |
… | |
… | |
90 | |
90 | |
91 | # sub clone($) { |
91 | # sub clone($) { |
92 | # $_[0]->clone |
92 | # $_[0]->clone |
93 | # } |
93 | # } |
94 | |
94 | |
|
|
95 | sub repeat_none($) { |
|
|
96 | my $img = $_[0]->clone; |
|
|
97 | $img->repeat_mode (urxvt::RepeatNone); |
|
|
98 | $img |
|
|
99 | } |
|
|
100 | |
95 | sub clip($;$$;$$) { |
101 | sub clip($;$$;$$) { |
96 | my $img = pop; |
102 | my $img = pop; |
|
|
103 | my $h = pop || H; |
|
|
104 | my $w = pop || W; |
97 | $img->sub_rect ($_[0], $_[1], $_[2] || W, $_[3] || H) |
105 | $img->sub_rect ($_[0], $_[1], $w, $h) |
98 | } |
106 | } |
99 | |
107 | |
100 | sub resize($$$) { |
108 | sub resize($$$) { |
101 | my $img = pop; |
109 | my $img = pop; |
102 | $img->scale ($_[0], $_[1]) |
110 | $img->scale ($_[0], $_[1]) |
… | |
… | |
199 | local $new = my $state = $self->{state} = {}; |
207 | local $new = my $state = $self->{state} = {}; |
200 | |
208 | |
201 | ($l, $t, $w, $h) = |
209 | ($l, $t, $w, $h) = |
202 | $self->get_geometry; |
210 | $self->get_geometry; |
203 | |
211 | |
|
|
212 | warn "$l,$t,$w,$h\n";#d# |
|
|
213 | |
204 | # evaluate user expression |
214 | # evaluate user expression |
205 | |
215 | |
206 | my $img = eval { $self->{expr}->() }; |
216 | my $img = eval { $self->{expr}->() }; |
207 | warn $@ if $@;#d# |
217 | warn $@ if $@;#d# |
208 | die if !UNIVERSAL::isa $img, "urxvt::img"; |
218 | die if !UNIVERSAL::isa $img, "urxvt::img"; |