CSS-SpriteBuilder
view release on metacpan or search on metacpan
Makefile.PL view on Meta::CPAN
#
# This program is free software; you can redistribute it and/or modify it
# under the same terms as Perl itself.
# Copyright 2013 Yuriy Ustushenko, all rights reserved.
use 5.008008;
use warnings;
use strict;
use ExtUtils::MakeMaker;
our @MODULES = qw( GD Image::Magick );
my $isOK = 0;
print "This module requires at least one of: ", join(", ", @MODULES), "...\n";
foreach (@MODULES){
print "Looking for $_ ... ";
eval "require "."$_";
if ($@) {
print "not found\n";
}
else {
Makefile.PL view on Meta::CPAN
$isOK = 1;
last;
}
}
our @REQUIRED;
unless ($isOK) {
print <<EOF;
This module requires you have installed on your system
one of either the Image::Magick or GD Perl modules.
It appears you have none of these.
EOF
push @REQUIRED, $MODULES[0] => 0;
}
WriteMakefile(
NAME => 'CSS::SpriteBuilder',
VERSION_FROM => 'lib/CSS/SpriteBuilder.pm',
ABSTRACT_FROM => 'lib/CSS/SpriteBuilder.pm',
$build->write_css('sprite.css');
Or
$builder->build(config => 'config.xml');
$build->write_css('sprite.css');
DESCRIPTION
This module generate CSS sprites with one of these modules:
Image::Magick or GD.
It has many useful settings and can be used for sites with complex
structure.
METHODS
new(<%args>)
my $builder = CSS::SpriteBuilder->new(<%args>);
Create instance.
lib/CSS/SpriteBuilder.pm view on Meta::CPAN
$build->write_css('sprite.css');
Or
$builder->build(config => 'config.xml');
$build->write_css('sprite.css');
=head1 DESCRIPTION
This module generate CSS sprites with one of these modules: Image::Magick or GD.
It has many useful settings and can be used for sites with complex structure.
=head1 METHODS
=head2 new(<%args>)
my $builder = CSS::SpriteBuilder->new(<%args>);
Create instance.
lib/CSS/SpriteBuilder/ImageDriver/Auto.pm view on Meta::CPAN
=head1 NAME
CSS::SpriteBuilder::ImageDriver::Auto - Class for auto select image manipulation module.
=cut
use warnings;
use strict;
our @MODULES = qw(Image::Magick GD);
TRY_LOAD: {
for (@MODULES) {
my $module = $_;
$module =~ s/:://g;
eval "use base 'CSS::SpriteBuilder::ImageDriver::$module'";
last TRY_LOAD unless $@;
}
warn "You need one of these modules: ". join(', ', @MODULES) .", will use fake-mode.";
eval "use base 'CSS::SpriteBuilder::ImageDriver::Fake'";
lib/CSS/SpriteBuilder/ImageDriver/ImageMagick.pm view on Meta::CPAN
package CSS::SpriteBuilder::ImageDriver::ImageMagick;
=head1 NAME
CSS::SpriteBuilder::ImageDriver::ImageMagick - Class for image manipulation using Image::Magick module.
=cut
use warnings;
use strict;
use Image::Magick;
use base 'CSS::SpriteBuilder::ImageDriver::Common';
sub driver { 'ImageMagick' }
sub width { $_[0]->{_image}->Get('width') || 0 }
sub height { $_[0]->{_image}->Get('height') || 0 }
sub reset {
my ($self, $image) = @_;
$self->{_image} = $image ? $image->{_image}->Clone() : Image::Magick->new()
or die "Failed to create image due: $!";
return;
}
sub read {
my ($self, $filename) = @_;
my $error = $self->{_image}->Read($filename);
die "Failed to read image from '$filename' due: $error" if $error;
( run in 1.454 second using v1.01-cache-2.11-cpan-beeb90c9504 )