]> git.imager.perl.org - imager.git/blobdiff - Changes
support for generic fills for box and arc, with solid, hatched
[imager.git] / Changes
diff --git a/Changes b/Changes
index da865f889893671c65a59abf01052256e8dd381c..745eee1ca32b287a781742871d433623cc32363a 100644 (file)
--- a/Changes
+++ b/Changes
@@ -365,7 +365,7 @@ Revision history for Perl extension Imager.
         - Win32 support for jpeg
         - Win32 support for tiff
         - base level error reporting code added, I still need to modify
         - Win32 support for jpeg
         - Win32 support for tiff
         - base level error reporting code added, I still need to modify
-        older code to use it
+          older code to use it
         - fix translate=>'giflib' handling of single-colour images.  
           Previously a single colour image would cause an error in 
           MakeMapObject().
         - fix translate=>'giflib' handling of single-colour images.  
           Previously a single colour image would cause an error in 
           MakeMapObject().
@@ -374,90 +374,135 @@ Revision history for Perl extension Imager.
         - minor doc fixes for transparent gifs
         - make it less error-prone to write transparent gifs
         - documented the options for reading raw images
         - minor doc fixes for transparent gifs
         - make it less error-prone to write transparent gifs
         - documented the options for reading raw images
-       - Changes switched to use spaces for formatting
-       - switch gif.c to new error reporting with related changes to
-         Imager.xs, Imager.pm
+        - Changes switched to use spaces for formatting
+        - switch gif.c to new error reporting with related changes to
+          Imager.xs, Imager.pm
         - each of the image formats now have their own test file,
           extracted from t10formats.t, usually with som extra tests
         - Added flip() and docs to Imager.pm and i_flipxy to image.c.
           Added testcases too.
         - each of the image formats now have their own test file,
           extracted from t10formats.t, usually with som extra tests
         - Added flip() and docs to Imager.pm and i_flipxy to image.c.
           Added testcases too.
-       - Fixed an overflow bug in png.c
-       - added the colors parameter to Imager::read() which receives 
-       the arrayref of colours that i_readgif(_scalar) returns
-       - fixed a problem in makemap_addi in quant.c where only the first
-       image was compared against the palette when the palette was being 
-       refined.  I screwed up on this originally (TC).  This is the other
-       half of a fix for Leolo's lmfixed problem <sigh>.
-       - makemap_addi() now only puts colours into the palette that it
-       found while optimizing the palette (so we don't get 256 colour
-       palettes for 2 colour images :)
-       - initial implementation of a row-based interface to low-level
-       images (for performance)
-       - changed Imager::read() for GIF so that the arrayref pointed to 
-       by the ref supplied in colors contains Imager::Color objects 
-       instead of more arrayrefs, keep this interface stable until we 
-       can make an informed choice about i_readgif()
-       - incorporated Micksa's faxable tiff support, treating as a type
-       of tiff rather than a separate format
-
-~~~~~~~~~~~~~^ ^ ^~~~~~~~~~~~~~
-
-
-0.40    TODO list
-        iolayer:
-        - Add scalar/mmap to iolayer
-        - Add close() code to iolayer
-        - Merge callback interface into iolayer
-        - Add interface for writing to all formats but tiff
-        - Add interface for reading for png (started), 
-          gif (merge with cb patch), ppm and raw
-        - Add make new tests once all formats support io_layer
-        - Implment the maxread threshold (Indicates how far 
-          a library can read before it indicates that it's done).
-
-        MultiImage & metadata support:
-        - Figure what interface should be between C and perl?
-        - How to store data in the C interface for tags/metadata?
-
-       Good stuff:
-       - matrix based colour transformations, for RGB to grayscale
-       and simple linear other conversions, see design/colmatrix.txt
-       - image colour transformations based on input images, see 
-       design/cmyktorgb.txt for Addi's description
-       - eventually support tiff's madness
-
-        Old sins:
-        - Make sure everything is doable with the OO interface
-        - Split the other classes into seperate files
-        - Compile with memory debugging enabled and fix leaks
-        - dynaload.c is strongly tied to perl
-       
-       - should i_readgif returned colormap be an arrayref of 
-       Imager::Color objects?  Note that this will break 
-       compatibility with previous releases.
-
-       - should Imager::Font be split into a base class whose  
-       new chooses a base class (ttf, t1 or win32?) to 
-       instantiate.  Currently Imager::Font uses if() statements to
-       select between each type of font.  It should.
-
-       - should we overload <=> or cmp for Imager::Color objects?
-        too many worms, leave it out
-
-        Documentation:
-        - Add to the documentation
-        - Write a tutorial?
-        - Write a guide to installing the helper libraries
-        - Go through the entire project and add comments in pod
-          so doco.perl can be used to read them.
-
-        - should the interlace option for reading raw images have 
-          symbolic names in the OO interface?
-
-===================================================
+        - Fixed an overflow bug in png.c
+        - added the colors parameter to Imager::read() which receives 
+          the arrayref of colours that i_readgif(_scalar) returns
+        - fixed a problem in makemap_addi in quant.c where only the first
+          image was compared against the palette when the palette was being 
+          refined.  I screwed up on this originally (TC).  This is the other
+          half of a fix for Leolo's lmfixed problem <sigh>.
+        - makemap_addi() now only puts colours into the palette that it
+          found while optimizing the palette (so we don't get 256 colour
+          palettes for 2 colour images :)
+        - initial implementation of a row-based interface to low-level
+          images (for performance)
+        - changed Imager::read() for GIF so that the arrayref pointed to 
+          by the ref supplied in colors contains Imager::Color objects 
+          instead of more arrayrefs, keep this interface stable until we 
+          can make an informed choice about i_readgif()
+        - incorporated Micksa's faxable tiff support, treating as a type
+          of tiff rather than a separate format
+        - t/t70newgif.t now checks for gif support
+        - added the convert() method
+        - Added support for transparent to alpha conversion during loading
+          of png files.  Note that libpng 1.0.1 is broken in handling this,
+               we know that 1.0.5 works.
+        - support for writing PGM (portable gray map) files
+        - Fix for i_gifread_low() for images with only a local and no global
+          colormap and an abort if no colormap is present (which is legal
+          in gif).
+        - several fixes to i_readgif_low()
+       - Fixed crop() method so that it is consistent with documentation.
+        - make clean now removes the testout directory
+       - added tests for the OO interface for tiff, added an option to
+         choose the resolution for fax tiffs, removed some unused code,
+         fixed minor problems with Imager::write() handling of image types
+        - changed README note on libgif bug to refer to t105gif.t instead
+         of t10formats.t
+
+0.39  pre1
+       - split Imager::Font into a base, *::Type1 and *::Truetype
+        - writing faxable tiff now allows 2 and 4 channel images
+        - virtual image interface - 8-bit/sample images
+        - paletted images
+        - 16-bit/sample images
+        - masked images
+        - writing non-8bit images to raw
+        - writing   ''       ''   to tiff
+        - i_convert support for high-bit images and paletted images
+        - i_copy for high-bit and paletted images
+        - tests for rubthru
+        - rubthru can now rub a 2 channel image over a 1 or 3 channel 
+          image
+        - rubthru for high-bit images
+        - i_readgif_multi functions, which return all the frames from a
+          GIF file, along with a bunch of meta-information as tag
+        - OO interface to tags
+        - OO interface read_multi() to read multi-image files (just GIF
+          so far)
+        - documentation for the multi-image GIF reading and tags
+        - rotate() method with rotate by steps of 90 degrees (and docs)
+        - fixed a bug in i_img_pal_new_low()
+        - added gaussian to the filters list
+        - documented the individual filters
+       - fixed the right-hand side of bounding boxes for TT fonts 
+         where the last character overlaps the advance width (eg. 
+         italic fonts)
+        - added rotation by exact amounts in degrees or radians,
+          implemented using the matrix idea from Addi.  The procedural
+          matrix transformer is exposed, but still needs testing (as XS)
+          and needs an OO interface, hopefully with some helper tools,
+          like the preset interface with ->convert().
+        - MY::postamble() in Makefile.PL included a broken rule 
+          (Makefile.PL 1.13.2.5)
+       - support for GDI fonts under Win32
+       - made that work for cygwin too (needs the w32api package)
+       - freetype1 support under Win32
+       - t1lib support under Win32
+       - fixed a minor bug in font.c (invalid font files caused a SEGV)
+       - checked cygwin for both t1lib and freetype1
+        - freetype 2 support
+        - exposed the matrix_transform() function to the OO interface
+        - added Imager::Matrix2d convenience class
+        - support for setting the resolution when writing to PNG
+        - retrieve physical resolution to tags when reading from PNG
+        - found an XS bug in the interface to i_tags_add()
+        - fixed handling of writing text to a channel with freetype2 
+          (sometimes the edge of a character would damage the edge of the 
+          previous character)
+        - some utf8 support for freetype2
+        - some vertical layout support for freetype2
+        - named parameters for specifying colors, with quite a few options.
+       - glyph size issues for freetyp2
+        - minor problem in handling of canon option
+        - low-level bmp writing (moving it to laptop)
+        - Windows BMP reading and writing
+        - added OO interfaces for the mosaic, bumpmap, postlevels and
+          watermark filters
+        - added t/t61filters.t to test the filters
+       - fixed some problems in jpeg handling from the exp_represent merge
+        - fixed buffer flushing for wiol jpeg code
+       - added some tests that will hopefully catch it in the future
+        - added the OO interfaces to the mosaic, bumpmap, postlevels and
+          watermark filters, and documented them
+        - fixed a sample size conversion problem in i_gpixf_d() etc.
+        - added simple color representation conversion functions (used
+          in i_fountain().)
+        - added the fountain filter:
+          - creates gradients similar to paint software
+          - 90% support for GIMP gradient files
+          - OO interface and documentation
+          - Imager::Fountain for building/loading fill definitions
+          - named value translation for filters
+        - added a generic fill mechanism
+          - created versions of i_box() and i_arc() that can fill using
+            generic fills
+          - solid generic fills (with alpha blending if asked for)
+          - hatched generic fills (with some options)
+          - fountain generic fills
+          - sample code to generate an examples page
+
+=================================================================
 
         For latest versions check the Imager-devel pages:
         http://www.eecs.umich.edu/~addi/perl/Imager/devel/
 
 
         For latest versions check the Imager-devel pages:
         http://www.eecs.umich.edu/~addi/perl/Imager/devel/
 
-===================================================
+=================================================================