Revision history for SVG-Rasterize 0.003001 Thu Jun 3 20:36:38 NZST 2010 - Main purpose for this (kind of premature) release: Fixes bug in SVG::Rasterize::Cairo that prohibit the specification of an output file name. - New dependency Pango (1.220 or higher)...postponed in order to allow testing my perl 5.8.9 installation. - Fixes bug in validation of attributes with a list of valid values. 0.003000 Wed Jun 2 20:41:08 NZST 2010 Identical to 0.002003. 0.002003 Wed Jun 2 20:34:37 NZST 2010 (unpublished) - Prepared the framework for greater flexibility in output formats etc.. - Docu fixes and expansion. 0.002002 Tue Jun 1 21:08:09 NZST 2010 (unpublished) - Partial rendering of paths, polylines, and polygons if they are in error. - Consequent use of Params::Validate (or documentation that parameters are not validated). - Documentation of diagnostics. - Docu fixes and expansion. 0.002001 Sun May 30 16:21:15 NZST 2010 (unpublished) - New dependency Exception::Class (1.29 or higher). - Proper error handling as required by spec (except partial rendering of path, polyline, and polygon). - Docu fixes. - All methods return explicitly. 0.002000 Tue May 25 15:42:09 NZST 2010 Documentation updates. 0.001006 Tue May 25 15:06:16 NZST 2010 (unpublished) - Adds support for all basic shapes - rect - circle - ellipse - (line was already supported) - polyline - polygon - Revision of large parts of the docu. 0.001005 Sun May 23 21:39:39 NZST 2010 - Color filling (no gradients, patterns etc.). - (Semi-)transparent stroking and filling including different opacity values for stroke and fill and without the fill shining through transparent stroke. - Further newly supported properties (all fill and stroke properties): - fill-rule - stroke-linecap - stroke-linejoin - stroke-miterlimit - stroke-dashoffset - stroke-dasharray - Bugfixes: - in processing of explicit 'inherit' property values - in path data processing - color values are clamped at presentation time instead of parsing time (as recommended by the spec). 0.001004 Fri May 21 21:19:54 NZST 2010 (unpublished) - Elliptical arcs including example script. 0.001003 Thu May 20 19:59:30 NZST 2010 (unpublished) - Support for all path commands except elliptical arc. - Core documentation up-to-date. 0.001002 Sun May 16 19:33:22 NZST 2010 - The final transformation matrix is now applied by the rasterization engine and not by SVG::Rasterize. This is necessary for correct stroke-width handling with inhomogeneous scaling and skewing. - Introduces partial path support. All valid path data strings are swallowed, but only moveto, closepath, and lineto commands are supported, the rest is ignored. - Reorganizes SVG::Rasterize::Regexes into a set of hashes. The namespace pollution became uncontrollable. 0.001001 Thu May 13 20:59:13 NZST 2010 (unpublished) - Further consolidates the usage of attribute checking and processing using regexes in SVG::Rasterize::Regexes. - Further completion of %SVG::Specification::ATTR_VAL. 0.001000 Wed May 12 21:00:58 NZST 2010 Identical to 0.000009. 0.000009 Wed May 12 20:55:57 NZST 2010 (unpublished) - Introduces SVG::Rasterize::Specification, SVG::Rasterize::Properties, and SVG::Rasterize::Colors. These files are at least semiautomatically created from the DTD or human readable specification. This hopefully finalizes the general structure of the framework to deal with attributes and properties. - Commonly uses regexes are outsourced in SVG::Rasterize::Regexes leading to much cleaner code. - Unsetting of hooks (to undef) now passes parameter validation. 0.000008 Thu May 6 13:28:45 NZST 2010 - Corrects docu issues that I have only seen unce uploaded. - Removes POD that slipped into README making the CPAN version look empty. - Homogenizes interface of new and rasterize. The rasterize method now accepts temporary values for (the relevant) object attributes. - Input objects are now validated by interface, not by class, allowing generic DOM objects (not necessarily SVG subclasses) to be rendered. - The rasterization backend is initialized as early as possible allowing early in_error. Makes the root element even less special. 0.000007 Mon May 3 14:41:06 NZST 2010 - normalization of attribute values according to XML specification - revised docu 0.000006 Sun May 2 22:09:43 NZST 2010 (unpublished) - Introduction of hooks. - Set up framework for support of styling properties. Only very few are supported, though. - Examples directory. Only one very simple example so far. - Tested on Perl 5.8.9 with only the documented dependency modules. 0.000005 Fri Apr 30 13:15:59 NZST 2010 (unpublished) Changed namespace from SVG::Render to SVG::Rasterize. It's much more specific. 0.000004 Fri Apr 30 11:22:36 NZST 2010 (unpublished) - Reorganization of the viewport initialization. The root svg element is much less special now. - State only uses the name and attributes of a node. The only exception is the provision of the nextChild method. The node object is still saved for the use in hooks, but it is not used. The distinction between parsing a DOM tree or a file is entirely made in SVG::Render. - Revised the concept of length to number mapping preparing it for the support of relative lengths. 0.000003 Thu Apr 29 15:51:16 NZST 2010 (unpublished) - (Almost) full documentation of SVG::Render and SVG::Render::State. 0.000002 Wed Apr 28 19:33:09 NZST 2010 (unpublished) - Full support for the transform attribute. - Support for absolute units. - Initial viewport including viewBox and preserveAspectRatio. 0.000001 Sun Apr 25 19:43:28 NZST 2010 (unpublished) First release, proof of concept only. Can only draw black lines of fixed width. Shows successful deployment of Cairo.