Tony Cook [Wed, 19 Apr 2006 12:19:56 +0000 (12:19 +0000)]
- Calling setpixel() with color set to [ 0, 0, 0 ] would crash with
Can't locate object method "new" via package "Imager::Color::Float" ...
- having the color parameter code create floating point colors could
cause other problems too, since most of the underlying functions can't
handle them, so removed the attempt to create float colors.
Tony Cook [Thu, 23 Mar 2006 14:09:57 +0000 (14:09 +0000)]
- added support for registering file readers
- if you supply and unknown type value (or Imager probes and finds
one) then Imager will attempt to load "Imager::File::\Utypecode" (this
can register a file reader.)
- note: these changes may mean slightly different errors if you call
read_multi() with no file or type parameters, since read_multi() now
attempts to do the same file format probe that read() does.
Tony Cook [Tue, 14 Mar 2006 00:50:09 +0000 (00:50 +0000)]
remove the reference to IRC from SUPPORT, I'm not paying enough
attention there for it to be useful. Yes, there is a channel, but the
mailing list/perlmonks/direct email/cpanratings are more likely to get
you some help.
Tony Cook [Sun, 5 Mar 2006 13:54:59 +0000 (13:54 +0000)]
- some jpeg.c logging calls didn't include parameters enough to match
the supplied format string.
- in some cases memory wasn't being freed during error handling when
reading jpeg images
Tony Cook [Sun, 5 Mar 2006 12:59:01 +0000 (12:59 +0000)]
- tifflib 3.8.0 with MDI (Microsoft(tm) TIFF) support produces a
different error when it reads a file with a bad magic number.
Update the test to handle the possible messages.
Tony Cook [Sun, 5 Mar 2006 08:36:09 +0000 (08:36 +0000)]
- handle short EXIF user_comment fields correctly, previously Imager
would read (and potentially) write beyond the end of an allocated block,
or through a NULL pointer if the EXIF user_comment field was less
than 8 bytes long.
https://rt.cpan.org/Ticket/Display.html?id=17981
Tony Cook [Wed, 1 Mar 2006 02:15:22 +0000 (02:15 +0000)]
- removed unused hashinfo() function from Imager.xs
- added =items for various methods, so Pod::Coverage will pick them up
(Pod::Coverage tests to be added in 0.49)
Tony Cook [Tue, 21 Feb 2006 04:54:43 +0000 (04:54 +0000)]
- fix/simplify META.yml generation - we now generate META.yml at
Makefile.PL time, since trying to work with EU::MM to generate a
custom META.yml was a waste.
Tony Cook [Thu, 9 Feb 2006 23:45:56 +0000 (23:45 +0000)]
- check $Config{ldflags} and $Config{ccflags} for places to search for
headers and libraries. This deals with the way the fink build of perl
puts -L/sw/lib in ldflags rather than using loclibpth
- eliminate some of the duplication of -I and -L options in LIBS and INC
- Makefile.PL now uses strict.
- the search for freetype1.x headers is now smarter
Tony Cook [Sun, 5 Feb 2006 14:07:23 +0000 (14:07 +0000)]
- scale() can now expect an Image::Math::Constrain object as a scaling
constraint via the constrain parameter.
- added tests for the various ways we can specify scaling size
- documented scale()'s scalefactor parameter
Tony Cook [Mon, 30 Jan 2006 01:13:04 +0000 (01:13 +0000)]
- supply C<imager> parameter to filters so we can register filters
implemented in perl.
- document register_filter() and add test for it
- add example to SYNOPSIS of samples/inline_replace_color.pl
Tony Cook [Wed, 18 Jan 2006 14:06:50 +0000 (14:06 +0000)]
- reading a raw image no longer exits on a short read or read error,
and returns an appropriate error message in $im->errstr
- write failures when writing a raw image now return a useful
message in $im->errstr
Tony Cook [Wed, 18 Jan 2006 12:18:51 +0000 (12:18 +0000)]
- error messages when writing TIFF images were always
'Could not write to buffer', more useful messages are now reported.
- error messages when writing PNM images were always
'unable to write pnm image', more useful messages are now reported.
Tony Cook [Fri, 13 Jan 2006 06:00:32 +0000 (06:00 +0000)]
- deal with freetype-config --cflags returning the directories
in the wrong order (Freetype 2.1.4 and earlier)
Thanks to David Wheeler for his help in tracking this down.
Tony Cook [Tue, 10 Jan 2006 03:09:58 +0000 (03:09 +0000)]
- start of external Imager API access:
- rename headers to avoid conflicts:
- image.h to imager.h
- imagei.h to imageri.h
- datatypes.h to imdatatypes.h
- config.h to imconfig.h (created by Makefile.PL)
- moved all public types defined in imager.h to imdatatypes.h
- supply the PM parameter to WriteMakefile(), to install headers
under Imager/include, and the Imager typemap in Imager/typemap.
We scan the MANIFEST for files to add to PM.
- add "i_" prefix on some functions useful as public at the C level.
- moved the typedefs that support the typemap from Imager.xs to
imperl.h
- set the global callbacks hook in the Imager.xs BOOT section
- API cleanup:
- define i_tags_set(), i_tags_setn() - we might not allow multiple
values for a tag in the future
- i_copy() now returns a new image instead of doing horrible inplace
things to an existing image
- provide actual functions for all of the macros we define in imager.h
so we can put them in the global callbacks structure
- define global functions structure (imexttypes.h)
and initialize it (imext.c)
- add API include header with macros to setup the define and
initialize the local callbacks pointer, and macros to call the API
functions.
- build Imager::APIRef from C sources, including updating the sources
to include documentation for each API function.
- convert dyntest and mandelbrot dynfilts into XS modules (too easy)
- simple Imager::CountColor example
- support Inline::C :
- typemap changes to accept Imager or Imager::ImgRaw objects as
image parameters
- define Imager output type for trivial cases of returning an i_img as
a full Imager object
- Inline WITH hook to filter Imager XS types into types Inline::C can
accept, supply appropriate headers and initialization.
- test script t/t82inline.t
- try to use XSLoader instead of DynaLoader (but fallback if necessary)
- paste() can now paste a subset of the source image.
- paste() now has better tests
- paste() should now be faster for larger pastes