Please visit http://svgpp.org/ for description, tutorial and reference.
####About####
SVG++ library can be thought of as a framework, containing parsers for various SVG syntaxes, adapters that simplify handling of parsed data and a lot of other utilities and helpers for the most common tasks. Take a look at Tutorial to get the idea about what it is.
####SVG++ features####
-
Is a header-only library
-
Can be used with any XML parser
-
Compile time configured - no virtual functions
-
Minimal runtime overhead - you pay only for what you get
-
Has wide range of possible uses:
- Fully functional, conforming SVG viewers
- Simple in-app SVG rasterizers
- Import modules of vector editing software
- Implementing path-only input of SVG format with minimal efforts in any graphics or math software
-
Requires only Boost library itself (demo, tests and sample have their own requirements)
-
Compatible with C++03, but requires conforming implementation, due to heavy usage of templates
-
Supports any character type (
char
andwchar_t
). Other (Unicode from C++11) were not tested, but should be ok.
####SVG 1.1 features covered by SVG++####
- Path data - parsing, simplification
- Transform list - parsing, simplification
- Color, including ICC color - parsing
- Lengths - highly configurable handling of SVG lengths, full support of all SVG length units
- Basic shapes - optional conversion to path
- Style attribute - parsing, taking in account differences in parsing presentation attributes and style properties
- Automatic marker positions calculation
- Viewport and viewbox handling
####SVG++ is NOT####