]> granicus.if.org Git - imagemagick/blob - PerlMagick/quantum/quantum.pm.in
Added checks for exceptions.
[imagemagick] / PerlMagick / quantum / quantum.pm.in
1 package Image::Magick::@MAGICK_ABI_SUFFIX@;
2
3 #  Copyright 1999-2014 ImageMagick Studio LLC, a non-profit organization
4 #  dedicated to making software imaging solutions freely available.
5 #
6 #  You may not use this file except in compliance with the License.  You may
7 #  obtain a copy of the License at
8 #
9 #    http://www.imagemagick.org/script/license.php
10 #
11 #  Unless required by applicable law or agreed to in writing, software
12 #  distributed under the License is distributed on an "AS IS" BASIS,
13 #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 #  See the License for the specific language governing permissions and
15 #  limitations under the License.
16 #
17 #  Initial version, written by Kyle Shorter.
18
19 use strict;
20 use Carp;
21 use vars qw($VERSION @ISA @EXPORT $AUTOLOAD);
22
23 require 5.002;
24 require Exporter;
25 require DynaLoader;
26 require AutoLoader;
27
28 @ISA = qw(Exporter DynaLoader);
29 # Items to export into callers namespace by default. Note: do not export
30 # names by default without a very good reason. Use EXPORT_OK instead.
31 # Do not simply export all your public functions/methods/constants.
32 @EXPORT =
33   qw(
34       Success Transparent Opaque QuantumDepth QuantumRange MaxRGB
35       WarningException ResourceLimitWarning TypeWarning OptionWarning
36       DelegateWarning MissingDelegateWarning CorruptImageWarning
37       FileOpenWarning BlobWarning StreamWarning CacheWarning CoderWarning
38       ModuleWarning DrawWarning ImageWarning XServerWarning RegistryWarning
39       ConfigureWarning ErrorException ResourceLimitError TypeError
40       OptionError DelegateError MissingDelegateError CorruptImageError
41       FileOpenError BlobError StreamError CacheError CoderError
42       ModuleError DrawError ImageError XServerError RegistryError
43       ConfigureError FatalErrorException
44     );
45
46 $VERSION = '@PACKAGE_PERL_VERSION@';
47
48 sub AUTOLOAD {
49     # This AUTOLOAD is used to 'autoload' constants from the constant()
50     # XS function.  If a constant is not found then control is passed
51     # to the AUTOLOAD in AutoLoader.
52
53     my $constname;
54     ($constname = $AUTOLOAD) =~ s/.*:://;
55     die "&${AUTOLOAD} not defined. The required ImageMagick libraries are not installed or not installed properly.\n" if $constname eq 'constant';
56     my $val = constant($constname, @_ ? $_[0] : 0);
57     if ($! != 0) {
58         if ($! =~ /Invalid/) {
59                 $AutoLoader::AUTOLOAD = $AUTOLOAD;
60                 goto &AutoLoader::AUTOLOAD;
61         }
62         else {
63                 my($pack,$file,$line) = caller;
64                 die "Your vendor has not defined PerlMagick macro $pack\:\:$constname, used at $file line $line.\n";
65         }
66     }
67     eval "sub $AUTOLOAD { $val }";
68     goto &$AUTOLOAD;
69 }
70
71 bootstrap Image::Magick::@MAGICK_ABI_SUFFIX@ $VERSION;
72
73 # Preloaded methods go here.
74
75 sub new
76 {
77     my $this = shift;
78     my $class = ref($this) || $this || "Image::Magick::@MAGICK_ABI_SUFFIX@";
79     my $self = [ ];
80     bless $self, $class;
81     $self->set(@_) if @_;
82     return $self;
83 }
84
85 sub New
86 {
87     my $this = shift;
88     my $class = ref($this) || $this || "Image::Magick::@MAGICK_ABI_SUFFIX@";
89     my $self = [ ];
90     bless $self, $class;
91     $self->set(@_) if @_;
92     return $self;
93 }
94
95 # Autoload methods go after =cut, and are processed by the autosplit program.
96
97 END { UNLOAD () };
98
99 1;
100 __END__
101
102 =head1 NAME
103
104 Image::Magick::@MAGICK_ABI_SUFFIX@ - objected-oriented Perl interface to ImageMagick (@MAGICK_ABI_SUFFIX@). Use it to create, edit, compose, or convert bitmap images from within a Perl script.
105
106 =head1 SYNOPSIS
107
108   use Image::Magick::@MAGICK_ABI_SUFFIX@;
109   $p = new Image::Magick::@MAGICK_ABI_SUFFIX@;
110   $p->Read("imagefile");
111   $p->Set(attribute => value, ...)
112   ($a, ...) = $p->Get("attribute", ...)
113   $p->routine(parameter => value, ...)
114   $p->Mogrify("Routine", parameter => value, ...)
115   $p->Write("filename");
116
117 =head1 DESCRIPTION
118
119 This Perl extension allows the reading, manipulation and writing of
120 a large number of image file formats using the ImageMagick library.
121 It was originally developed to be used by CGI scripts for Web pages.
122
123 A web page has been set up for this extension. See:
124
125          file://@DOCUMENTATION_PATH@/www/perl-magick.html
126          http://www.imagemagick.org/script/perl-magick.php
127
128 If you have problems, go to
129
130    http://www.imagemagick.org/discourse-server/viewforum.php?f=7
131
132 =head1 AUTHOR
133
134 Kyle Shorter    magick-users@imagemagick.org
135
136 =head1 BUGS
137
138 Has all the bugs of ImageMagick and much, much more!
139
140 =head1 SEE ALSO
141
142 perl(1).
143
144 =cut