Tony Cook [Tue, 29 Aug 2006 07:20:42 +0000 (07:20 +0000)]
comparisons against $ExtUtils::MakeMaker::VERSION were warning when
that had an _ in it. We now eval it to prevent the warning.
Tony Cook [Tue, 29 Aug 2006 00:42:46 +0000 (00:42 +0000)]
the rubthrough() method now supports destination images with an alpha
channel.
Also added a statement on the relationship between the alpha channel
and color data in Imager.
The new rubthrough() code uses a new pre-processor that reduces source
code duplication between 8-bit/sample and double/sample processing.
Tony Cook [Tue, 29 Aug 2006 00:23:01 +0000 (00:23 +0000)]
remove t/t60dyntest.t from the MANIFEST, since we moved it
Tony Cook [Sat, 19 Aug 2006 07:24:35 +0000 (07:24 +0000)]
to_rgb8 doesn't crop but the void content warning said it did
Tony Cook [Fri, 18 Aug 2006 07:08:37 +0000 (07:08 +0000)]
move the existing dynfilt test into dynfilt/t, update it to use
Test::More and remove the dummy test script
Tony Cook [Fri, 18 Aug 2006 04:35:27 +0000 (04:35 +0000)]
Merged in the scale branch:
- adds a new scaling mechanism 'mixing' based on the method
implemented by pnmscale. Produces better detail when scaling down and
is faster than the 'normal' method.
- the scale() method can now scale non-proportionally if the caller
specifically asks for it with xscalefactor/yscalefactor or by setting
type to 'nonprop'.
Tony Cook [Tue, 15 Aug 2006 08:12:30 +0000 (08:12 +0000)]
added pixel type 'index' to getscanline() and setscanline() for
getting/setting palette indexes from paletted images.
https://rt.cpan.org/Ticket/Display.html?id=20338
Tony Cook [Thu, 10 Aug 2006 01:53:19 +0000 (01:53 +0000)]
finally found which file contained the POD errors that
http://cpants.perl.org/kwalitee/Imager was complaining about
modified t/t91pod.t to check every pl/pod/pm/PL file
Tony Cook [Mon, 7 Aug 2006 14:20:21 +0000 (14:20 +0000)]
you need to load Imager to use the API, Imager::API now tells the user
that
http://rt.cpan.org/Ticket/Display.html?id=20823
Tony Cook [Mon, 7 Aug 2006 07:02:43 +0000 (07:02 +0000)]
Removed the query asking if GIF support should be disabled, since
recent lib(un)gif are sane.
https://rt.cpan.org/Ticket/Display.html?id=20687
Some README cleanup.
Tony Cook [Sat, 29 Jul 2006 05:21:49 +0000 (05:21 +0000)]
basic todo for 0.54
Tony Cook [Thu, 27 Jul 2006 00:38:49 +0000 (00:38 +0000)]
bump to 0.53
This is to fix a crash bug introduced in 0.52.
http://rt.cpan.org/Ticket/Display.html?id=20705
Tony Cook [Thu, 27 Jul 2006 00:31:44 +0000 (00:31 +0000)]
there was a C< *(char *)0 = 0 > left in a code path uncovered by the
test suite.
- added a test to cover that code path
- removed the debug code
Fixes: http://rt.cpan.org/Ticket/Display.html?id=20705
Tony Cook [Tue, 25 Jul 2006 04:43:38 +0000 (04:43 +0000)]
bump to 0.52
This is primarily a feature release, but contains a fair few bug
fixes, new features:
- ability to read and write MS Windows ICO and CUR files
- you can now add file format plugins to support new file formats
- add POD coverage tests
- setcolors() and addcolors() now accept color names and so on instead
of requiring Imager::Color objects.
- flood_fill() can now fill to a specified border color instead of
just to the area the same color as the seed.
Bug fixes:
- bounding_box for the T1 driver wasn't converting UTF8 to ascii when
calculating the advance width.
- bounding_box for the T1 driver wasn't including leading and trailing
spaces in the bounding box as the other drivers did, it also produced
strange results for empty strings or strings containing only spaces
- when reading CMYK jpeg images they were being transferred to the
image object as is, producing a four channel image. It only looked
ok due to an old still unfixed Photoshop bug. We now convert from
the inverted CMYK that photoshop (and Corel for example) produce
into RGB.
- reading a CYMK TIFF would result in a 4 channel image, reading any
image with more than 4 channels (eg. RGB with 2 alpha channels)
would result in an error.
- added /usr/local/include to the default include search path, since
we were already searching /usr/local/lib for libraries.
And various minor fixes and documentation updates.
Tony Cook [Mon, 24 Jul 2006 12:28:31 +0000 (12:28 +0000)]
added a cookbook entry for converting files from one format to another
part of http://rt.cpan.org/Ticket/Display.html?id=5608
Tony Cook [Mon, 24 Jul 2006 12:09:22 +0000 (12:09 +0000)]
document the direction of Imager's co-ordinate system
http://rt.cpan.org/Ticket/Display.html?id=11429
Tony Cook [Mon, 24 Jul 2006 11:27:24 +0000 (11:27 +0000)]
add an example of reading exif tags
Tony Cook [Mon, 24 Jul 2006 11:16:06 +0000 (11:16 +0000)]
add some basic examples of using data, fd, fh, callback parameters
Tony Cook [Mon, 24 Jul 2006 10:17:00 +0000 (10:17 +0000)]
added examples for fh, fd, file, data and callback mechanisms for
reading/writing files.
Tony Cook [Mon, 24 Jul 2006 07:15:49 +0000 (07:15 +0000)]
add detection of BZIP2 and gzip data
Tony Cook [Mon, 24 Jul 2006 04:46:00 +0000 (04:46 +0000)]
add dummy test to dynfilt to since it was confusing smoke testers
Tony Cook [Mon, 24 Jul 2006 04:44:28 +0000 (04:44 +0000)]
commit changes to SpaceTest font source caused by exports
Tony Cook [Fri, 21 Jul 2006 00:01:57 +0000 (00:01 +0000)]
add a magic entry to detect XWD files
Tony Cook [Thu, 20 Jul 2006 14:35:22 +0000 (14:35 +0000)]
bounding_box() for the t1 driver wasn't converting from UTF8 to ascii
when calculating the advance width.
fixes http://rt.cpan.org/Ticket/Display.html?id=20554
Tony Cook [Thu, 20 Jul 2006 13:42:04 +0000 (13:42 +0000)]
bounding_box() for t1 driver fonts was treating spaces as empty space
when calculating the bounds, which they are, but this is inconsistent
with other drivers. This was especially a problem for strings
containing only spaces where the left bound would end up far to the
right of the right bound, and similarly for the ascent and descent.
calculating the bounding box for an empty string invoked special
behaviour in t1lib, making it unreliable.
Fixes: http://rt.cpan.org/Ticket/Display.html?id=20555
Tony Cook [Wed, 19 Jul 2006 00:39:58 +0000 (00:39 +0000)]
bump to 0.51_03
Tony Cook [Tue, 18 Jul 2006 14:34:52 +0000 (14:34 +0000)]
make the selection of a transfer function check that it's getting the
right number of channels
Tony Cook [Tue, 18 Jul 2006 13:34:56 +0000 (13:34 +0000)]
set eol-style so that generation doesn't make svn burp
Tony Cook [Tue, 18 Jul 2006 13:21:21 +0000 (13:21 +0000)]
cast 2 signed/unsigned char pointer conversions to prevent warnings
(errors on some compilers)
Tony Cook [Tue, 18 Jul 2006 12:49:31 +0000 (12:49 +0000)]
report the error if we can't read the alpha test images
Tony Cook [Tue, 18 Jul 2006 12:43:02 +0000 (12:43 +0000)]
newer versions of libtiff were choking on the bad values corel was
putting into EXTRASAMPLES, corrected via hex editing
Tony Cook [Fri, 14 Jul 2006 14:57:44 +0000 (14:57 +0000)]
CMYK jpeg images were being read as 4 channel images, even though they
have no alpha channel.
The colors were being transferred directly from the JPEG image data,
this only looked correct because of an old bug in photoshop, kept for
compatibility in later versions. Photoshop inverts the ink values in
the file, so max cyan coverage is stored at 0, and min as 255, and so
on.
CMYK jpegs are now read as 3 channel images. The colors are now
converted adjusting for the photoshop bug, cmyk images from the only
other source I have, corel draw 9, are inverted in the same way,
presumably for compatibility with photoshop.
If anyone has an application that produces technically correct CMYK
jpegs, please provide a sample in jpeg and tiff form so I can attempt
to deal with it.
Fixes: http://rt.cpan.org/Ticket/Display.html?id=20416
Tony Cook [Thu, 13 Jul 2006 11:04:53 +0000 (11:04 +0000)]
http://rt.cpan.org/Ticket/Display.html?id=20415
Reading a CMYK TIFF with no alpha would result in a 4-channel image.
Also, reading a CMYK TIFF with an alpha channel would fail to read.
Reading a CMYK TIFF with 2 alpha channels would fail to read.
Reading a RGB TIFF with 2 alpha channels would also fail to read.
Tony Cook [Thu, 13 Jul 2006 05:20:09 +0000 (05:20 +0000)]
attempting to render a space non-antialiased from freetype 2 could
crash or fail, depending on the version of freetype.
Fixed by checking if the glyph has anything to render before calling
FT_Render_Glyph().
https://rt.cpan.org/Ticket/Display.html?id=20403
Tony Cook [Tue, 11 Jul 2006 13:21:31 +0000 (13:21 +0000)]
add some examples using the i_xres and i_yres tags
Tony Cook [Mon, 10 Jul 2006 08:07:18 +0000 (08:07 +0000)]
the cookbook said we couldn't limit image sizes, but we can now. Fix
that and add some simple examples.
Tony Cook [Fri, 7 Jul 2006 10:59:07 +0000 (10:59 +0000)]
it's libgif not libguf
Tony Cook [Fri, 7 Jul 2006 10:57:26 +0000 (10:57 +0000)]
move linker flags from freetype-config/pkg-config up to the front to
match the placement of C flags.
Tony Cook [Wed, 5 Jul 2006 14:21:07 +0000 (14:21 +0000)]
we search /usr/local/include by default but we weren't searching
/usr/local/lib, fixed that
don't rebuild META.yml if we're not setting AUTHOR, this was producing
a bad META.yml on older EU::MMs
Tony Cook [Wed, 5 Jul 2006 11:54:33 +0000 (11:54 +0000)]
implement limited writes as a closure instead of as an overloaded
class to support 5.005_03
Tony Cook [Wed, 5 Jul 2006 11:41:04 +0000 (11:41 +0000)]
minor changes for compatibility with 5.005_03
Tony Cook [Tue, 4 Jul 2006 13:54:13 +0000 (13:54 +0000)]
bump to 0.51_02
Tony Cook [Tue, 4 Jul 2006 12:52:08 +0000 (12:52 +0000)]
make sure the method index includes all documented Imager methods and
is properly sorted.
Tony Cook [Tue, 4 Jul 2006 12:06:22 +0000 (12:06 +0000)]
update to a newer ppport.h and modify Imager.xs a bit based on its
recommendations
Tony Cook [Tue, 4 Jul 2006 11:39:37 +0000 (11:39 +0000)]
addition memory allocation checks
Tony Cook [Tue, 4 Jul 2006 11:28:34 +0000 (11:28 +0000)]
add more pod coverage tests (and the coverage needed)
Tony Cook [Tue, 4 Jul 2006 11:17:12 +0000 (11:17 +0000)]
svn:ignore some more profiler files and other junk
we now pass the pod coverage test on the Imager class, remove the TODO
add pod coverage tests for several other classes, and pass them
Tony Cook [Sat, 1 Jul 2006 05:38:11 +0000 (05:38 +0000)]
don't include the line number in the From comment so since unrelated edits
were causing changes to APIRef.pm. This is still possible but they should
be a lot less frequence.
Tony Cook [Sat, 1 Jul 2006 05:31:35 +0000 (05:31 +0000)]
added error handling tests for bad colors supplied to addcolors()
and setcolors()
Tony Cook [Fri, 30 Jun 2006 13:51:45 +0000 (13:51 +0000)]
add more iolayer tests
callback handler fixes to return errors correctly
Imager::IO XS changes to make errors return empty lists
iolayer error handling fixes
documented Imager::IO methods
Tony Cook [Thu, 29 Jun 2006 11:39:10 +0000 (11:39 +0000)]
setcolors() and addcolors() can now accept non-object colors like most
other methods
Tony Cook [Thu, 29 Jun 2006 11:06:16 +0000 (11:06 +0000)]
extra jpeg tests to improve code coverage of jpeg.c
Tony Cook [Thu, 29 Jun 2006 10:56:09 +0000 (10:56 +0000)]
long delayed renaming of m_fatal() to i_fatal() to match Imager's
functions in general
Tony Cook [Thu, 29 Jun 2006 10:53:07 +0000 (10:53 +0000)]
META.yml changed due to release
Tony Cook [Thu, 29 Jun 2006 10:51:12 +0000 (10:51 +0000)]
add missing parameter required by format in wiol_empty_output_buffer
Tony Cook [Wed, 28 Jun 2006 13:22:25 +0000 (13:22 +0000)]
bump to 0.51_01 for release
Tony Cook [Tue, 27 Jun 2006 14:38:10 +0000 (14:38 +0000)]
handle a missing Changes file when checking if we need to generate one.
Tony Cook [Tue, 27 Jun 2006 14:25:03 +0000 (14:25 +0000)]
document the image file limit functions for the API
Tony Cook [Tue, 27 Jun 2006 12:50:28 +0000 (12:50 +0000)]
include stddef.h for size_t
Tony Cook [Tue, 27 Jun 2006 12:20:47 +0000 (12:20 +0000)]
implement a flood_fill that stops at a given color rather than filling
a region of the color at the start poiint.
from perl you can call flood_fill() with a border parameter to specify
a fill to border.
from the API call the i_flood_fill_border() or i_flood_cfill_border()
function.
Tony Cook [Tue, 27 Jun 2006 12:12:12 +0000 (12:12 +0000)]
Makefile was generating lib/Imager/APIRef.pod, not
lib/Imager/APIRef.pm
Tony Cook [Mon, 26 Jun 2006 13:14:54 +0000 (13:14 +0000)]
use the ExtUtils::MakeMaker prompt() function to ask about including
gif support instead of <STDIN>
Tony Cook [Mon, 26 Jun 2006 12:57:00 +0000 (12:57 +0000)]
document parseiptc()
https://rt.cpan.org/Ticket/Display.html?id=17894
Tony Cook [Mon, 26 Jun 2006 12:34:40 +0000 (12:34 +0000)]
clarify that FORMATGUESS is only used when writing to a file.
http://rt.cpan.org/Ticket/Display.html?id=18773
Tony Cook [Mon, 26 Jun 2006 12:20:27 +0000 (12:20 +0000)]
add support for file write plugins
fix write_multi() writing to scalars
https://rt.cpan.org/Ticket/Display.html?id=19982
add support for writing to ICO/CUR image files
added file limit check functions to the API
Tony Cook [Mon, 22 May 2006 03:46:15 +0000 (03:46 +0000)]
add inline_capture2image.pl sample
Tony Cook [Mon, 22 May 2006 03:29:51 +0000 (03:29 +0000)]
rename APIRef.pm, API.pm to *.pod since they contain no code
Tony Cook [Mon, 22 May 2006 03:24:49 +0000 (03:24 +0000)]
fix documentation nit
Tony Cook [Mon, 22 May 2006 03:24:20 +0000 (03:24 +0000)]
added kwalitee test script to the MANIFEST
Tony Cook [Mon, 22 May 2006 03:23:50 +0000 (03:23 +0000)]
give lib/Imager/ExtUtils.pm a version number
Tony Cook [Mon, 22 May 2006 03:23:11 +0000 (03:23 +0000)]
added "kwalitee" test script:
- currently tests all pl/pm/PL files have use strict
- added use strict to all pl/pm/PL files with code in them
Tony Cook [Mon, 22 May 2006 03:18:27 +0000 (03:18 +0000)]
i_test_format_probe:
- added Utah RLE,
- separated ICO and CUR file formats,
- fix duplicate PCX entry
Tony Cook [Sat, 29 Apr 2006 14:53:11 +0000 (14:53 +0000)]
minor updates, make it clear in the title this documents the C level.
tags is now used.
there's been a double image type for a while now.
Tony Cook [Sat, 29 Apr 2006 14:44:27 +0000 (14:44 +0000)]
changed the title to better reflect what it documents - model, not
internals.
Split out the initial paragraphs into more concise statements.
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.
Fixes #18561
Tony Cook [Wed, 19 Apr 2006 04:05:45 +0000 (04:05 +0000)]
Specifying the bottom edge of the source image to paste was broken in
a couple of different ways.
Fixes #18712
Tony Cook [Mon, 3 Apr 2006 23:53:26 +0000 (23:53 +0000)]
add AUTHOR, SEE ALSO, REVISION sections
Tony Cook [Sun, 2 Apr 2006 06:57:56 +0000 (06:57 +0000)]
fix range checking on IFD entry data types. This could cause various
crashes.
Fixes #18496
Tony Cook [Thu, 30 Mar 2006 07:14:17 +0000 (07:14 +0000)]
backport fix for RT issue 18397
Tony Cook [Thu, 30 Mar 2006 04:41:41 +0000 (04:41 +0000)]
add format probes for SGI RGB, ILBM, XPM, PCX, FITS, Photoshop, EPS
if you have an entry for some other format you want to implement let
me know.
Tony Cook [Fri, 24 Mar 2006 09:49:57 +0000 (09:49 +0000)]
- implement reading MS Windows icon files
- add t/Pod/Coverage/Imager.pm to MANIFEST
- skip some more trash in MANIFEST.SKIP
Tony Cook [Fri, 24 Mar 2006 04:26:24 +0000 (04:26 +0000)]
make the targa probe even stricter
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 [Thu, 23 Mar 2006 13:41:56 +0000 (13:41 +0000)]
- i_test_format_probe() now attempts to detect MS Windows Icon/cursor files
- made the TGA probe a bit more specific since it was giving false
positives on icon files.
Tony Cook [Wed, 22 Mar 2006 01:01:15 +0000 (01:01 +0000)]
More iolayers work:
- rename the callback types
- move types and the call macros into iolayer.t
- move typedef for Imager__IO to imperl.h
so now io glue objects can be used from XS/Inline
Tony Cook [Thu, 16 Mar 2006 05:41:10 +0000 (05:41 +0000)]
more iolayer goodness:
- make write/read/seek/close on an IO object visible as methods from perl
- allow SEEK_CUR on bufchains
Tony Cook [Wed, 15 Mar 2006 12:49:49 +0000 (12:49 +0000)]
io_glue_destroy() now uses an extra callback to handle type specific
destruction, instead of switching on "class"
Tony Cook [Wed, 15 Mar 2006 12:08:47 +0000 (12:08 +0000)]
iolayer modifications:
- move private types and functions into iolayers.c
- make each layer "new" function do the initialization that
io_commit_types() was doing.
Tony Cook [Wed, 15 Mar 2006 11:32:59 +0000 (11:32 +0000)]
fixed incorrect filename for t/t93podcover.t in MANIFEST
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 [Mon, 13 Mar 2006 02:46:48 +0000 (02:46 +0000)]
prevent the parseiptc method from warning when there's no IPTC data to
process
Tony Cook [Mon, 13 Mar 2006 01:58:44 +0000 (01:58 +0000)]
POD coverage tests, as a TODO for now
Tony Cook [Sat, 11 Mar 2006 13:16:47 +0000 (13:16 +0000)]
rename some private functions to private names
Tony Cook [Thu, 9 Mar 2006 00:56:19 +0000 (00:56 +0000)]
malloc_state() no longer writes to stdout when Imager is built without
memory debugging
Tony Cook [Wed, 8 Mar 2006 12:11:41 +0000 (12:11 +0000)]
initial targets for 0.50
Tony Cook [Wed, 8 Mar 2006 11:56:41 +0000 (11:56 +0000)]
Skip Inline tests when we're in a directory containing spaces in the
path, since Inline itself errors out when used in such a directory.
See #4150.
Fixes: 18049.
Tony Cook [Tue, 7 Mar 2006 12:06:50 +0000 (12:06 +0000)]
removed unreachable code (mymalloc() succeeds or exit()s)
Tony Cook [Tue, 7 Mar 2006 12:01:38 +0000 (12:01 +0000)]
Actually get the changes in the right order.
Tony Cook [Tue, 7 Mar 2006 11:54:01 +0000 (11:54 +0000)]
New changes will be listed most recent first, and is generated from
svn log.
Changes for older revisions of Imager can be found in Changes.old.
Tony Cook [Tue, 7 Mar 2006 00:50:39 +0000 (00:50 +0000)]
- bump to 0.49