1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267
|
Revision history for Graph::Easy::As_svg:
0.28 2020-10-20
* Fix some stale POD.
0.27 2017-09-08
* Fix a circular requires/provides.
+ See: https://github.com/shlomif/Graph-Easy-As_svg/issues/1
+ Thanks to @ssoriche for the report, Grinnz for the pull-req and other
people from #distzilla on irc.perl.org for providing insights.
0.26 2017-04-15
* dzil fixes - bump the $VERSION in lib/Graph/Easy/As_svg.pm .
+ See: https://rt.cpan.org/Ticket/Display.html?id=121124
+ Thanks to Gintautas Grigelionis .
0.25 2017-04-12
* Convert "#!/usr/bin/perl -w" shabangs to "#!/usr/bin/env perl" .
+ Hopefully to avoid test failures such as:
+ http://www.cpantesters.org/cpan/report/40dc5da0-18b6-11e7-ba6a-0a894c2cdaca
0.24 2017-04-03
* Convert from Module-Install to Dist-Zilla and did some cleanups.
+ Hopefully fix https://rt.cpan.org/Public/Bug/Display.html?id=120889
( Cannot install without '.' in @INC .)
+ Now maintained at https://github.com/shlomif/Graph-Easy-As_svg .
2008-05-22 v0.23 Tels 137 tests - Fix, fix, fix, fix the bugs...
* require Graph::Easy v0.63 (for correct graph attribute output)
* suppress attributes without "-" (like "labelpos" vs. "label-pos")
* output the "font-family" style to support the "font" attribute
* center graph when the graph label is wider than the graph itself
* shift graph by half the border with down and right to prevent the border
from getting cut off
* don't draw end arrows on undirected edges (with more than one cell)
* "rounded" nodes have their corners correctly filled with the background
color (f.i. when inside a group) (Thanx Dieter Wunderer!)
* quote "&" in links (Thanx Emmanuel Quevillon!)
* links on edge labels were missing (Thanx Emmanuel Quevillon!)
* tweak width of digits to create more fitting labels (Thanx Emmanuel Quevillon!)
* better text for labels (alignment and tweaks) (Thanx Emmanuel Quevillon!)
2008-03-30 v0.22 Tels 127 tests
* require Graph::Easy v0.62
* remove Build.PL (bundle Module::Install 0.71)
* fix class attribute set on primary class, this colors all nodes red:
node { class: red; } node.red { color: red; }
* amend INSTALL
* don't needlessly output polygon points in comments
* fix suppression of attributes (included all the added ones)
* fix support for point-style/point-shape
* anonymous nodes:
+ fix comment
+ fix misplacement
* fix multi-line labels (Thanx Amanda B. Hickman!)
+ multi-line graph labels no longer cross into content
+ render alignments like \r,\l etc. properly
+ remove escapes (like \l etc.) from title for a better title-tag
* better rendering of open/filled stars
* a set fontsize on the graph no longer affacts nodes/edges/groups
* filled arrows fall back to the edge color (instead of inherit) if
the fill attribute is not set
2006-12-17 v0.21 Tels 93 tests
* require Graph::Easy v0.50
* fixes for the changes attribute system in Graph::Easy v0.50
* fix alignment of node labels under align: left, align: right etc.
* don't output needless things like 'fill=""' or default text-anchor
* handle borderwidths like "20px" and "2em"
2006-09-03 v0.20 Tels 89 tests
* require Graph::Easy v0.47
* fix invalid output on multi-line aligned labels
* fix alignment of labels on loops and vertical edges (text-align takes
"start" or "end", not "left" or "right" - duh!)
* correct the placement of multi-line node labels, especially when
using \r, \l or \c instead of \n
* fix warning and missing arrows when using edge { arrow-style: open; }
* fix undef warning when using closed arrows
* fix problem with dasharrays when using groups
2006-08-13 v0.19 Tels 89 tests - Fix, fix, fix, fix the bugs...
* single-line labels were not properly quoted (for "<>&)
* add encoding="UTF-8" to XML header to make encoding explicit
* require Graph::Easy v0.46
* require Image::Info v1.22
* add a Build.PL file
* add support for color schemes
* fix for very wide borders:
+ make dash:dot ratio 3:1 vs. 2:1
+ don't include "stroke-linecap: round" for diamon shapes
+ scale the dasharray according to stroke-width
* remove the workaround for Firefox bug with links:
+ it works now in the latest Firefox, so upgrade!
+ In the newest Firefox, it spawned a second new window
2006-04-17 v0.18 Tels 87 tests
* require Graph::Easy v0.44
* require Image::Info v1.20
* don't output empty <text...></text> tags
* _svg_background() returns SVG code instead of modifying $$svg
* don't draw borders on Group::Cells
* fix background color for edges and invisible nodes inside groups
* fix alignment for labels
* size-correction for overly big arrows now also works for vertical edges
* close the hole in open arrows on bold/broad/wide edges
* edge corners no longer have holes
* close the gaps on edges with style double
* fix the fontsize (was missing a "px") and also use 16 as the base vs. 14
This makes the text independed from the user setting in the browser, and
also increases it to be more readable.
* always include the fill, to help renderers that can't cope with CSS styles
* fix rendering of multiline labels:
+ lineheight is 18px vs 1em to not have the lines drawn together
+ no longer contain a spurious empty last <tspan>-pair
* reorder output order of elements: first groups, then nodes, then edges
* correct the displacement on edge end/start points for wide/broad/bold edges
* render selfloops with paths
* don't render invisible edges
* a set background on edge cells did have a stray border
* edge labels have a 80% font-size as default
* only add 0.5EM (currently 8 pixels) as padding around the graph (was 14)
* add a few characters to make the _text_length() calculation more accurate
* a Node::Empty should not be rendered
* font is really font-family in CSS section
* support point-shaped nodes with point-style: invisible
2006-01-29 v0.17 Tels 73 tests
* use Module::Install (and bundle it)
* require Graph::Easy v0.40
* require Image::Info v1.17 (for nodes with "shape: img")
* fix VERSION in packages as to not conflict with the ones from Graph::Easy
* add support for:
+ invisible edges
+ nodes with "shape: img" (Thanx to Jeff Schiller for pointing out
svg:image!)
* add an onclick-handler to links to force them to open in the current
window/tab - work around bug in FF 1.5 (Thanx Jeff Schiller again!)
* put the link around the node shape, not just the text. Makes it easier
to hit the link.
* nodes with shape: point get a link, too (although the area is tiny)
2006-01-01 v0.16 Tels 72 tests
* require Graph::Easy v0.38
* use $self->angle() to get the correct shape rotation
* forgot to limit precision on some edge-line coordinates
2005-12-18 v0.15 Tels 72 tests
* require Graph::Easy v0.36
* fix edge crossings with different widths (wide vs. broad etc)
* add rendering of edge joints
2005-12-10 v0.14 Tels 72 tests
* require Graph::Easy v0.35
* quote "&", "<", ">" and '"' in links and titles (Thanx Mutante!)
* add "xlink:show" and "xlink:target" on links to open them in
a new window (but Firefox ignores this anyway, see mozilla bug #315389)
2005-12-04 v0.13 Tels 72 tests
* require Graph::Easy v0.34
* handle multi-celled nodes
* better support labels on vertical edges
* fix unitialized warning in line 298
* use strict; in Makefile.PL
* support svg_info fields (mainly for wikipedia SVG integration)
2005-11-13 v0.12 Tels 64 tests
* require Graph::Easy v0.33
* add PREREQ_FATAL to Makefile.PL
* support bold-dash, broad and wide edge/border styles
* correct node-sizes to accomodate border-width
* shorten edge-pieces with labels a bit
* implement a crude version of _text_length(), returning the text length
in pixels depending on EM and the string content ("WW" vs. "ii"). This
stops nodes from being overly broad with lots of padding.
* don't generate invalid SVG on labels/node names with "--", "&", "<" or ">"
* limit precision on edge-lines and arrows to 2 digits (instead of 4)
2005-11-06 v0.11 Tels 56 tests
* limit precision to 2 digits (instead of 4) for coordinates
* put common attributes on double-border shapes into a <g> to shorten output
* indent output by ' ' instead of ' ' to shorten it a bit
* support "rotate" attribute on Nodes
2005-10-30 v0.10 Tels 56 tests
* require Graph::Easy v0.31
* don't draw background if bg eq ''
* add support for attribute "font-size"
* add support for attribute "text-style"
* calculate the correct size for edge cells with a label
* include xmlns:xlink too, to make Firefox 1.5x happy
* include version of Graph::Easy::As_svg in output, too
* for edge labels: fallback to the color of the edge did not work
* triangle-shaped nodes have equal height/width (if possible)
* the "autolink" and "link" attributes correctly create links with
mouseover titles
* nodes with shape "none" result no longer in invalid SVG
* only include the actually used defitinons, that shortens the output,
especially for small graphs
* don't need to output "stroke-width" for including arrow heads, this
shortens the output a bit
* shorten output by grouping multiple lines of an edge together
* text in (invert)-triangle etc nodes is better displaced to fit better
* better rendering of multi-line labels on edges
* support multi-line labels on nodes (correct hight, multi-line text)
* output fontsize is 14 pixels instead of 11 (for bigger graphs in FF 1.5)
* close gaps in hor/ver edge pieces with style "double"
* examples/as_svg: input utf8 from STDIN, output utf-8 to STDOUT
* Nodes with "shape: rounded" are rounded by a fixed amount
* edge crossings with different styles and colors are now rendered correctly
* output a title for the SVG graph
* output "width" and "height" instead of viewbox on <svg> for Firefox 1.5
* render the graph label with label-pos bottom or top, incl. optional link
2005-09-23 v0.09 Tels 41 tests
* require Graph::Easy v0.30
* fix README
* fix SVG header (standlone="yes", xmlns for <svg tag)
2005-09-18 v0.08 Tels 40 tests
* require Graph::Easy v0.29
* 'fill' defaults to white
* edge labels use "label-color" and fall back to "color"
* improve support for multi-line labels
* fix bidirectional edges (render their arrows correctly)
* better center the text on triangle|invtriangel shaped nodes
* better node sizes for the various shapes
* draw graph background, border and label if nec.
* double lines on edges are rendered better at the arrow-ends
* add support for the following node shapes:
+ invhouse, octagon, hexagon, septagon, parallelogram, trapezium
* draw background for non-rect nodes
* correctly draw "border-style: double" on the various node shapes
* draw backgrounds for edge cells (for groups and when background is set)
* add tests for POD via Test::POD (t/pod.t)
* add tests for POD coverage via Test::POD::Coverage (t/pod_cov.t)
2005-09-04 v0.07 Tels 38 tests
* require Graph::Easy v0.27
* added tests for as_svg_file()
* fix rendering of edge cells to be compatible with new Graph::Easy code
* arrow lines on non-solid edges are now solid (instead of dashed etc)
* render the different arrow styles (closed, open, filled)
* render nodes with "shape: point"
* produce shorter code by using default attributes/classes better
* render node shapes: diamond, house, triangle, invtriangle
* render edge style "double-dash"
* "fill" is the fill color, "background" the background
* better skipping of non-SVG attributes
2005-07-13 v0.06 Tels 31 tests
* require Graph::Easy v0.22
* As_svg: use Graph::Easy to allow a require w/o Graph::Easy
Seperated Graph::Easy::As_svg from Graph::Easy:
2005-06-25 v0.05 Tels 31 tests
* Much more complete: output class attributes, stylesheets etc.
* generate SVG 1.1
* use "stroke-linecap: round" to generate nicer arrow heads
* shorten output by using a few tricks
* render node borders in different styles (dotted etc)
* render edge lines in different styles (dotted etc)
For older CHANGES, please see the Graph::Easy package.
|