I2P Address: [http://git.idk.i2p]

Skip to content

Convert graphs to SVG

zzz requested to merge zzz/i2p.i2p:svg-graphs into master

For faster rendering, reduced memory usage, and crisper graphs and graphs text. This builds on the rrd4j 3.10 changes in 2.6.0 that support custom ImageWorkers.

New classes are:

  • SimpleSVGMaker, a from-scratch low-level svg generator
  • SimpleSVGGraphics2D, a Graphics2D adapter built on SimpleSVGMaker
  • SimpleSVGImageWorker, a rrd4j ImageWorker adapter built on SimpleSVGGraphics2D

The first two classes are a replacement for the license-incompatible jfreesvg, in about 1/4 of the size. They implement what is necessary for rrd4j, plus some extra features that will be used for SVG identicons and SVG map overlays, which will follow in later MRs. There are numerous unimplemented Graphics2D methods and features that will throw UnsupportedOperationExceptions.

Tested extensively over several months; a related set of changes, based on jfreesvg, has been merged and tested on I2P plus.

Merge request reports