Tony Cook [Fri, 15 Dec 2006 03:27:29 +0000 (03:27 +0000)]
Test::More is now a pre-requisite for Imager, so remove it from the
distribution.
Tony Cook [Thu, 14 Dec 2006 13:52:53 +0000 (13:52 +0000)]
link zlib in using the default installed library name on Win32 instead of as libz.
fixes RT #23064
Tony Cook [Thu, 14 Dec 2006 13:46:32 +0000 (13:46 +0000)]
fix check for MSVC
fixed RT 23922
Tony Cook [Sun, 26 Nov 2006 11:25:29 +0000 (11:25 +0000)]
convert ok(... eq ..., ... ) to is(..., ..., ...)
RT 23184
Tony Cook [Sun, 26 Nov 2006 10:49:52 +0000 (10:49 +0000)]
avoid most compilter warnings produced by GCC 4.1
Tony Cook [Sun, 19 Nov 2006 11:25:55 +0000 (11:25 +0000)]
avoid various compiler warnings
Tony Cook [Thu, 9 Nov 2006 12:48:13 +0000 (12:48 +0000)]
switch to Test::More in a few more test scripts, eliminate the
testtools okx/okn variants
Tony Cook [Thu, 9 Nov 2006 12:24:23 +0000 (12:24 +0000)]
fix a pod error introduced in the previous commit
Tony Cook [Thu, 9 Nov 2006 10:57:08 +0000 (10:57 +0000)]
minor documentation tweaks
Tony Cook [Mon, 6 Nov 2006 10:56:10 +0000 (10:56 +0000)]
added tests for the overflowing box changes, fix draw
string to channel string length for win32 driver
Tony Cook [Mon, 6 Nov 2006 10:22:50 +0000 (10:22 +0000)]
convert t/t00basic to Test::More and have it try to load all of the core modules
Tony Cook [Sun, 29 Oct 2006 08:37:43 +0000 (08:37 +0000)]
fixed a variety of problems:
- global descent from bounding box has been the wrong sign forever
- the left and right side bearing calculations were ignoring the utf 8 flag
- glyphs that overflowed the left or right side of the advance width were being clipped
- the ascent/descent calculations were completely broken by the last (unreleased) commit, fixed that
Tony Cook [Wed, 25 Oct 2006 14:16:33 +0000 (14:16 +0000)]
fix test skip counts for missing/available platforms.
Tony Cook [Wed, 25 Oct 2006 14:04:44 +0000 (14:04 +0000)]
use SvPV to get the length of text to draw rather than strlen(), add
tests for the functionality.
https://rt.cpan.org/Ticket/Display.html?id=21770
Tony Cook [Wed, 25 Oct 2006 13:24:25 +0000 (13:24 +0000)]
break out of the search loop early when we find the right utf8 code
length
Tony Cook [Wed, 25 Oct 2006 00:58:10 +0000 (00:58 +0000)]
the decription of the page parameter didn't belong in the description
of the tags.
Tony Cook [Thu, 19 Oct 2006 12:28:40 +0000 (12:28 +0000)]
Add UTF8 support to the Win32 font driver
http://rt.cpan.org/Ticket/Display.html?id=22166
Tony Cook [Thu, 19 Oct 2006 10:26:12 +0000 (10:26 +0000)]
The gif_disposal and gif_user_input tags weren't being set to the
correct values when a GIF with a GCE block was read.
http://rt.cpan.org/Ticket/Display.html?id=22192
Tony Cook [Sun, 8 Oct 2006 12:21:09 +0000 (12:21 +0000)]
the string() method would not output the string "0"
See: https://rt.cpan.org/Ticket/Display.html?id=21770
Tony Cook [Sun, 8 Oct 2006 11:49:40 +0000 (11:49 +0000)]
work around compilation problem reported in
https://rt.cpan.org/Ticket/Display.html?id=21944
Tony Cook [Thu, 14 Sep 2006 07:43:24 +0000 (07:43 +0000)]
This is primarily a feature release:
- a new qtype value 'mixing' has been added to the scale() method.
This is faster than 'normal', slower than 'preview'. This is based on
the method used by pnmscale, and seems to produce less blurry results
than normal.
- the rubthrough() method can now render onto images with an alpha
channel.
- the read_multi() method now falls back to calling doing a single
image read via the read() method and write_multi() will now fall
back to calling write() if a single image is supplied. This means
you can simply call the read_multi() or write_multi() functions
without having to check if the type is formatted by that method.
- the GIF loop extension can now be written. If you don't have
libungif/giflib 4.1.4 (or some distribution's bugfixed equivalent)
you should upgrade.
- getscanline() and setscanline() can now read/write palette index
based data from/to the image for paletted images, by setting type to
'index'.
- we no longer hassle you to disable GIF support
- minor documentation fixes
Tony Cook [Tue, 12 Sep 2006 04:19:09 +0000 (04:19 +0000)]
add generated .c files to make clean
Tony Cook [Wed, 6 Sep 2006 13:50:43 +0000 (13:50 +0000)]
add .perl files to the t94kwalitee struct tests and fix the non strict
.perl code
Tony Cook [Wed, 6 Sep 2006 11:35:38 +0000 (11:35 +0000)]
read_multi() now falls back to calling read() and write_multi() now
falls back to calling write() for a single image.
Tony Cook [Fri, 1 Sep 2006 07:17:36 +0000 (07:17 +0000)]
skip the right number of tests when gif not available
Tony Cook [Thu, 31 Aug 2006 13:35:33 +0000 (13:35 +0000)]
rubthrough done
Tony Cook [Thu, 31 Aug 2006 13:27:19 +0000 (13:27 +0000)]
skip the loop tests with older (un)giflibs
Tony Cook [Thu, 31 Aug 2006 13:16:45 +0000 (13:16 +0000)]
Changes to GIF support:
- the Nescape loop extension block is written if gif_loop is set.
This requires libungif/libgif 4.1.3 or later.
Resolves: http://rt.cpan.org/Ticket/Display.html?id=21185
- we now set the GIF header depending on the features enabled in the
GIF. Since we don't do configure type probes for bugs we have to
enable this based on the gif_lib.h version number, it's enabled for
4.1.0 and later, but requires 4.1.3 and later (maybe 4.1.3) to run
without crashing.
You can avoid this crash by passing --nogifsetversion to Makefile.PL,
or by installing a non-buggy libungif/libgif, if there is such a
thing.
Tony Cook [Wed, 30 Aug 2006 07:25:55 +0000 (07:25 +0000)]
note on relative speeds of the scaling mechanisms
Tony Cook [Wed, 30 Aug 2006 06:47:48 +0000 (06:47 +0000)]
convert scale.c to scale.im so we have 8 bit/sample and double/sample
implementations of mixing scaling.
modified imtoc.perl to allow non-conditional #code sections to allow
creation ofr 8 and double/sample versions of support functions.
fixed a bug in an optimization that avoids vertically scaling when the
vertical size stays the same.
The change from double/sample only to both saved about 20% on
scalebench time (which also loads/saves the images)
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