X-Git-Url: http://git.imager.perl.org/imager.git/blobdiff_plain/2b405c9e0e655ef3c1a219f53195da7ddb6eadbc..2b92bccfc18b589443ee70d83be1ed72c17db9a9:/ICO/ICO.pm diff --git a/ICO/ICO.pm b/ICO/ICO.pm index 1b187a9e..c560a57f 100644 --- a/ICO/ICO.pm +++ b/ICO/ICO.pm @@ -4,17 +4,10 @@ use Imager; use vars qw($VERSION @ISA); BEGIN { - $VERSION = "0.01"; + $VERSION = "0.06"; - eval { - require XSLoader; - XSLoader::load('Imager::File::ICO', $VERSION); - 1; - } or do { - require DynaLoader; - push @ISA, 'DynaLoader'; - bootstrap Imager::File::ICO $VERSION; - }; + require XSLoader; + XSLoader::load('Imager::File::ICO', $VERSION); } Imager->register_reader @@ -23,7 +16,13 @@ Imager->register_reader single => sub { my ($im, $io, %hsh) = @_; - $im->{IMG} = i_readico_single($io, $hsh{page} || 0); + my $masked = + exists $hsh{ico_masked} ? $hsh{ico_masked} : 1; + my $alpha_masked = + exists $hsh{ico_alpha_masked} ? $hsh{ico_alpha_masked} : 0; + + $im->{IMG} = i_readico_single($io, $hsh{page} || 0, $masked, + $alpha_masked); unless ($im->{IMG}) { $im->_set_error(Imager->_error_as_msg); @@ -35,7 +34,9 @@ Imager->register_reader sub { my ($io, %hsh) = @_; - my @imgs = i_readico_multi($io); + my $masked = + exists $hsh{ico_masked} ? $hsh{ico_masked} : 1; + my @imgs = i_readico_multi($io, $masked); unless (@imgs) { Imager->_set_error(Imager->_error_as_msg); return; @@ -53,7 +54,12 @@ Imager->register_reader single => sub { my ($im, $io, %hsh) = @_; - $im->{IMG} = i_readico_single($io, $hsh{page} || 0); + my $masked = + exists $hsh{ico_masked} ? $hsh{ico_masked} : 1; + my $alpha_masked = + exists $hsh{ico_alpha_masked} ? $hsh{ico_alpha_masked} : 0; + $im->{IMG} = i_readico_single($io, $hsh{page} || 0, $masked, + $alpha_masked); unless ($im->{IMG}) { $im->_set_error(Imager->_error_as_msg); @@ -65,7 +71,9 @@ Imager->register_reader sub { my ($io, %hsh) = @_; - my @imgs = i_readico_multi($io); + my $masked = + exists $hsh{ico_masked} ? $hsh{ico_masked} : 1; + my @imgs = i_readico_multi($io, $masked); unless (@imgs) { Imager->_set_error(Imager->_error_as_msg); return; @@ -159,7 +167,7 @@ Imager's MS Icon support is documented in L. =head1 AUTHOR -Tony Cook +Tony Cook =head1 SEE ALSO