--- rxvt-unicode/src/perl/background 2012/06/14 18:13:19 1.58 +++ rxvt-unicode/src/perl/background 2012/06/15 13:21:59 1.60 @@ -287,7 +287,7 @@ sub solid($;$$) { my $colour = pop; - my $img = $self->new_img (urxvt::PictStandardARGB32, $_[0] || 1, $_[1] || 1); + my $img = $self->new_img (urxvt::PictStandardARGB32, 0, 0, $_[0] || 1, $_[1] || 1); $img->fill ($colour); $img } @@ -313,8 +313,8 @@ sub merge(@) { # rather annoyingly clumsy, but optimisation is for another time - my $x0 = 1e9; - my $y0 = 1e9; + my $x0 = +1e9; + my $y0 = +1e9; my $x1 = -1e9; my $y1 = -1e9; @@ -327,14 +327,14 @@ $x += $w; $y += $h; - $x1 = $x if $x1 > $x; - $y1 = $y if $y1 > $y; + $x1 = $x if $x1 < $x; + $y1 = $y if $y1 < $y; } - my $base = $self->new_img ($x0, $y0, $x1 - $x0, $y1 - $y0); + my $base = $self->new_img (urxvt::PictStandardARGB32, $x0, $y0, $x1 - $x0, $y1 - $y0); $base->fill ([0, 0, 0, 0]); - $base->blend (1., $_) + $base->draw ($_) for @_; $base @@ -699,8 +699,8 @@ sub rotate($$$$) { my $img = pop; $img->rotate ( - $_[0] * $img->w, - $_[1] * $img->h, + $_[0] * ($img->w + $img->x), + $_[1] * ($img->h + $img->y), $_[2] * (3.14159265 / 180), ) }