Changes between Version 1 and Version 2 of GSoC_SVG_Symbols_SECOND_DRAFT_OF_THE_MS_RFC
- Timestamp:
- Aug 10, 2009, 10:46:19 AM (15 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
GSoC_SVG_Symbols_SECOND_DRAFT_OF_THE_MS_RFC
v1 v2 2 2 Kiran Anjaneya Varma Alluri 3 3 August 10, 2009 4 1 Overview 4 1 Overview. 5 5 6 Popular tools such as Inkscape generate SVG graphics natively. So far MapServer has not supported the SVG format, which 6 7 leaves many users with the extra work of converting between formats. This RFC aims to introduce support for SVG graphics 7 8 as an alternate method to define vector symbols in the MapServer symbolset. 8 9 9 2 Method 10 2 Method. 11 10 12 The SVG parsing and rendering will be triggered by the following syntax: 11 13 SYMBOL … … 15 17 The choice for using a SYMBOL for the task is to allow for the reuse of the SVG symbol easily within classes. 16 18 17 3 Technical Overview 19 3 Technical Overview. 20 18 21 In order to support the SVG format, we make use of the AGG library. The reasons for going with the AGG library are: 19 22 1. It has already been integrated into MapServer. While other popular libraries, such as Cairo, can be used, they would … … 45 48 46 49 47 4 Files Added and Modified 48 4.1 AGG/SVG Parser 50 4 Files Added and Modified. 51 52 4.1 AGG/SVG Parser. 49 53 The SVG parsing and pixmap generation functions will be stored in source files stored at 50 54 / maps e rve r / r e n d e r e r s / agg / svg / … … 55 59 All files are within the C++ ’mapserver’ namespace. 56 60 57 4.2 Rendering Functions 61 4.2 Rendering Functions. 58 62 The rendering functions in mapgd.c will be modified to support the SVG type. These include all the basic shapes such as 59 63 points, lines, circles etc. These will make use of the createBrushFromSVG function to render to a GD pixmap. 60 64 61 4.3 Lexical Analyzer and Parser 65 4.3 Lexical Analyzer and Parser. 62 66 The maplexer.l file will be modified to support two new keywords (SVG and SVGPATH). The mapsymbol.h file be modified 63 67 by adding SVG related data to the symbolObj structure along with basic enumerations and defines. The mapsymbol.c file’s … … 65 69 66 70 67 5 Documentation 71 5 Documentation. 68 72 The following documentation needs to be prepared for this project: 69 73 1. Missing SVG specification document.