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
Tony Cook [Thu, 8 Dec 2005 05:42:14 +0000 (05:42 +0000)]
- clean up Imager::Font documentation:
- string now documented in Imager::Draw
- add parameter list documentation
- document the utf8 parameter for bounding_box(), has_chars()
Resolves: http://rt.cpan.org/NoAuth/Bug.html?id=16094
Tony Cook [Wed, 7 Dec 2005 13:06:21 +0000 (13:06 +0000)]
- read/write i_xres, i_yres, i_aspect only tage with JPEG files,
and read/write jpeg_density_unit (+_name) tag
- save the jpeg_comment tag when writing
Tony Cook [Tue, 29 Nov 2005 08:34:36 +0000 (08:34 +0000)]
- check the correct directory when adding the cygwin Win32 API include
path (Makefile.PL). This was a later response to #16094
Resolves: http://rt.cpan.org/NoAuth/Bug.html?16094
- add --nolog command-line switch to Makefile.PL to disable logging
Tony Cook [Fri, 25 Nov 2005 00:04:29 +0000 (00:04 +0000)]
- fixes to verbose mode in Makefile.PL, also added a -v switch so you
can enable it via the command-line
Resolves: http://rt.cpan.org/NoAuth/Bug.html?id=16094
Tony Cook [Thu, 27 Oct 2005 04:51:38 +0000 (04:51 +0000)]
- INCOMPATIBLE CHANGE:
reading a gif file will now read the first image from the file rather
than the a consolidated image. If you want the old behaviour supply
C<< gif_consolidate=>1 >> to the read() method. Older versions of
Imager will accept this parameter and produce the same result.
- you can now supply a page parameter to read() to read a given page
from a GIF file.
- reading a multi-image GIF was leaking memory (a line buffer per file)
Tony Cook [Fri, 30 Sep 2005 06:20:29 +0000 (06:20 +0000)]
- Imager::Font->new() for the tt (Freetype 1.x) driver now correctly
handles errors from i_tt_new(), and passed error messages now
generated by i_tt_new().
Tony Cook [Thu, 8 Sep 2005 04:16:47 +0000 (04:16 +0000)]
- implement getscanline(), setscanline() and getsamples() methods.
These are low level methods for fast access to image data, based on
existing C functions that Imager uses internally.
Tony Cook [Wed, 24 Aug 2005 01:10:49 +0000 (01:10 +0000)]
- convert t/t107bmp.t to Test::More
- convert t/t108tga.t to Test::More
- error messages generated reading JPEG or PNG images are now
available via errstr()
- implement/test/document set_file_limits()/get_file_limits() methods,
which allow limits on the size of image files read.